build(boards): micropython板卡执行 npm run build:prod

This commit is contained in:
王立帮
2026-01-20 18:10:33 +08:00
parent 0968a1c678
commit 6c34d392ae
300 changed files with 1376 additions and 685 deletions

View File

@@ -1 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="system_timer_init" id="}UG56dfzH2VTG@]00U:J" x="-3798" y="-1049"><value name="SUB"><shadow type="variables_get" id="?Q7:YOvm;p6neeo]L}Tf"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="(IEb,i`[~]39P4ee[F:v"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="`ZZFhX(,Zz,Ba}3L!Z*^"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="TzuFIoMu,|FBAztF.;pd"><field name="NUM">1000</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="o6VM{76TXqYKwNu7B);|"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="gb_q=z7C+X~+,c_|eJ6X"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="YZ@`vOwaHO6b2Nd6=`*$"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block><block type="procedures_defnoreturn" id="DzM[Xx5;j(hXYQ*{/dYw" x="-3798" y="-879"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="system_print" id="Xf[o5mc7}m}3pR8gg_y="><value name="VAR"><block type="controls_millis" id="5}u@ygem2PeOcQ)b:^IR"><field name="Time">ms</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHByaW50KHRpbWUudGlja3NfbXMoKSkKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=</code>ode>=</code>
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="set_system_timer" id="?t)3,7YgcL|^bYrRB(f^" x="-3794" y="-1120"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="ya`O|nFkMNg=Vw(h!Tmm"><field name="VAR">tim</field></shadow></value><value name="PIN"><shadow type="timer_id_pin" id="l2SeRka2N11Dys/zJA0-"><field name="PIN">0</field></shadow></value><value name="period"><shadow type="math_number" id="atz`qR}EKX}PSfTj$~?w"><field name="NUM">1000</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="VtF3(8`8J`i,.@dS2NCE"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="MaBVWy_qHpU+{*66n/~:"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="mZ0Amq+iT#eXmDeo1Z4g"><field name="BOOL">TRUE</field></shadow></value></block></next></block><block type="procedures_defnoreturn" id="6_^^4bec`m!x93f*U#4F" x="-3791" y="-986"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="system_print" id=",rlph@]LzeCCeu8bP=)4"><value name="VAR"><block type="controls_millis" id="BA.3ud/05p(i8*/zw{LE"><field name="Time">ms</field></block></value></block></statement></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBwcmludCh0aW1lLnRpY2tzX21zKCkpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIHBhc3MK</code>

View File

@@ -1 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="SqdB6]EyPd)iNf#jhPT:" x="-3802" y="-1080"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="_58M7xoPWzR9?EJ0Y/_~"><field name="NUM">0</field></block></value><next><block type="system_timer_init" id="wLFtUv;AZ_Eg|/N*h/j{"><value name="SUB"><shadow type="variables_get" id="susEb`WCEAaswrDbw4p1"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="Nua?WY[si7:IVwYF*0-5"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="H+HN_eS2Acp:{VfxWAJ]"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="mB,6h_59h-1ZQy-(=[2-"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="bA(tyqTvxbBVBp:I,V~*"><field name="VALUE">tim_callback</field></shadow></value></block></next></block></next></block><block type="procedures_defnoreturn" id="HCPP8cWv7J~zuk8vnpO*" x="-3798" y="-955"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="variables_global" id="/by`Iu{Gtgd!=ocxM4t("><value name="VAR"><block type="variables_get" id="WTUcy2Gl*ptFh_)Kt(rG"><field name="VAR">计时</field></block></value><next><block type="math_selfcalcu" id="HDrp_a$58|^LvijXV=XZ"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="LT[T$[un!L;2N:K:c9/$"><field name="VAR">计时</field></shadow></value><value name="B"><shadow type="math_number" id="R9hv.k2FelWSywdtf{_0"><field name="NUM">1</field></shadow></value></block></next></block></statement></block><block type="controls_whileUntil" id="{!}4XIw?$/K*K0e._RP[" x="-3796" y="-826"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="j8L|@Id)0?C0SR32}^$$"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image_or_string_delay" id="SdS_6]7A(QL1y3L0k!F^"><field name="center">True</field><value name="data"><shadow type="text" id="dCU7otf^q-1~8@oE955A"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="8RD$fAvmvnBgG:5m_,5S"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="3M|1Ar7b-g]cO?gOorGa"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="RM1~NH$].wlHeG^U*!K7"><field name="BOOL">TRUE</field></shadow></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAg6K6h5pe2ICs9IDEKCgrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK</code>
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="Z#@4MiP]IJsN;MWZ3b/3" x="-3803" y="-1108"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="EvN);BtL3s!lwZX9GlbZ"><field name="NUM">0</field></block></value><next><block type="set_system_timer" id="S3;-{y,]bF.L@+$MkLu2"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="WfTuRKsrS=`ORHlvaR-Q"><field name="VAR">tim</field></shadow></value><value name="PIN"><shadow type="timer_id_pin" id="D|tHDzEmsA*K3fFZ:7.8"><field name="PIN">0</field></shadow></value><value name="period"><shadow type="math_number" id="PF}mQResRslQS[;=ZhW~"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="ZkMG7**r,)s[xWfJluTv"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id=".aQ`;0E1U;:kU+?V!G7H"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="CzW^rWi3)G8Qv7GFXTv)"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image_or_string_delay" id="vvp|c]1Q0~r$ZTM[1w)v"><field name="center">True</field><value name="data"><shadow type="text" id="-9C4+FCjtTM;A`{2bG]-"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="aBfRk@$^(Ml4x^Ge2Bed"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="hcC2DO;[B8:lGV!YI#[/"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="xAiwshhX1^wJb_@;jf{H"><field name="BOOL">TRUE</field></shadow></value></block></statement></block></next></block></next></block><block type="procedures_defnoreturn" id="U0[o#[?]N`,N]|Qru;jO" x="-3791" y="-856"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="variables_global" id="CUL]C193+yCJuPWB3TjA"><value name="VAR"><block type="variables_get" id="S!oR#yAO@n|=^=xq)a_$"><field name="VAR">计时</field></block></value><next><block type="math_selfcalcu" id="M(p;`ZXv/MR#=w,v/9cD"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="i*QoepeX-3lmRBZLGzB("><field name="VAR">计时</field></shadow></value><value name="B"><shadow type="math_number" id="uc/`Xtep!kSgGjq(q1b{"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zb3dsIGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDorqHml7YKICAgIOiuoeaXtiArPSAxCgoKCuiuoeaXtiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK</code>

View File

@@ -1 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="qM+Q|0Yx=e3wTOMSxWqA" x="-2908" y="-1031"><field name="VAR">开始</field><value name="VALUE"><block type="logic_boolean" id="4_/*[XYzBXD{Mapyo:2S"><field name="BOOL">FALSE</field></block></value><next><block type="variables_set" id="zxw`=95uZOD+kJ70mM5}"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="qWsI.uQZ:]9_Zlsm?9F?"><field name="NUM">0</field></block></value><next><block type="system_timer_init" id="G/Bl+Ljy5`[]00#!)R/o"><value name="SUB"><shadow type="variables_get" id="{Vw7Me#]vf{*~Q!|TO=1"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="D,*pO-5(TBMP0IZ,)Uib"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="BxiNqBueqw:Ayc_D)X)/"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id="Dbqb@S.*0]Z{78=G/0}@"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id=")be.N?TZ+We7*JG0I,$y"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="+@Qe7Jo?oOwgw,G*28D="><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="_!ptlR^a^Q7CF?vA7^@S"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="]*-:^NLW]:VAng[rNS,+"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="fATi$:i4|$XP0RP(uwzY"><value name="btn"><shadow type="pins_button" id="IG*OxDh{}bHwQA0]z#AS"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="KlIT5$=8V7n3Cf@T{!3x"><field name="VAR">开始</field><value name="VALUE"><block type="logic_negate" id="t8loXl3=|2CncT+qLbW$"><value name="BOOL"><block type="variables_get" id="DWM_1b@Y.]3(95kBy]S;"><field name="VAR">开始</field></block></value></block></value></block></statement><next><block type="display_show_image_or_string_delay" id="[,yo(a58ixq-sDM;HTfG"><field name="center">True</field><value name="data"><shadow type="text" id="K[Gr=6K=FsA;G@(6x9yg"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="c:SFIOFu/*yn|Av;MK!#"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="w}Mv{yf;To0X_KaU]09z"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="PsA.hfOYiNbzyo=Rc^#Q"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="/8-p~PZ~1X]!;g!A^Bg;" x="-2902" y="-690"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="variables_global" id="Oshl2bjttM{RayzB(e*B"><value name="VAR"><block type="variables_get" id="4U5?xSo1g/LyQQ@UCssU"><field name="VAR">计时</field></block></value><next><block type="variables_global" id="+k#AO}$x!Yrg@I+`=fut"><value name="VAR"><block type="variables_get" id="b2gvN;R:,fDIZ+J0;e-e"><field name="VAR">开始</field></block></value><next><block type="controls_if" id="pG.`|;6bhq:?I?`c_eb/"><value name="IF0"><block type="variables_get" id="t@W6L?!VIRL9NmbVSJsJ"><field name="VAR">开始</field></block></value><statement name="DO0"><block type="math_selfcalcu" id="95V]3PwSq~hmUElJ9sOR"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="{EjCPQ=d!*y5$NNN]`Rf"><field name="VAR">a</field></shadow><block type="variables_get" id="]tHd^Izp6KNELw!-YYpb"><field name="VAR">计时</field></block></value><value name="B"><shadow type="math_number" id="k-!{G?a34c:GQoeX9F.^"><field name="NUM">1</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg==</code>
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强SANT" shown="block"><variables><variable id="ok:ro0iEW(eJAtg/iAsj">tim</variable></variables><block type="variables_set" id="pBuAsbQ4/x,(4OlSGIBx" x="-2908" y="-1031"><field name="VAR">开始</field><value name="VALUE"><block type="logic_boolean" id="T|*bh48QHg;ATay;!?yN"><field name="BOOL">FALSE</field></block></value><next><block type="variables_set" id="XNeFz^BvI{;lmp*g!LL;"><field name="VAR">计时</field><value name="VALUE"><block type="math_number" id="#Z(ns.3C3t}!`rvxaD8x"><field name="NUM">0</field></block></value><next><block type="set_system_timer" id="[u+zCz_+y:=I;T$)}#BX"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="^Mt5L2sHyKjl1`{Dn}yW"><field name="VAR">tim</field></shadow></value><value name="PIN"><shadow type="timer_id_pin" id="jbmX=3JvjQ-Xp,x-/Co["><field name="PIN">0</field></shadow></value><value name="period"><shadow type="math_number" id="s]j!oSF-2QQAHP_4z3jx"><field name="NUM">100</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="hs$^;-Vn;(pRDkggAR?r"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="aQVpUQm,M*bCpJ1|9_yC"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="DAB~/$_ep}5yNle!~QH`"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="U{a=hn-Lt:D4:x-Z.oQ`"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="{ISR4m`[m+g0l1GSIK2."><value name="btn"><shadow type="pins_button" id="O#bz142N`XMDhA=umw{w"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="rmn_ah;H+TA^BR},aeBf"><field name="VAR">开始</field><value name="VALUE"><block type="logic_negate" id="L`D9q$NWUN#Om(.JSGG{"><value name="BOOL"><block type="variables_get" id="zh_c4T9dQ,|llbUUZn|z"><field name="VAR">开始</field></block></value></block></value></block></statement><next><block type="display_show_image_or_string_delay" id="d.LCD;.5S.Np4`l~H8@w"><field name="center">True</field><value name="data"><shadow type="text" id="rtUxu17fB[WTlhBtyM}e"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="$x#tZ0JEde.*},/*}?X0"><field name="VAR">计时</field></block></value><value name="space"><shadow type="math_number" id="?)y6ygi.|[o)jzqQcj-V"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="$`MNo)`mt?8!|aAwvj+]"><field name="BOOL">TRUE</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="V}kcMbROYm+yg`Bmyn9R" x="-2902" y="-690"><mutation><arg name="tim" varid="ok:ro0iEW(eJAtg/iAsj"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="variables_global" id="u^7vbq0nizF![{yjM{YQ"><value name="VAR"><block type="variables_get" id="8._4/y^fPPrFhf~x,Gsz"><field name="VAR">计时</field></block></value><next><block type="variables_global" id="]Z|]:*B3#0dnZx_,!1PK"><value name="VAR"><block type="variables_get" id="+#T[|/4cpT5lP#?XZg3L"><field name="VAR">开始</field></block></value><next><block type="controls_if" id="Al#ix!qnrs?GI1M^)F6i"><value name="IF0"><block type="variables_get" id="yuD2wdiq4AyHK^S*w}4d"><field name="VAR">开始</field></block></value><statement name="DO0"><block type="math_selfcalcu" id="{sw*Ack5K}[9s,H)qPtO"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="rj(}jTh{uwj1y(06Qk_)"><field name="VAR">a</field></shadow><block type="variables_get" id="vV4)z7l!ZBwWsnCFbEE3"><field name="VAR">计时</field></block></value><value name="B"><shadow type="math_number" id="US$jVDx@#xG=mgi=gE4v"><field name="NUM">1</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3Nvd2wKZnJvbSBtaXhnb19zb3dsIGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDorqHml7YKICAgIGdsb2JhbCDlvIDlp4sKICAgIGlmIOW8gOWnizoKICAgICAgICDorqHml7YgKz0gMQoKCgrlvIDlp4sgPSBGYWxzZQrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc293bC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IG5vdCDlvIDlp4sKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOiuoeaXtiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=</code>0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg==</code>