Files
mixly3/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-1 停车收费计算-单一费率.mix
2025-12-31 09:45:01 +08:00

1 line
21 KiB
XML

<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><variables><variable id=",!=C,QT?YSfRQ1I{ihvX">tim</variable></variables><block type="iot_wifi_connect" id="KY#k#[YvxJezX/ao#CF$" x="-1353" y="-395"><value name="WIFINAME"><shadow type="text" id="-}T9B7E0s[N*y_-~,b4Z"><field name="TEXT">MIXIO</field></shadow></value><value name="PASSWORD"><shadow type="text" id="(Mcya14HdM7GEYU6Z?Sv"><field name="TEXT"></field></shadow></value><next><block type="iot_mixio_connect" id="?}q,}]jHMr#!ltAv*U-y" inline="false" collapsed="true"><value name="SERVER"><shadow type="text" id="*{)@/iaDs}uc2*#LOMUy"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="USERNAME"><shadow type="text" id="y3@p^TgLj}@b@LSYsw}3"><field name="TEXT">demo@mixly.org</field></shadow></value><value name="PASSWORD"><shadow type="text" id="E50llKyfT0`aKJ8gJns3"><field name="TEXT">048e66146b4937557366489cb10fe055</field></shadow></value><value name="PROJECT"><shadow type="text" id="4h4,C6}x!RCSWaY?H|{="><field name="TEXT">demo</field></shadow></value><next><block type="variables_set" id="gdV5-act)YZgDa,~DJk$"><field name="VAR">车位总数</field><value name="VALUE"><block type="math_number" id="|}eUx0A#N,J]yBrYy+k5"><field name="NUM">20</field></block></value><next><block type="variables_set" id="..-/|K-T}t73t2Cnx_[|"><field name="VAR">停车费率</field><value name="VALUE"><block type="math_number" id="HnjM{1$}N#CoIe[k@CJK"><field name="NUM">1</field></block></value><next><block type="dicts_create_with" id="Fe[DORlAU)bo8Rji3d)J"><mutation items="0"></mutation><field name="VAR">入库车辆字典</field><next><block type="onboard_RTC_settime_string" id="E0[w7Td2|@!Y3Oln+e}q"><value name="CONTENT"><shadow type="tuple_input" id="#Uj;NVWB@NQZVP}ggVWd"><field name="CONTENT">2025,7,14,11,0,13</field></shadow><block type="ntptime_time" id="2Mjmo_f*8GQQ7T*iwjva"><value name="data"><shadow type="text" id="cH$VY}.{c43TLiZQjBmC"><field name="TEXT">ntp.aliyun.com</field></shadow><block type="ntptime_address" id="#4[M~$FGy@N;y/oTp#*d"><field name="op">ntp7.aliyun.com</field></block></value></block></value><next><block type="set_system_timer" id="z=:]{i,s8`CZ;j9p3~Gl"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="`_s{By,zo4:+?yWAt1(p"><field name="VAR">tim</field></shadow></value><value name="PIN"><shadow type="timer_id_pin" id="Px?+vIUB+eC`rqxg_Rd{"><field name="PIN">0</field></shadow></value><value name="period"><shadow type="math_number" id="P7c~66p1heW0W4IU/pG9"><field name="NUM">50000</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="SJcTo+W$QG9Yn-g7*0zi"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="`I.Tf#jNU?n0`WHw;ArL"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="|19,-7ZvNIsV?Li~#$hA"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="Gq,E]#;EJ00a]oJ6y[iD"><field name="VAR">车辆卡号</field><value name="VALUE"><block type="rfid_readid" id="eHkU0u@7SQvhlF,YTQKg"></block></value><next><block type="controls_if" id="WhmY^diAm!0jv06|w0L_"><value name="IF0"><block type="logic_compare" id="eiF9dE.4l-N@QO}b]|XP"><field name="OP">NEQ</field><value name="A"><block type="number_to_text" id="zxDBUx=l0b:Lc~/x)1M}"><value name="VAR"><shadow type="variables_get" id="@m,Wt#KOGZlyRJYe^yV!"><field name="VAR">x</field></shadow><block type="variables_get" id="2s8Ak|cTfD0wQ3z+{7m$"><field name="VAR">车辆卡号</field></block></value></block></value><value name="B"><block type="text" id=":M5W6x9b0GYLr?d4U*QA"><field name="TEXT">None</field></block></value></block></value><statement name="DO0"><block type="controls_if" id="Q|P9Y^3?sGy7PtnK~[;@"><mutation else="1"></mutation><value name="IF0"><block type="logic_compare" id="=r_bNtK]R=tNcD{OKFR|"><field name="OP">GT</field><value name="A"><block type="math_arithmetic" id="-lLWJ*aV.?U-TBejMLlI"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="Bu4N*w!mA^`Y#xxJt5;D"><field name="NUM">1</field></shadow><block type="variables_get" id="y/h}E!lSo8cs.rMbXq!E"><field name="VAR">车位总数</field></block></value><value name="B"><shadow type="math_number" id="gZ=Ds(@[ICA7;~!2kZ$3"><field name="NUM">1</field></shadow><block type="dicts_length" id="K931w/BMf21OG_|ZmL-1"><value name="DICT"><shadow type="variables_get" id="K]k+;8w2b`jY9:cLlAoO"><field name="VAR">入库车辆字典</field></shadow></value></block></value></block></value><value name="B"><block type="math_number" id="dZKVqA}?KIk@-S.@V+ey"><field name="NUM">0</field></block></value></block></value><statement name="DO0"><block type="display_clear" id=":H@P?Kt*Vo0xBE5I=uwV"><value name="boolean"><shadow type="logic_boolean" id="(3ZGdZNK{Ih19)pcS$6#"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_if" id="W.1:OY/@Wm6(]|/axEgU"><mutation else="1"></mutation><value name="IF0"><block type="logic_is_in" id="xmA?LH3}=pu3+xMWZ)5{"><field name="BOOL">not in</field><value name="A"><shadow type="variables_get" id="rx6gQ;Q6RBUX1EOhJ#Z}"><field name="VAR">x</field></shadow><block type="variables_get" id="J/4#d+!8G1h-w_gs]FgX"><field name="VAR">车辆卡号</field></block></value><value name="B"><shadow type="list_many_input" id="kV=]q~]X):fHqRN].Tsl"><field name="CONTENT">0,1,2,3</field></shadow><block type="dicts_keys" id="fjfz03d_.hb7,k=PyGGE"><value name="DICT"><shadow type="variables_get" id=",U+xaDHJ88V#ynXQ:!(6"><field name="VAR">入库车辆字典</field></shadow></value></block></value></block></value><statement name="DO0"><block type="onboard_tft_show_image_or_string_delay" id="1=B*kyG7gE)R@f5gcgzH"><field name="center">True</field><value name="data"><shadow type="text" id="k}N-06+xKHgaLj1@Au-t"><field name="TEXT">入库车辆:</field></shadow></value><value name="x"><shadow type="math_number" id="]#T]I#E*NBB.}DYHlL)?"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="Zu=b~(Wd9t$KnuIvVld*"><field name="NUM">40</field></shadow></value><value name="size"><shadow type="math_number" id="CN)YQbGB|@8Z6W|slK15"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="ys)f.#I5;T]846I`86vQ"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="eZXAni{Q|H5*)@8;?Sp."><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id=".,gW`9pKbp$4)IQhelfX"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="b*WvOgEp$j]pl3^?+(nD"><field name="BOOL">FALSE</field></shadow></value><next><block type="dicts_add_or_change" id="!Cm!$KOqG,6V)rG^`B$6"><value name="DICT"><shadow type="variables_get" id="mxN~:~8z96_o`5}{OlM?"><field name="VAR">入库车辆字典</field></shadow></value><value name="KEY"><shadow type="text" id="]]q4}TP4FV3z2ChoKl7@"><field name="TEXT">key</field></shadow><block type="variables_get" id="3)`pC{H3~+:B,7+_pck-"><field name="VAR">车辆卡号</field></block></value><value name="VAR"><shadow type="math_number" id="UD]^D9}*A8k}KiphQY[|"><field name="NUM">0</field></shadow><block type="onboard_RTC_get_timestamp" id="TFBqxg8CJTqG|Rv~$oeC"><value name="LIST"><block type="onboard_RTC_get_time" id="HOluYbMBq^4JqE-l-8[5"></block></value></block></value><next><block type="IOT_MIXIO_PUBLISH" id="!_eUL-Qxya~OAaXP;V[-"><value name="TOPIC"><shadow type="text" id="H(B)VjstF{`0~hQnS(fb"><field name="TEXT">入库车辆</field></shadow></value><value name="MSG"><shadow type="text" id="4R_A4iegT+j9@2Vuw$Mb"><field name="TEXT">正常</field></shadow><block type="variables_get" id="5J5|L@kl}bU=RGv[gTa9"><field name="VAR">车辆卡号</field></block></value><next><block type="onboard_tft_show_image_or_string_delay" id="Fe+DJLV/cz~1r/!?xXLZ"><field name="center">True</field><value name="data"><shadow type="text" id="^P9x!O~B)`~3#Myvz9Gj"><field name="TEXT">进入时间:</field></shadow></value><value name="x"><shadow type="math_number" id="C{:-BRXdr5qQ|O@KSU@w"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="F9z1n,PO.`7p;@br~W}*"><field name="NUM">120</field></shadow></value><value name="size"><shadow type="math_number" id="HPG!u:A1U)MygQ`0`.!D"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="R8c!_MWRTKs$e)8?Fh$F"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="~{lx9((v9-1:g`[-aiuY"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="mqJ^$~nycNToJDW6cCcy"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="/cgoG}tkfmjEWTzFBnW9"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id="qg^M?aMX4?U7bGKl([1h"><field name="center">True</field><value name="data"><shadow type="text" id="uFrRI]E1eN]26UaI(5pT"><field name="TEXT">进出时间:</field></shadow><block type="onboard_RTC_get_time_str" id="$zRivFPnj]b{+gX*Ca.A"></block></value><value name="x"><shadow type="math_number" id=",Ou;g5N9]K5bLGpBePZ;"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="I[mA_Yt_wI6))U:2es;:"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id=";tCj8c/9:ss`CSXB`#|D"><field name="NUM">1</field></shadow></value><value name="space"><shadow type="math_number" id="o6Cpq[0v+}$AIU$faI]8"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="]ea7V[y!dp,N8lr:;TT,"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="]/_y}Vle:dK]{5D8[g{U"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id=",f/?xf:|6;.aZ:3`HBq~"><field name="BOOL">FALSE</field></shadow></value></block></next></block></next></block></next></block></next></block></statement><statement name="ELSE"><block type="onboard_tft_show_image_or_string_delay" id="BOwqE@Yv0;r)#A|~|im0"><field name="center">True</field><value name="data"><shadow type="text" id="?M-Z){=sXS|emHm~L:mV"><field name="TEXT">出库车辆:</field></shadow></value><value name="x"><shadow type="math_number" id="2T2v+GS?1RW{sG7E*.(M"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="VIV=U||?OzM#!55PAdgy"><field name="NUM">40</field></shadow></value><value name="size"><shadow type="math_number" id="MwdB+yr!P0lJhMN]k9g!"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="c=ekkF{D4!c|:HL7w+=$"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="EduyPF/6?lV+i2E7s;Gd"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="L-]0h49M$!7P#a23Fkhv"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="(Y/49XhYh(fpt,8#7NNw"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id="a65:J[_3xOu[M.:2Nz8-"><field name="center">True</field><value name="data"><shadow type="text" id="~=_hteLXuCvw,*_`;#fu"><field name="TEXT">停留收费:</field></shadow></value><value name="x"><shadow type="math_number" id="ZJ|`4`2WDOSI-`8_|H3E"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="CST,#7l0AHm7q*8lc~|r"><field name="NUM">120</field></shadow></value><value name="size"><shadow type="math_number" id="UsbH*2Aa2aZcn?+/e52*"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="D~Z#f6-IaP/i]PtMi?jx"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="S5V)L;G!uBZSYt[OUg;k"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="aRFb~#G+h4,XKLIbXkJN"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="wkCO/8Czzqa#rSLW-ds*"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id="6$Bi`Th/6rzz}fQPJSg2"><field name="center">True</field><value name="data"><shadow type="text" id="|HOf;z7ezZs9OT(22kKL"><field name="TEXT">进出时间:</field></shadow><block type="math_arithmetic" id="!D)Ygo+-eL{?N7{3}*)-"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="imDE6yD4uwSHl!Hfd?sy"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="2nCvZR;][lf-ginG3z+f"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="cM}+R*J94HlG{tu@DU1?"><field name="NUM">1</field></shadow><block type="onboard_RTC_get_timestamp" id="Uhy1mH87eir@5|Mp/x4t"><value name="LIST"><block type="onboard_RTC_get_time" id="wJe_?5fM]#fx:{)4l:T#"></block></value></block></value><value name="B"><shadow type="math_number" id="D1`S`Q1u7D=^mAky20NQ"><field name="NUM">1</field></shadow><block type="dicts_get" id="*#u_K3+x#b#RmY7(#op3"><value name="DICT"><shadow type="variables_get" id="9dSh$G~X{RskqZ6dmH$p"><field name="VAR">入库车辆字典</field></shadow></value><value name="KEY"><shadow type="text" id="C~mJN[(shWQTpxIZjKVF"><field name="TEXT">key</field></shadow><block type="variables_get" id="Rscga[NzDVcl04}M|7$l"><field name="VAR">车辆卡号</field></block></value></block></value></block></value><value name="B"><shadow type="math_number" id="hRlz?xJ@lZ41_UNlPE:U"><field name="NUM">1</field></shadow><block type="variables_get" id="TpzkZ*[Ql=MVW#F-i;oC"><field name="VAR">停车费率</field></block></value></block></value><value name="x"><shadow type="math_number" id=";dN9VsZ,,Q_OHB~PY3C?"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="H/ZbBND|!{)xtjFv$L=}"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id="D@f?C~th3@OQ3YJHro1|"><field name="NUM">1</field></shadow></value><value name="space"><shadow type="math_number" id="j9gHHX5==YKMeoD93sYQ"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="MPmu2XY87CUEE*=MQ}1o"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="(auG13#z}6k,mU)6N(W3"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="yjpcjyMT(QjVXp]c~dz/"><field name="BOOL">FALSE</field></shadow></value><next><block type="dicts_delete" id="@ygoTqx83_xo))aKXXYC"><value name="DICT"><shadow type="variables_get" id="y_|rek52;Z/ZDRlqw6Dj"><field name="VAR">入库车辆字典</field></shadow></value><value name="KEY"><shadow type="text" id="G*AnsTh}pbh+v-7R*|Kr"><field name="TEXT">key</field></shadow><block type="variables_get" id=":@4yJ0FF5s7$Wb3H6#+7"><field name="VAR">车辆卡号</field></block></value><next><block type="IOT_MIXIO_PUBLISH" id="}9|BrZwPcGbaVJYzq*2["><value name="TOPIC"><shadow type="text" id="Q39.=@^9$i;WH=~Qu4.T"><field name="TEXT">出库车辆</field></shadow></value><value name="MSG"><shadow type="text" id="xmcmW+q4zt#hlLkG1q=6"><field name="TEXT">正常</field></shadow><block type="variables_get" id="jsVX69xZJE=sV!Mns{6m"><field name="VAR">车辆卡号</field></block></value></block></next></block></next></block></next></block></next></block></statement><next><block type="onboard_tft_show_image_or_string_delay" id="-A*j~^~xeInsf0FfO_3W"><field name="center">True</field><value name="data"><shadow type="text" id="OVu8Y/A9]4}zH*)LsD+P"><field name="TEXT">入库车辆:</field></shadow><block type="variables_get" id="prUk1nd+D}zU0M0$aE+_"><field name="VAR">车辆卡号</field></block></value><value name="x"><shadow type="math_number" id="Wp_raCd|qvyyAimxa]Qr"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="YZ.kKnT(dg~h.Vv{?*I7"><field name="NUM">80</field></shadow></value><value name="size"><shadow type="math_number" id="~WBth+^lF@NNFiPWISoc"><field name="NUM">1</field></shadow></value><value name="space"><shadow type="math_number" id="8jl$){*`P^~pbCYsDK0e"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="v}VC8{!*I:ka($j|pc?["><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="4aZ{@`UEN$@SCM7,Z.M)"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="i@/4{oNx4)Gr$ZJTTl#?"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></statement><statement name="ELSE"><block type="display_show_image_or_string_delay" id="oKF`Y}wYoEL/cPm)u}/d"><field name="center">True</field><value name="data"><shadow type="text" id="|uPq)lWb]o3,vc/Kd~*!"><field name="TEXT">车位已满</field></shadow></value><value name="space"><shadow type="math_number" id="39kS,(!,3.A)j937*b[V"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id="xE|lE/-Tk*jk?v,~Ei]A"><field name="BOOL">TRUE</field></shadow></value></block></statement><next><block type="controls_delay_new" id="/?e/y{cy6?~/DAE={o~$"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=")i99PntA$ilnCS)jd_oA"><field name="NUM">2</field></shadow></value></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="Kjtz5*rqH:I=y|@E!t$@" x="-580" y="-306"><mutation><arg name="tim" varid=",!=C,QT?YSfRQ1I{ihvX"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="IOT_MIXIO_PUBLISH" id="+K*SJND13LaDpb_cR!di"><value name="TOPIC"><shadow type="text" id="TH9@s[}Mz1,3(w^n`(eU"><field name="TEXT">系统状态</field></shadow></value><value name="MSG"><shadow type="text" id="1]C}{k`m[n8_s)HDy8=0"><field name="TEXT">正常</field></shadow></value></block></statement></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YGc6L2m6LS5546HID0gMQrlhaXlupPovabovoblrZflhbg9IHt9CnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwNy5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSA1MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDovabovobljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOi9pui+huWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIGlmIOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovoblrZflhbgpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgaWYg6L2m6L6G5Y2h5Y+3IG5vdCBpbiDlhaXlupPovabovoblrZflhbgua2V5cygpOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSA9IHRpbWUubWt0aW1lKHRpbWUubG9jYWx0aW1lKCkpCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L+b5YWl5pe26Ze077yaJywgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflgZznlZnmlLbotLnvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSAtIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddKSAqIOWBnOi9pui0ueeOhywgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBkZWwg5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10KICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIOi9pui+huWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6L2m6L6G5Y2h5Y+3LCB4PTAsIHk9ODAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg==</code>NsZWVwKDIpCg==</code>RydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo=</code>