(()=>{"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:()=>_t,controls_typeLists:()=>ut,lists_zip:()=>at,lists_zip_container:()=>rt,lists_zip_item:()=>pt,unpack_iterable_object:()=>lt,variables_change:()=>st,variables_get:()=>it,variables_global:()=>ot,variables_set:()=>nt});var i={};t.r(i),t.d(i,{base_setup:()=>dt,controls_delay:()=>ht,controls_end_program:()=>Mt,controls_except:()=>ft,controls_finally:()=>Pt,controls_flow_statements:()=>Ct,controls_for:()=>gt,controls_forEach:()=>ct,controls_for_range:()=>At,controls_if:()=>Ot,controls_if_else:()=>Nt,controls_if_elseif:()=>St,controls_if_if:()=>Lt,controls_lambda:()=>vt,controls_main:()=>Tt,controls_pass:()=>Yt,controls_range:()=>mt,controls_repeat_ext:()=>Ft,controls_thread:()=>Vt,controls_try:()=>Dt,controls_try_finally:()=>Rt,controls_whileUntil:()=>Et,datetime_fromtimestamp:()=>wt,do_while:()=>bt,garbage_collection:()=>Xt,get_mem_alloc:()=>yt,get_mem_free:()=>Ut,get_unique_identifier:()=>Bt});var n={};t.r(n),t.d(n,{base_map:()=>ue,generate_cartesian_product:()=>re,math_arithmetic:()=>Wt,math_bit:()=>Jt,math_constant:()=>Ht,math_constant_mp:()=>xt,math_constrain:()=>te,math_dec:()=>jt,math_indexer_number:()=>ie,math_map:()=>ee,math_max_min:()=>zt,math_number:()=>Gt,math_number_base_conversion:()=>Zt,math_random:()=>$t,math_random_seed:()=>ne,math_round:()=>se,math_selfcalcu:()=>Kt,math_to_int:()=>qt,math_trig:()=>Qt,text_to_number:()=>oe,text_to_number_skulpt:()=>_e,turn_to_int:()=>ae});var s={};t.r(s),t.d(s,{ascii_to_char:()=>he,char_to_ascii:()=>Me,number_to_text:()=>Oe,os_system:()=>Ge,text:()=>le,text_capital:()=>Se,text_center:()=>Ne,text_char:()=>Te,text_char_at:()=>Ee,text_char_at2:()=>ce,text_char_at3:()=>Ue,text_compareTo:()=>ye,text_compare_to:()=>Le,text_create_with_container:()=>Ve,text_create_with_item:()=>be,text_encode:()=>we,text_equals_starts_ends:()=>Ae,text_eval:()=>ke,text_find:()=>De,text_format:()=>Ye,text_format_noreturn:()=>Be,text_join:()=>de,text_join_seq:()=>fe,text_length:()=>me,text_random_char:()=>Re,text_replace:()=>Pe,text_split:()=>Fe,text_strip:()=>ve,text_substring:()=>ge,text_substring2:()=>Ce,text_substring3:()=>Xe,text_textarea:()=>Ie});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Ai,enumerate:()=>Li,list_many_input:()=>li,list_tolist:()=>hi,list_tolist2:()=>gi,list_trig:()=>ai,lists_2d_get_col_row_data:()=>Je,lists_2d_get_data_with_col_row:()=>Ke,lists_append_extend:()=>$e,lists_change_to:()=>pi,lists_change_to_general:()=>Ti,lists_clear:()=>si,lists_create_with:()=>Qe,lists_create_with2:()=>Mi,lists_create_with_container:()=>qe,lists_create_with_item:()=>ze,lists_create_with_noreturn:()=>Ii,lists_create_with_text:()=>je,lists_create_with_text2:()=>Oi,lists_del_general:()=>di,lists_find:()=>ui,lists_getIndex3:()=>mi,lists_getSublist3:()=>ci,lists_get_index:()=>xe,lists_get_random_item:()=>ti,lists_get_random_sublist:()=>ei,lists_get_sublist:()=>We,lists_insert_value:()=>ii,lists_insert_value2:()=>Ri,lists_pop:()=>_i,lists_remove_at:()=>oi,lists_remove_at2:()=>Ci,lists_reverse:()=>ni,lists_setIndex3:()=>Ei,lists_set_index:()=>Ze,lists_sort:()=>ri});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ki,dicts_add_or_change:()=>Yi,dicts_clear:()=>Xi,dicts_create_with:()=>Ni,dicts_create_with_container:()=>Di,dicts_create_with_item:()=>fi,dicts_create_with_noreturn:()=>xi,dicts_deldict:()=>wi,dicts_delete:()=>Vi,dicts_get:()=>Fi,dicts_get_default:()=>vi,dicts_items:()=>yi,dicts_keys:()=>Pi,dicts_length:()=>Bi,dicts_pop:()=>Gi,dicts_setdefault:()=>Hi,dicts_to_json:()=>Ki,dicts_to_to:()=>Qi,dicts_todict:()=>Wi,dicts_update:()=>bi,dicts_values:()=>Ui,json_to_dicts:()=>Ji});var u={};t.r(u),t.d(u,{logic_boolean:()=>tn,logic_compare:()=>qi,logic_compare_continous:()=>zi,logic_is:()=>on,logic_is_in:()=>sn,logic_negate:()=>$i,logic_null:()=>en,logic_operation:()=>Zi,logic_tobool:()=>_n,logic_true_or_false:()=>nn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>fn,sdcard_use_spi_init:()=>Dn,storage_can_write_ornot:()=>hn,storage_change_dir:()=>Sn,storage_close_file:()=>On,storage_delete_file:()=>cn,storage_file_seek:()=>Cn,storage_file_tell:()=>Rn,storage_file_write:()=>ln,storage_fileopen:()=>an,storage_fileopen_new:()=>rn,storage_fileopen_new_encoding:()=>pn,storage_get_a_line:()=>dn,storage_get_contents:()=>Tn,storage_get_contents_without_para:()=>In,storage_get_current_dir:()=>gn,storage_get_file_size:()=>En,storage_get_filename:()=>Mn,storage_is_file:()=>Nn,storage_list_all_files:()=>mn,storage_make_dir:()=>An,storage_open_file_with_os:()=>un,storage_rename:()=>Ln});var r={};t.r(r),t.d(r,{procedures_callnoreturn:()=>Xn,procedures_callreturn:()=>yn,procedures_defnoreturn:()=>vn,procedures_defreturn:()=>Yn,procedures_ifreturn:()=>Un,procedures_mutatorarg:()=>bn,procedures_mutatorcontainer:()=>Vn,procedures_return:()=>Bn});var p={};t.r(p),t.d(p,{tuple_change_to:()=>zn,tuple_create_with:()=>kn,tuple_create_with_container:()=>Gn,tuple_create_with_item:()=>Hn,tuple_create_with_noreturn:()=>es,tuple_create_with_text2:()=>xn,tuple_create_with_text_return:()=>Wn,tuple_del:()=>Qn,tuple_find:()=>Zn,tuple_getIndex:()=>Kn,tuple_getSublist:()=>ts,tuple_get_random_item:()=>ns,tuple_get_sublist:()=>is,tuple_join:()=>jn,tuple_length:()=>Jn,tuple_max:()=>qn,tuple_totuple:()=>ss,tuple_trig:()=>$n});var l={};t.r(l),t.d(l,{set_add_discard:()=>ds,set_clear:()=>ls,set_create_with:()=>_s,set_create_with_container:()=>us,set_create_with_item:()=>as,set_create_with_text_return:()=>Os,set_length:()=>rs,set_operate:()=>Is,set_operate_update:()=>Ts,set_pop:()=>ps,set_sub:()=>hs,set_toset:()=>ms,set_update:()=>Ms});var I={};t.r(I),t.d(I,{html_content:()=>gs,html_content_more:()=>As,html_document:()=>Es,html_form:()=>Ss,html_head_body:()=>Cs,html_style:()=>Ls,html_style_color:()=>Ds,html_style_content:()=>Ns,html_text:()=>fs,html_title:()=>Rs});var T={};t.r(T),t.d(T,{attribute_access:()=>Hs,function_call:()=>ws,function_call_container:()=>ks,function_call_item:()=>Gs,raw_block:()=>vs,raw_empty:()=>Vs,raw_expression:()=>Ys,raw_table:()=>Fs,text_comment:()=>bs,text_print_multiple:()=>ys,text_print_multiple_container:()=>Us,text_print_multiple_item:()=>Bs,type_check:()=>Xs});var d={};t.r(d),t.d(d,{controls_type:()=>Qs,controls_typeLists:()=>js,lists_zip:()=>qs,unpack_iterable_object:()=>zs,variables_change:()=>Ks,variables_get:()=>xs,variables_global:()=>Js,variables_set:()=>Ws});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>uo,base_setup:()=>$s,controls_delay:()=>_o,controls_flow_statements:()=>oo,controls_for:()=>io,controls_forEach:()=>Io,controls_for_range:()=>no,controls_if:()=>to,controls_interrupts:()=>po,controls_lambda:()=>ho,controls_main:()=>Zs,controls_millis:()=>ao,controls_nointerrupts:()=>lo,controls_pass:()=>Oo,controls_range:()=>To,controls_repeat:()=>Lo,controls_repeat_ext:()=>Eo,controls_thread:()=>mo,controls_try_finally:()=>eo,controls_whileUntil:()=>so,datetime_fromtimestamp:()=>So,do_while:()=>co,garbage_collection:()=>Ro,get_mem_alloc:()=>Co,get_mem_free:()=>go,get_unique_identifier:()=>Ao,reset:()=>ro,time_sleep:()=>Mo});var M={};t.r(M),t.d(M,{base_map:()=>Jo,generate_cartesian_product:()=>jo,math_arithmetic:()=>Fo,math_bit:()=>Po,math_constant:()=>Do,math_constant_mp:()=>fo,math_constrain:()=>wo,math_dec:()=>bo,math_indexer_number:()=>Ho,math_map:()=>Bo,math_max_min:()=>yo,math_number:()=>No,math_number_base_conversion:()=>ko,math_random:()=>Uo,math_random_seed:()=>Go,math_round:()=>xo,math_selfcalcu:()=>vo,math_single:()=>Yo,math_to_int:()=>Xo,math_trig:()=>Vo,text_to_number:()=>Wo,text_to_number_skulpt:()=>Ko,turn_to_int:()=>Qo});var O={};t.r(O),t.d(O,{ascii_to_char:()=>t_,char_to_ascii:()=>e_,number_to_text:()=>i_,os_system:()=>L_,text:()=>qo,text_capital:()=>l_,text_center:()=>I_,text_char:()=>Zo,text_char_at:()=>o_,text_char_at2:()=>s_,text_char_at3:()=>C_,text_compareTo:()=>R_,text_compare_to:()=>a_,text_encode:()=>g_,text_equals_starts_ends:()=>u_,text_eval:()=>A_,text_find:()=>T_,text_format:()=>m_,text_format_noreturn:()=>c_,text_join:()=>$o,text_join_seq:()=>d_,text_length:()=>n_,text_random_char:()=>__,text_replace:()=>h_,text_split:()=>M_,text_strip:()=>O_,text_substring:()=>p_,text_substring2:()=>r_,text_substring3:()=>E_,text_textarea:()=>zo});var m={};t.r(m),t.d(m,{enumerate:()=>su,list_many_input:()=>W_,list_tolist:()=>iu,list_tolist2:()=>nu,list_trig:()=>G_,lists_2d_get_col_row_data:()=>D_,lists_2d_get_data_with_col_row:()=>N_,lists_append_extend:()=>Y_,lists_change_to:()=>x_,lists_change_to_general:()=>J_,lists_clear:()=>U_,lists_create_with:()=>f_,lists_create_with2:()=>j_,lists_create_with_noreturn:()=>K_,lists_create_with_text:()=>P_,lists_create_with_text2:()=>q_,lists_del_general:()=>Q_,lists_find:()=>B_,lists_getIndex3:()=>z_,lists_getSublist3:()=>Z_,lists_get_index:()=>F_,lists_get_random_item:()=>V_,lists_get_random_sublist:()=>b_,lists_get_sublist:()=>S_,lists_insert_value:()=>X_,lists_insert_value2:()=>tu,lists_pop:()=>k_,lists_remove_at:()=>w_,lists_remove_at2:()=>eu,lists_reverse:()=>y_,lists_setIndex3:()=>$_,lists_set_index:()=>v_,lists_sort:()=>H_});var c={};t.r(c),t.d(c,{dicts_add_change_del:()=>Ou,dicts_add_or_change:()=>ru,dicts_clear:()=>Iu,dicts_create_with:()=>ou,dicts_create_with_noreturn:()=>Eu,dicts_deldict:()=>Mu,dicts_delete:()=>pu,dicts_get:()=>uu,dicts_get_default:()=>au,dicts_items:()=>Tu,dicts_keys:()=>_u,dicts_length:()=>hu,dicts_pop:()=>mu,dicts_setdefault:()=>cu,dicts_to_json:()=>Cu,dicts_to_to:()=>Au,dicts_todict:()=>Ru,dicts_update:()=>lu,dicts_values:()=>du,json_to_dicts:()=>gu});var E={};t.r(E),t.d(E,{logic_boolean:()=>fu,logic_compare:()=>Lu,logic_compare_continous:()=>Su,logic_is:()=>Yu,logic_is_in:()=>vu,logic_negate:()=>Du,logic_null:()=>Pu,logic_operation:()=>Nu,logic_tobool:()=>Vu,logic_true_or_false:()=>Fu});var R={};t.r(R),t.d(R,{sdcard_mount:()=>na,sdcard_use_spi_init:()=>ia,storage_can_write_ornot:()=>Hu,storage_change_dir:()=>zu,storage_close_file:()=>Wu,storage_delete_file:()=>Ju,storage_file_seek:()=>qu,storage_file_tell:()=>ju,storage_file_write:()=>Bu,storage_fileopen:()=>Xu,storage_fileopen_new:()=>yu,storage_fileopen_new_encoding:()=>Uu,storage_get_a_line:()=>Gu,storage_get_contents:()=>ku,storage_get_contents_without_para:()=>wu,storage_get_current_dir:()=>Zu,storage_get_file_size:()=>Qu,storage_get_filename:()=>xu,storage_is_file:()=>ea,storage_list_all_files:()=>Ku,storage_make_dir:()=>$u,storage_open_file_with_os:()=>bu,storage_rename:()=>ta});var C={};t.r(C),t.d(C,{procedures_callnoreturn:()=>ua,procedures_callreturn:()=>_a,procedures_defnoreturn:()=>oa,procedures_defreturn:()=>sa,procedures_ifreturn:()=>aa,procedures_return:()=>ra});var g={};t.r(g),t.d(g,{tuple_change_to:()=>ma,tuple_create_with:()=>pa,tuple_create_with_noreturn:()=>Ca,tuple_create_with_text2:()=>la,tuple_create_with_text_return:()=>Ia,tuple_del:()=>ha,tuple_find:()=>ca,tuple_getIndex:()=>Ta,tuple_getSublist:()=>Ra,tuple_get_random_item:()=>Aa,tuple_get_sublist:()=>ga,tuple_join:()=>Ma,tuple_length:()=>da,tuple_max:()=>Oa,tuple_totuple:()=>La,tuple_trig:()=>Ea});var A={};t.r(A),t.d(A,{set_add_discard:()=>va,set_clear:()=>fa,set_create_with:()=>Sa,set_create_with_text_return:()=>ba,set_length:()=>Na,set_operate:()=>Pa,set_operate_update:()=>Fa,set_pop:()=>Da,set_sub:()=>Ya,set_toset:()=>Xa,set_update:()=>Va});var L={};t.r(L),t.d(L,{html_content:()=>wa,html_content_more:()=>ka,html_document:()=>ya,html_form:()=>Ha,html_head_body:()=>Ba,html_style:()=>Ga,html_style_content:()=>xa,html_text:()=>Wa,html_title:()=>Ua});var S={};t.r(S),t.d(S,{attribute_access:()=>Za,function_call:()=>za,raw_block:()=>Ka,raw_empty:()=>Qa,raw_expression:()=>Ja,raw_table:()=>ja,type_check:()=>qa});var N={};t.r(N),t.d(N,{network_ap_connect:()=>lr,network_connect:()=>_r,network_get_connect:()=>ar,network_get_wifi:()=>pr,network_init:()=>ir,network_is_active:()=>sr,network_open:()=>nr,network_scan:()=>or,network_server:()=>Ir,network_socket_accept:()=>Or,network_socket_bind:()=>dr,network_socket_close:()=>Cr,network_socket_connect:()=>hr,network_socket_init:()=>Tr,network_socket_listen:()=>Mr,network_socket_receive:()=>mr,network_socket_receive_from:()=>Er,network_socket_send:()=>cr,network_socket_send_to:()=>Rr,network_stop:()=>rr,network_wifi_connect:()=>ur,ntptime_address:()=>Nr,ntptime_time:()=>Sr,requests_attribute:()=>Ar,requests_attribute2:()=>Fr,requests_get:()=>gr,requests_get2:()=>fr,requests_method:()=>Lr,requests_post:()=>Pr});var D={};t.r(D),t.d(D,{network_ap_connect:()=>wr,network_connect:()=>Yr,network_get_connect:()=>br,network_get_wifi:()=>Br,network_init:()=>vr,network_is_active:()=>Ur,network_open:()=>yr,network_scan:()=>kr,network_server:()=>Gr,network_socket_accept:()=>Jr,network_socket_bind:()=>xr,network_socket_close:()=>Zr,network_socket_connect:()=>Wr,network_socket_init:()=>Hr,network_socket_listen:()=>Kr,network_socket_receive:()=>Qr,network_socket_receive_from:()=>qr,network_socket_send:()=>jr,network_socket_send_to:()=>zr,network_stop:()=>Xr,network_wifi_connect:()=>Vr,ntptime_address:()=>np,ntptime_time:()=>ip,requests_attribute:()=>tp,requests_attribute2:()=>op,requests_get:()=>$r,requests_get2:()=>sp,requests_method:()=>ep,requests_post:()=>_p});var f={};t.r(f),t.d(f,{MP3_CONTROL:()=>Yp,MP3_EQ_MODE:()=>yp,MP3_INIT:()=>Fp,MP3_LOOP_MODE:()=>bp,MP3_PLAY_FOLDER:()=>wp,MP3_PLAY_NUM:()=>Bp,MP3_VOL:()=>Up,bit_motor_control:()=>Sp,display_rgb:()=>Dp,display_rgb2:()=>fp,display_rgb_init:()=>Np,display_rgb_show:()=>Pp,microbit_music_get_tempo:()=>mp,microbit_music_pitch:()=>Tp,microbit_music_pitch_delay:()=>Ip,microbit_music_play_built_in:()=>pp,microbit_music_play_built_in_easy:()=>lp,microbit_music_play_list_of_notes:()=>dp,microbit_music_play_list_of_notes_easy:()=>hp,microbit_music_reset:()=>Mp,microbit_music_stop:()=>Op,servo_move:()=>Lp,speech_pronounce_easy:()=>gp,speech_say:()=>Ep,speech_say_easy:()=>Rp,speech_sing_easy:()=>Cp,speech_translate:()=>Ap,tone_set_tempo:()=>cp});var P={};t.r(P),t.d(P,{i2c_init:()=>zp,i2c_read:()=>Zp,i2c_write:()=>$p,microbit_radio_config:()=>Wp,microbit_radio_off:()=>xp,microbit_radio_on:()=>Hp,microbit_radio_receive:()=>jp,microbit_radio_reset:()=>Kp,microbit_radio_send_string:()=>Jp,radio_ons:()=>Gp,radio_receive_string:()=>qp,radio_send_string:()=>Qp,spi_init:()=>tl,spi_write:()=>el});var F={};t.r(F),t.d(F,{display_fill:()=>fl,display_image_size:()=>Dl,group_lcd_init:()=>Al,group_lcd_power:()=>Sl,group_lcd_print:()=>gl,group_lcd_print2:()=>Ll,image_arithmetic:()=>Cl,image_shift:()=>Rl,lp2i_u8g_draw_4strings:()=>Nl,microbit_display_clear:()=>nl,microbit_display_is_on:()=>Ml,microbit_display_off:()=>hl,microbit_display_on:()=>dl,microbit_display_scroll:()=>Tl,microbit_display_scroll_string_animation:()=>Il,microbit_display_show_animation:()=>ll,microbit_display_show_default_image:()=>pl,microbit_display_show_image:()=>rl,microbit_image_builtins:()=>Ol,microbit_image_copy:()=>ml,microbit_image_create:()=>El,microbit_image_invert:()=>cl,monitor_bright_point:()=>ol,monitor_get_pixel:()=>sl,monitor_scroll_string:()=>ul,monitor_scroll_string_with_delay:()=>al,monitor_show_image_or_string:()=>_l});var v={};t.r(v),t.d(v,{factory_block:()=>wl,factory_block_return:()=>kl,factory_block_return_with_textarea:()=>Hl,factory_block_with_textarea:()=>Gl,factory_callMethod_noreturn:()=>Ul,factory_callMethod_return:()=>Bl,factory_create_with_container:()=>Vl,factory_create_with_item:()=>bl,factory_declare:()=>yl,factory_from_import:()=>Fl,factory_function_noreturn:()=>Yl,factory_function_return:()=>Xl,factory_import:()=>vl});var Y={};t.r(Y),t.d(Y,{inout_analog_read:()=>jl,inout_analog_write:()=>Jl,inout_analog_write_set:()=>Ql,inout_digital_read:()=>Kl,inout_digital_write:()=>zl,inout_highlow:()=>Wl,sensor_pin_pressed:()=>ql});var V={};t.r(V),t.d(V,{actuator_motor_off:()=>sI,actuator_motor_on:()=>nI,actuator_rgb:()=>iI,actuator_rgb_color:()=>tI,actuator_rgb_off:()=>eI,base_loop:()=>$l,sensor_pin_near:()=>oI,sensor_while_btn_pressed:()=>_I,sensor_while_is_gesture:()=>uI,sensor_while_is_near:()=>aI});var b={};t.r(b),t.d(b,{pins_analog:()=>lI,pins_axis:()=>mI,pins_brightness:()=>cI,pins_builtinimg:()=>MI,pins_button:()=>II,pins_digital:()=>pI,pins_imglist:()=>OI,pins_interrupt:()=>dI,pins_pwm:()=>TI,pins_radio_datarate:()=>CI,pins_radio_power:()=>RI,pins_serial:()=>hI,pins_tone_notes:()=>EI});var X={};t.r(X),t.d(X,{DS1307_init:()=>KI,RTC_get_time:()=>QI,RTC_set_date:()=>qI,RTC_set_time:()=>jI,TCS34725_Get_RGB:()=>eT,controls_GestureLists:()=>PI,controls_attachGestureInterrupt:()=>fI,controls_attachGestureInterrupt2:()=>FI,sensor_button_get_presses:()=>SI,sensor_button_is_pressed:()=>AI,sensor_button_was_pressed:()=>LI,sensor_calibrate_compass:()=>yI,sensor_compass_heading:()=>BI,sensor_compass_reset:()=>zI,sensor_current_gesture:()=>bI,sensor_current_gesture1:()=>NI,sensor_current_gesture2:()=>DI,sensor_distance_hrsc04:()=>xI,sensor_distance_hrsc04_:()=>WI,sensor_field_strength:()=>kI,sensor_get_acceleration:()=>vI,sensor_get_gestures:()=>VI,sensor_hrsc04_init:()=>$I,sensor_is_compass_calibrated:()=>UI,sensor_light:()=>ZI,sensor_light_level:()=>XI,sensor_magnetic:()=>HI,sensor_rotation:()=>GI,sensor_set_acceleration:()=>YI,sensor_temperature:()=>wI});var y={};t.r(y),t.d(y,{IO_input:()=>TT,IO_print:()=>dT,IO_print_inline:()=>hT,serial_any:()=>aT,serial_begin:()=>IT,serial_print:()=>nT,serial_print_hex:()=>oT,serial_println:()=>sT,serial_readline:()=>rT,serial_readstr:()=>uT,serial_readstr_until:()=>pT,serial_receive_data_event:()=>_T,serial_softserial:()=>lT});var U={};t.r(U),t.d(U,{Panic_with_status_code:()=>cT,base_delay:()=>OT,controls_millis:()=>mT,controls_uname:()=>RT,reset:()=>ET});var B={};t.r(B),t.d(B,{MP3_CONTROL:()=>HT,MP3_EQ_MODE:()=>WT,MP3_INIT:()=>GT,MP3_LOOP_MODE:()=>xT,MP3_PLAY_FOLDER:()=>QT,MP3_PLAY_NUM:()=>JT,MP3_VOL:()=>KT,bit_motor_control:()=>yT,display_rgb:()=>BT,display_rgb2:()=>wT,display_rgb_init:()=>UT,display_rgb_show:()=>kT,microbit_music_get_tempo:()=>fT,microbit_music_pitch:()=>LT,microbit_music_pitch_delay:()=>AT,microbit_music_play_built_in:()=>CT,microbit_music_play_built_in_easy:()=>gT,microbit_music_play_list_of_notes:()=>ST,microbit_music_reset:()=>NT,microbit_music_stop:()=>DT,servo_move:()=>XT,speech_pronounce_easy:()=>bT,speech_say:()=>vT,speech_say_easy:()=>YT,speech_sing_easy:()=>VT,speech_translate:()=>FT,tone_set_tempo:()=>PT});var w={};t.r(w),t.d(w,{i2c_init:()=>nd,i2c_read:()=>sd,i2c_write:()=>od,microbit_radio_config:()=>ZT,microbit_radio_off:()=>zT,microbit_radio_on:()=>qT,microbit_radio_receive:()=>id,microbit_radio_reset:()=>$T,radio_ons:()=>jT,radio_receive_string:()=>ed,radio_send_string:()=>td,spi_init:()=>_d,spi_write:()=>ud});var k={};t.r(k),t.d(k,{display_fill:()=>Vd,display_image_size:()=>Yd,group_lcd_init:()=>fd,group_lcd_power:()=>Fd,group_lcd_print:()=>Dd,group_lcd_print2:()=>Pd,image_arithmetic:()=>Sd,image_shift:()=>Ld,lp2i_u8g_draw_4strings:()=>vd,microbit_display_clear:()=>ad,microbit_display_is_on:()=>Ed,microbit_display_on:()=>cd,microbit_display_scroll:()=>md,microbit_display_scroll_string_animation:()=>Nd,microbit_display_set_pixel:()=>pd,microbit_display_show_animation:()=>Od,microbit_display_show_default_image:()=>Md,microbit_display_show_image:()=>hd,microbit_image_builtins:()=>Rd,microbit_image_copy:()=>Cd,microbit_image_create:()=>Ad,microbit_image_invert:()=>gd,monitor_bright_point:()=>ld,monitor_get_pixel:()=>rd,monitor_scroll_string:()=>Td,monitor_scroll_string_with_delay:()=>dd,monitor_show_image_or_string:()=>Id});var G={};t.r(G),t.d(G,{factory_block:()=>Gd,factory_block_return:()=>Hd,factory_block_return_with_textarea:()=>Wd,factory_block_with_textarea:()=>xd,factory_callMethod_noreturn:()=>wd,factory_callMethod_return:()=>kd,factory_declare:()=>Bd,factory_from_import:()=>bd,factory_function_noreturn:()=>yd,factory_function_return:()=>Ud,factory_import:()=>Xd});var H={};t.r(H),t.d(H,{inout_analog_read:()=>zd,inout_analog_write:()=>jd,inout_analog_write_set:()=>qd,inout_digital_read:()=>Qd,inout_digital_write:()=>Jd,inout_highlow:()=>Kd,sensor_pin_pressed:()=>Zd});var x={};t.r(x),t.d(x,{actuator_motor_off:()=>oh,actuator_motor_on:()=>sh,actuator_rgb:()=>nh,actuator_rgb_color:()=>eh,actuator_rgb_off:()=>ih,base_loop:()=>th,controls_repeat_ext:()=>ph,microbit_image_create:()=>$d,sensor_pin_near:()=>_h,sensor_while_btn_pressed:()=>uh,sensor_while_is_gesture:()=>ah,sensor_while_is_near:()=>rh});var W={};t.r(W),t.d(W,{pins_analog:()=>Ih,pins_axis:()=>ch,pins_brightness:()=>Eh,pins_builtinimg:()=>Oh,pins_button:()=>Th,pins_digital:()=>lh,pins_imglist:()=>mh,pins_interrupt:()=>hh,pins_pwm:()=>dh,pins_radio_datarate:()=>gh,pins_radio_power:()=>Ch,pins_serial:()=>Mh,pins_tone_notes:()=>Rh});var K={};t.r(K),t.d(K,{DS1307_init:()=>Kh,RTC_get_time:()=>Jh,RTC_set_date:()=>jh,RTC_set_time:()=>Qh,TCS34725_Get_RGB:()=>$h,controls_GestureLists:()=>Nh,controls_attachGestureInterrupt:()=>Dh,controls_attachGestureInterrupt2:()=>Fh,sensor_button_get_presses:()=>Sh,sensor_button_is_pressed:()=>Ah,sensor_button_was_pressed:()=>Lh,sensor_calibrate_compass:()=>yh,sensor_compass_heading:()=>Bh,sensor_compass_reset:()=>qh,sensor_current_gesture:()=>Yh,sensor_current_gesture1:()=>fh,sensor_current_gesture2:()=>Ph,sensor_distance_hrsc04:()=>xh,sensor_distance_hrsc04_:()=>Wh,sensor_field_strength:()=>kh,sensor_get_acceleration:()=>Vh,sensor_get_gestures:()=>vh,sensor_hrsc04_init:()=>Zh,sensor_is_compass_calibrated:()=>Uh,sensor_light:()=>zh,sensor_light_level:()=>Xh,sensor_magnetic:()=>Hh,sensor_rotation:()=>Gh,sensor_set_acceleration:()=>bh,sensor_temperature:()=>wh});var J={};t.r(J),t.d(J,{IO_input:()=>pM,IO_print:()=>lM,IO_print_inline:()=>IM,serial_any:()=>sM,serial_begin:()=>rM,serial_print:()=>tM,serial_print_hex:()=>iM,serial_println:()=>eM,serial_readline:()=>_M,serial_readstr:()=>oM,serial_readstr_until:()=>uM,serial_receive_data_event:()=>nM,serial_softserial:()=>aM});var Q={};t.r(Q),t.d(Q,{Panic_with_status_code:()=>LM,base_delay:()=>AM,controls_end_program:()=>NM,controls_millis:()=>SM,controls_uname:()=>fM,reset:()=>DM,system_device_name:()=>CM,system_device_serial_number:()=>gM,system_event_bus_source:()=>EM,system_event_bus_value:()=>RM,system_on_event:()=>OM,system_raise_event:()=>MM,system_reset:()=>dM,system_run_in_background:()=>TM,system_timestamp:()=>mM,system_value:()=>cM,system_wait:()=>hM});const j=Blockly,q=Mixly,z={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}},Z=z; /** * @license * Visual Blocks Editor * * Copyright 2012 Google Inc. * https://developers.google.com/blockly/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ class ${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")}},mt={init:function(){this.setColour(It),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)}},ct={init:function(){this.setColour(It),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")}},Et={init:function(){this.setColour(It),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]}))}},Rt={init:function(){this.setColour(It),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")}},Ct={init:function(){this.setColour(It);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)}}},gt={init:function(){this.setColour(It),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")}},At={init:function(){this.setColour(It),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")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ct.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),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}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ft={init:function(){this.setColour(It),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)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Vt={init:function(){this.setColour(It),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)}},bt={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(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ut={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},wt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},kt=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 Gt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);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(kt);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]}))}},Wt={init:function(){this.setColour(kt),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]}))}},Kt={init:function(){this.setColour(kt),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]}))}},Jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Qt={init:function(){this.setColour(kt),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]}))}},jt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),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]}))}},qt={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(kt),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]}))}},zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),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]}))}},Zt={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(kt),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]}))}},$t={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),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]}))}},te={init:function(){this.setColour(kt),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)}},ee={init:function(){this.setColour(kt),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)}},ie={init:function(){this.setColour(kt),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)}},ne={init:function(){this.setColour(kt),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)}},se={init:function(){this.setColour(kt),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)}},oe={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),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]}))}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),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]}))}},ue=ee,ae={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},re={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},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("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===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(pe),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,'"')}},de={init:function(){this.setColour(pe),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)}},he={init:function(){this.setColour(pe),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Me={init:function(){this.setColour(pe),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Oe={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},me={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ce={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(pe),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)}},Ee={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(pe),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)}},Re={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(pe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ce={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(pe),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"))}},ge={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(pe),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)}},Ae={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(pe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Le={init:function(){this.setColour(pe),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)}},Se={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(pe),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]}))}},Ne={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(pe),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)}},De={init:function(){this.setColour(pe),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)}},fe={init:function(){this.setColour(pe),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)}},Pe={init:function(){this.setColour(pe),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)}},Fe={init:function(){this.setColour(pe),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)}},ve={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(pe),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]}))}},Ye={init:function(){this.setColour(pe),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")}},Di={init:function(){this.setColour(Si),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},fi={init:function(){this.setColour(Si),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}},Pi={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Fi={init:function(){this.setColour(Si),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)}},vi={init:function(){this.setColour(Si),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)}},Yi={init:function(){this.setColour(Si),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)}},Vi={init:function(){this.setColour(Si),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)}},bi={init:function(){this.setColour(Si),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)}},Xi={init:function(){this.setColour(Si),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)}},yi={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ui={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Bi={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},wi={init:function(){this.setColour(Si),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)}},ki={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(Si),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")}},Gi={init:function(){this.setColour(Si),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)}},Hi={init:function(){this.setColour(Si),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)}},xi={init:function(){this.setColour(Si),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")}},Wi={init:function(){this.setColour(Si),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Ki={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ji={init:function(){this.setColour(Si),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Qi={init:function(){this.setColour(Si),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},ji=210,qi={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ji),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]}},zi={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(ji),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)}},Zi={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(ji),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]}))}},$i={init:function(){this.setColour(ji),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},tn={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ji),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},en={init:function(){this.setColour(ji),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},nn={init:function(){this.setColour(ji),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)}},sn={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ji),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)}},on={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ji),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)}},_n={init:function(){this.setColour(ji),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},un={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)}},an={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")}},rn={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+_}))}},pn={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+_}))}},ln={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)}},In={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)}},Tn={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}))}},dn={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)}},hn={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)}},Mn={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)}},On={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)}},mn={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 cn={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)}},En={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)}},Rn={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)}},Cn={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}))}},gn={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)}},An={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]}))}},Ln={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)}},Sn={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)}},Nn={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]}))}},Dn={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)}},fn={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()}},Pn={};Pn.NAME_TYPE=j.PROCEDURE_CATEGORY_NAME,Pn.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)}},Ls={init:function(){this.setColour(cs),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Ss={init:function(){this.setColour(cs),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)}},Ns={init:function(){this.setColour(cs),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ds={init:function(){this.setColour(cs),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fs={init:function(){this.setColour(cs),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ps=160,Fs={init:function(){this.setColour(Ps),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},vs={init:function(){this.setColour(Ps),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Ys={init:function(){this.setColour(Ps),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Vs={init:function(){this.setColour(Ps),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},bs={init:function(){this.setColour(Ps),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Xs={init:function(){this.setColour(Ps),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ys={init:function(){this.setColour(Ps),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 Nu=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]},Du=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},fu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Pu=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]},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]},Vu=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"},Xu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},yu=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]},Bu=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]},ku=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]},Hu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},xu=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]},ju=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},qu=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"},ta=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"},ea=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},ia=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},na=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"},sa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&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]},Ua=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ba=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"},Ga=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ha=function(t,e){return'"},xa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Wa=function(){return this.getFieldValue("TEXT")+"\n"},Ka=function(t){return t.getFieldValue("TEXT")+"\n"},Ja=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Qa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},ja=function(){return""},qa=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")},$a.scrubNakedValue=function(t){return t+"\n"},$a.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},$a.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},$a.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,$a.COMMENT_WRAP-3),n+=$a.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const tr=120;({init:function(){this.setColour(tr),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(tr);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const er=225,ir={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},nr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.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=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},sr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},or={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},_r={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ur={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ar={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.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 j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},rr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},pr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},lr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NETWORK_WIFI_ESSID),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},Ir={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Tr={init:function(){this.setColour(er),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.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 j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},dr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},hr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},Mr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},Or={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},mr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},cr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Er={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Rr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Cr={init:function(){this.setColour(er),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},gr={init:function(){this.setColour(er),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ar={init:function(){this.appendValueInput("VAL");var t=[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]];this.setColour(er),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))}},Lr={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(er),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(j.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:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},Sr={init:function(){this.setColour(er),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(er),this.appendDummyInput("").appendField(new j.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)}},Dr="#3288dd",fr={init:function(){this.setColour(Dr),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Pr={init:function(){this.setColour(Dr),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Fr={init:function(){this.appendValueInput("VAL");var t=[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(Dr),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}};j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START;const vr=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},Yr=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+","+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},Vr=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},br=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},Xr=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},yr=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},Ur=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},Br=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},wr=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config(essid = "+e.valueToCode(this,"essid",e.ORDER_ATOMIC)+", channel = "+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+")\n"},kr=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},Gr=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},Hr=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET,"+n+")\n"},xr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Wr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},Kr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},Jr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ASSIGNMENT]},Qr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ASSIGNMENT]},jr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},qr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ASSIGNMENT]},zr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+","+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Zr=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},$r=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},tp=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},ep=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ip=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},np=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},sp=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},op=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},_p=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+",data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},up={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"]]}};up["Mithon CC"]=up.microbit;const ap=up,rp=100,pp={init:function(){this.jsonInit({colour:rp,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)}},lp={init:function(){this.jsonInit({colour:rp,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"}]})}},Ip={init:function(){this.setColour(rp),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)}},Tp={init:function(){this.setColour(rp),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)}},dp={init:function(){this.jsonInit({colour:rp,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)}},hp={init:function(){this.jsonInit({colour:rp,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"}]})}},Mp={init:function(){this.jsonInit({colour:rp,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)}},Op={init:function(){this.setColour(rp),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)}},mp={init:function(){this.jsonInit({colour:rp,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)}},cp={init:function(){this.setColour(rp),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)}},Ep={init:function(){this.setColour(rp),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}))}},Rp={init:function(){this.setColour(rp),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cp={init:function(){this.setColour(rp),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gp={init:function(){this.setColour(rp),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ap={init:function(){this.setColour(rp),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)}},Lp={init:function(){this.setColour(rp),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)}},Sp={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(rp),this.setTooltip(""),this.setHelpUrl("")}},Np={init:function(){this.setColour(rp),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)}},Dp={init:function(){this.setColour(rp),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)}},fp={init:function(){this.setColour(rp),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)}},Pp={init:function(){this.setColour(rp),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)}},Fp={init:function(){this.setColour(rp),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 vp=[[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 Yp={init:function(){this.setColour(rp),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(vp),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Vp=[[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 bp={init:function(){this.setColour(rp),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(Vp),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Xp=[[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 yp={init:function(){this.setColour(rp),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(Xp),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Up={init:function(){this.setColour(rp),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()}},Bp={init:function(){this.setColour(rp),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()}},wp={init:function(){this.setColour(rp),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()}},kp=140,Gp={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}))}},Hp={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})}},xp={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})}},Wp={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"}]})}},Kp={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})}},Jp={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"}]})}},Qp={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)}},jp={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})}},qp={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)}},zp={init:function(){this.setColour(kp),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)}},Zp={init:function(){this.setColour(kp),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)}},$p={init:function(){this.setColour(kp),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)}},tl={init:function(){this.jsonInit({colour:kp,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:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},el={init:function(){this.setColour(kp),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)}},il=180,nl={init:function(){this.jsonInit({colour:il,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)}},sl={init:function(){this.setColour(il),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)}},ol={init:function(){this.setColour(il),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)}},_l={init:function(){this.setColour(il),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)}},ul={init:function(){this.setColour(il),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)}},al={init:function(){this.setColour(il),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)}},rl={init:function(){this.setColour(il),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)}},pl={init:function(){this.jsonInit({colour:il,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"}]})}},ll={init:function(){this.jsonInit({colour:il,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)}},Il={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:il,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)}},Tl={init:function(){this.jsonInit({colour:il,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"}]})}},dl={init:function(){this.setColour(il),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}))}},hl={init:function(){this.jsonInit({colour:il,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})}},Ml={init:function(){this.jsonInit({colour:il,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)}},Ol={init:function(){this.jsonInit({colour:il,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})}},ml={init:function(){this.jsonInit({colour:il,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)}},cl={init:function(){this.jsonInit({colour:il,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)}},El={init:function(){this.jsonInit({colour:il,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)}},Rl={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(il),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}))}},Cl={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(il),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]}))}},gl={init:function(){this.setColour(il),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)}},Al={init:function(){this.setColour(il),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)}},Ll={init:function(){this.setColour(il),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)}},Sl={init:function(){this.setColour(il),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]}))}},Nl={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(il),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Dl={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(il),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]}))}},fl={init:function(){this.setColour(il),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]}))}},Pl="#777777",Fl={init:function(){this.setColour(Pl),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vl={init:function(){this.setColour(Pl),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yl={init:function(){this.setColour(Pl),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},ih=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},nh=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"},sh=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},oh=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},_h=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},uh=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},ah=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},rh=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},ph=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)},lh=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Ih=lh,Th=lh,dh=lh,hh=lh,Mh=lh,Oh=lh,mh=lh,ch=lh,Eh=lh,Rh=lh,Ch=lh,gh=lh,Ah=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},Lh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Sh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},Nh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},Dh=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)},fh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},Ph=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},Fh=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)},vh=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]},Yh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},Vh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},bh=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},Xh=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},yh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},Uh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},Bh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},wh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},kh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},Gh=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},Hh=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},xh=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]},Wh=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]},Kh=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},Jh=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]}},Qh=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"},jh=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"},qh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},zh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},Zh=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"},$h=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]},tM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},eM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},iM=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"},nM=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"},sM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},oM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},_M=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},uM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},aM=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"},rM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},pM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},lM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},IM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},TM=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},dM=function(){return"control.reset()\n"},hM=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},MM=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},OM=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},mM=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},cM=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},EM=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},RM=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},CM=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},gM=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},AM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},LM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},SM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},NM=function(){return"while True:\n pass\n"},DM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},fM=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Fn),j.Python=$a,j.generator=$a,q.Profile.default={},Object.assign(q.Profile,ap),Object.assign(q.Profile.default,ap.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,N,f,P,F,F,v,Y,V,b,X,y,U),Object.assign(j.Python.forBlock,d,h,M,O,m,c,E,R,C,g,A,L,S,D,B,w,k,k,G,H,x,W,K,J,Q)})();