1 line
19 KiB
XML
1 line
19 KiB
XML
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="procedures_defnoreturn" id="U)4t@ObZyEtmtB}6PpY+" x="-86" y="-398"><field name="NAME">显示文件列表</field><statement name="STACK"><block type="variables_global" id="?H`W@aMCGfI2mmlwZ*=5"><value name="VAR"><block type="variables_get" id="CV5?N]W=wCV5@Xb4+?T!"><field name="VAR">照片个数</field></block></value><next><block type="variables_set" id="bW7JrkU+]1]4Ss~6Udyh"><field name="VAR">照片个数</field><value name="VALUE"><block type="math_number" id="Em0SbwGU{H`HmIo5M=3B"><field name="NUM">0</field></block></value><next><block type="variables_set" id="?PUK5$ZJpjGlPsV5*LRo"><field name="VAR">mylist</field><value name="VALUE"><block type="storage_list_all_files" id="mE]N_qd.|^63M5J#OBhs"></block></value><next><block type="display_clear" id="gBy,9#3_EL??j!8WmoA]"><value name="boolean"><shadow type="logic_boolean" id="-+HzX7|Y_bNCrPU-)Hz4"><field name="BOOL">FALSE</field></shadow></value><next><block type="controls_forEach" id="F?Sl5G_8jNi^*nMwu5fR"><value name="LIST"><shadow type="list_many_input" id="=^=K9VfQhG/1n2F/E9-@"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="Nf(0$Mc#nzKWi=ImX)9*"><value name="FROM"><shadow type="math_number" id="k1R]$CcB!pmBgW4vcB5j"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="2SM]B4kFj-x/F;q6z^uy"><field name="NUM">5</field></shadow><block type="list_trig" id="{Z[m_Iwl!mvS!s7`g8G9"><field name="OP">LEN</field><value name="data"><shadow type="variables_get" id="eF]0_x~FVCE$]E^wJ1c2"><field name="VAR">mylist</field></shadow></value></block></value><value name="STEP"><shadow type="math_number" id="NKBHtJCn_*}U*D;~yiQx"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="k.4.t]]c=/-l1Fm5U:3e"><field name="VAR">i</field></shadow></value><statement name="DO"><block type="controls_if" id="eag#/ic}R4*OaH^pyw_k"><value name="IF0"><block type="logic_compare" id="DY+t^,H(`y}q:LKcpF~L"><field name="OP">GT</field><value name="A"><block type="text_find" id=")=]I7gA6S*`6j^:p|-gh"><value name="VAR"><shadow type="text" id=":(76M@Xb7XUjfI.)21k0"><field name="TEXT">Hello,mixly</field></shadow><block type="lists_get_index" id="c)o`?H=KQlq|a+Fi!.Sz"><value name="LIST"><shadow type="variables_get" id="~I:b^$of)Z[rV~I,/=sq"><field name="VAR">mylist</field></shadow></value><value name="AT"><shadow type="math_number" id="8z5J(rq?Kyb];[7K=:}C"><field name="NUM">0</field></shadow><block type="variables_get" id="T7!N_urDWt4hTmXllAN6"><field name="VAR">i</field></block></value></block></value><value name="STR"><shadow type="text" id="rn*Oy9kwsqnBcw0Jz[Jh"><field name="TEXT">jpg</field></shadow></value></block></value><value name="B"><block type="math_number" id="M=Ia_dBSAxeM3d6L^q-2"><field name="NUM">0</field></block></value></block></value><statement name="DO0"><block type="onboard_tft_show_image_or_string_delay" id="GI|c{YjgNZ7]d_9z_?cZ" inline="false"><field name="center">True</field><value name="data"><shadow type="text" id="GDzhQ/^17Wpe0fXmi1q5"><field name="TEXT">Mixly</field></shadow><block type="lists_get_index" id="rz.V.nvMKg2v9tid}2Va"><value name="LIST"><shadow type="variables_get" id="E?-(#]j,Jpij*YRl?O27"><field name="VAR">mylist</field></shadow></value><value name="AT"><shadow type="math_number" id="h/d](,=5HVCM5y;UCpew"><field name="NUM">0</field></shadow><block type="variables_get" id="{|YI4.Z=AYXJKuPTh(V@"><field name="VAR">i</field></block></value></block></value><value name="x"><shadow type="math_number" id="}y5.IEU[IIw*cjzz=h/m"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="YkAu5mMu73)g9rJ^/M6F"><field name="NUM">0</field></shadow><block type="math_arithmetic" id="|FIOe.E+2g7.hM$HS/(i"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=":2$tIB#8=I=JZ6(|tRY]"><field name="NUM">1</field></shadow><block type="variables_get" id="M!I2IG8,1}SGmCNyDbJi"><field name="VAR">i</field></block></value><value name="B"><shadow type="math_number" id="Dm1hyy4:e^e7?7hopAKM"><field name="NUM">40</field></shadow></value></block></value><value name="size"><shadow type="math_number" id="9XL?.5~U8DDRU9=-4vF!"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="iUh[,GzedI/[As=G40x_"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id=")${`xF~u*h,w(1qo1+*I"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="dh8:qM~-#0rHoBNj^^2-"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="(T.#oB;sQ{2dTJrc7rs5"><field name="BOOL">FALSE</field></shadow></value><next><block type="math_selfcalcu" id="-dLBfcLDg]3wkci6mPc^"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="v59_#Bd8SGpa0uaS2JXD"><field name="VAR">a</field></shadow><block type="variables_get" id="3?8F|BKQoT7V@Y8+XSnG"><field name="VAR">照片个数</field></block></value><value name="B"><shadow type="math_number" id="eA7t$=IeAkod?,{!~rQ@"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></statement><next><block type="onboard_tft_display_shape_rect" id="=myU[ChOD::8gCPL^+KF"><field name="shape">rect</field><value name="x"><shadow type="math_number" id="(XtB6AerwY@Dq*@M*c1N"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="i.SI-Svk-d(}(_;dxi}k"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="pQ?eJ/9S,g~VSN/Jc77u"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="1oK@AUvy-3mm3`|3~U0m"><field name="NUM">1</field></shadow><block type="variables_get" id="MX#a[7C,RC:Z[l}uF36g"><field name="VAR">选择序号</field></block></value><value name="B"><shadow type="math_number" id="x?2]#Ych`6gsbiOHIU^a"><field name="NUM">40</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="pGs]{XpFLM9QqjR^}=0u"><field name="NUM">240</field></shadow></value><value name="h"><shadow type="math_number" id="MExHUJT;jqE-hT`o:4=#"><field name="NUM">40</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="2#/b27M{[JpgPnIyvG2T"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="u_cfU^I(c^+HLz,k:hnB"><field name="COLOR">#ff0000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="gTEEcn,(.UrHG3CI;9$_"><field name="BOOL">TRUE</field></shadow></value><next><block type="display_available" id="}J:H~)WHK@us|p:0BVNo"></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type="CREATE_CAMERA_SIMPLE" id="rZ);fMDp@iBO9bJq|77a" x="-898" y="-354"><field name="cmd">R240X240</field><next><block type="variables_set" id="{{-|[;}w{+/$k*uvB[3J"><field name="VAR">拍照序号</field><value name="VALUE"><block type="math_number" id="6d)kEiMW_bWWv6(a:`g|"><field name="NUM">-1</field></block></value><next><block type="variables_set" id="b}$Lz_(nc(hSmH3}ToH]"><field name="VAR">选择序号</field><value name="VALUE"><block type="math_number" id="JlxyqF:88^oeXSm#IaMw"><field name="NUM">0</field></block></value><next><block type="variables_set" id="4p0I@VRLD::BTuc|q^9g"><field name="VAR">显示摄像头</field><value name="VALUE"><block type="logic_boolean" id="-ZALQ[m]aO}SfY1GITM:"><field name="BOOL">TRUE</field></block></value><next><block type="variables_set" id="2qs=~8jkxsLHaOepiDU*"><field name="VAR">照片个数</field><value name="VALUE"><block type="math_number" id="^=MHt_WY`//$xEvrbsg@"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="[(~7j1!8f7boK~YAwP}h"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="t56P[9)RFiVwS^VPmKdw"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="SCREEN_SHOW_CAM_GRAPH_SHOOT" id="hox}wyb;R2+gPAQ.]-}c"><value name="SUB"><shadow type="variables_get" id="Ltt(_$yr-~*HHd[Q6Iy["><field name="VAR">image</field></shadow><block type="GET_PICTURE_DATA_EXACT" id="lR]p^I|9dr{V~^DaY;H:"></block></value><value name="boolean"><shadow type="logic_boolean" id="e*]~RWg_{L99BR:4.|7W"><field name="BOOL">FALSE</field></shadow><block type="variables_get" id="C$+=S2HP~[?SCuIJ3@[k"><field name="VAR">显示摄像头</field></block></value><next><block type="controls_if" id=",8#C4;![M,?47UK[DfJ#"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="Fqh73SR1~PfUFx{bY*Gq"><value name="btn"><shadow type="pins_button" id="/|z#GI_)@yB^cN|(p8^s"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="M4J)Rb:uD$UUlbCZFeS!"><field name="VAR">显示摄像头</field><value name="VALUE"><block type="logic_negate" id="v-Ad;Hzg/iVxYk;in6gL"><value name="BOOL"><block type="variables_get" id="]Ht|AB1{y`py!kM|~Hw!"><field name="VAR">显示摄像头</field></block></value></block></value></block></statement><next><block type="controls_if" id="tt(|0upmyAnC|=qO8A4^"><mutation else="1"></mutation><value name="IF0"><block type="variables_get" id="Ut;PXpr`1^U$j24Z]8q-"><field name="VAR">显示摄像头</field></block></value><statement name="DO0"><block type="controls_if" id="n4+:S*F/ZvFm;*Y3[p?6" inline="false" collapsed="true"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id=".c9_)vo$yx-^*Ps7]#cT"><value name="btn"><shadow type="pins_button" id="GOEhdf*cH0*POm/EuuBU"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="hBlD#DyRuOQMS6SGIO1B"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="bl1P{H`livte7(~T*!GG"><field name="VAR">a</field></shadow><block type="variables_get" id="fjDApy4U{GW;H.wzsxW#"><field name="VAR">拍照序号</field></block></value><value name="B"><shadow type="math_number" id="MD=9yG5P=aJd)tca{,eb"><field name="NUM">1</field></shadow></value><next><block type="SHOOT_AND_SAVE_PICTURE" id="R{xye:KJ^;xf8uW-MX_p"><value name="direct"><shadow type="text" id="r9]]A}yG27Yx$m~AV(wy"><field name="TEXT">12.jpg</field></shadow><block type="text_join" id="xICpW0RSmR:DHs50GDU#"><value name="A"><shadow type="text" id="Y}vLY`|)U{AaE`fSj2hy"><field name="TEXT">Hello</field></shadow><block type="number_to_text" id="t:QM1/mTFOFtWIiYzMfs"><value name="VAR"><shadow type="variables_get" id="2.H@{+.2{*ql+nB4,p-D"><field name="VAR">x</field></shadow><block type="variables_get" id="M0J-[W{2A2u`sZ^#zNC{"><field name="VAR">拍照序号</field></block></value></block></value><value name="B"><shadow type="text" id="N+A$fjk(6xEHJ{~A8Z4a"><field name="TEXT">.jpg</field></shadow></value></block></value><next><block type="display_show_image_or_string_delay" id="1mbzp7(G2*VRm?#e9-m{"><field name="center">True</field><value name="data"><shadow type="text" id="$9oR3exVSY9CncHApwb4"><field name="TEXT">Mixly</field></shadow><block type="text_join" id="*MO$.3Bm{?sc:n27B1_|"><value name="A"><shadow type="text" id="k3d8y2!HL6(OullflQn]"><field name="TEXT">Hello</field></shadow><block type="number_to_text" id="tS:Sc0WvjQP2f/4,1lB/"><value name="VAR"><shadow type="variables_get" id="dGL2f$`TSf+a-aeyDzFy"><field name="VAR">x</field></shadow><block type="variables_get" id="_F@;Y.WE+_P)Arg=Rgzi"><field name="VAR">拍照序号</field></block></value></block></value><value name="B"><shadow type="text" id="MDy3:nr4V_05aqjgd6bA"><field name="TEXT">.jpg</field></shadow></value></block></value><value name="space"><shadow type="math_number" id="nBBrOQxJLmq[on`z(/kp"><field name="NUM">0</field></shadow></value><value name="boolean"><shadow type="logic_boolean" id=":@U,e$*QzRYo4-r2;2cs"><field name="BOOL">FALSE</field></shadow></value><next><block type="display_available" id="]tGDS~xdHT[Tx+g(o(j6"><next><block type="actuator_onboard_neopixel_rgb_show_all_rainbow" id="WNwt#L2qzf}=*[X^dQC5"><value name="time"><shadow type="math_number" id="@+E?}WzKn!Dfx)0)BdM#"><field name="NUM">100</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></statement><statement name="ELSE"><block type="controls_if" id="@(0`XrOlS_D~4HK`f|Kc"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="a@):[1Lg:$KLAI2Rj9BC"><value name="btn"><shadow type="pins_button" id="`?xGlG!l*Yg.8FJpQkAn"><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="RE;S;ZFeP7Y1-CUvFUmC"><field name="VAR">选择序号</field><value name="VALUE"><block type="math_max_min" id="c}!L|QU,@Q:~N8qP06o`"><field name="OP">max</field><value name="A"><shadow type="math_number" id="8#H6)*A)+C1/Yy(PH3b7"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="[/`,uguI*b$M^pb:.$,X"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="n=a~#WSNsHC*D9.E:/dI"><field name="NUM">1</field></shadow><block type="variables_get" id="o59TbCviqSq,$xrO,:q4"><field name="VAR">选择序号</field></block></value><value name="B"><shadow type="math_number" id=".Wk-eFquME8ZtU5ajoi#"><field name="NUM">1</field></shadow></value></block></value><value name="B"><shadow type="math_number" id="0a(xrfUZpwzxlcJEgBS8"><field name="NUM">0</field></shadow></value></block></value></block></statement><next><block type="controls_if" id="g/3Gbh$xRyv|;t|:dYoB"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="]wuh_mKVf3PC5ogqz8if"><value name="btn"><shadow type="pins_button" id="srnrfvlxMg{G--Y)^V!v"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="variables_set" id="*_j/^Be2-uMtmY}=1Ovk"><field name="VAR">选择序号</field><value name="VALUE"><block type="math_max_min" id="3eXpM?.`S`}Eb=z=5j0^"><field name="OP">min</field><value name="A"><shadow type="math_number" id="u7HM?mf[S+#CIEo)!2_c"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="_hCc?o$v:}K|YMiv0Lue"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="~R|AM}]DL-c5ATXDXL@)"><field name="NUM">1</field></shadow><block type="variables_get" id="SSZ^gY1#GFz#gP@IjiV@"><field name="VAR">选择序号</field></block></value><value name="B"><shadow type="math_number" id="P|?zEKg:ZeKwMes.gz/y"><field name="NUM">1</field></shadow></value></block></value><value name="B"><shadow type="math_number" id="MG/+vA$cG!KmvN$x$`jr"><field name="NUM">0</field></shadow><block type="variables_get" id=";oFyu_rU#*m/P]{6?YMY"><field name="VAR">照片个数</field></block></value></block></value></block></statement><next><block type="procedures_callnoreturn" id="0a7^(2R$aCZX*^L8lO2j"><mutation name="显示文件列表"></mutation></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></xml><config>{"BurnSpeed":{"key":"921600","label":"921600"}}</config><code>aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAg54Wn54mH5Liq5pWwICs9IDEKICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=</code>4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=</code> |