@midscene/harmony 1.10.3 → 1.10.4-beta-20260707113335.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/cli.mjs +1 -1
- package/dist/lib/cli.js +1 -1
- package/package.json +4 -4
- package/static/index.html +1 -1
- package/static/static/js/{index.e5706ed1.js → index.92e643ed.js} +6 -6
- package/static/static/js/index.92e643ed.js.map +1 -0
- package/static/static/js/index.e5706ed1.js.map +0 -1
- /package/static/static/js/{index.e5706ed1.js.LICENSE.txt → index.92e643ed.js.LICENSE.txt} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! For license information please see index.
|
|
2
|
-
(()=>{var e,t,r,n,i,o,a,s={5902(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5902,e.exports=t},5845(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5845,e.exports=t},5737(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5737,e.exports=t},8541(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=8541,e.exports=t},9998(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=9998,e.exports=t},3348(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=3348,e.exports=t},8817(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=8817,e.exports=t},1560(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=1560,e.exports=t},372(e,t,r){"use strict";let n;var i,o=r(5723),a=r(2155),s=r(8997);let l=e=>{let{hideLogo:t=!1}=e,{isDarkMode:r}=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=()=>{var e;t("dark"===(null==(e=document.querySelector("[data-theme]"))?void 0:e.getAttribute("data-theme")))};e();let r=new MutationObserver(e),n=document.querySelector("[data-theme]")||document.documentElement;return r.observe(n,{attributes:!0,attributeFilter:["data-theme"]}),()=>r.disconnect()},[]),{isDarkMode:e}}();return t?null:(0,o.jsx)("div",{className:"logo",children:(0,o.jsx)("a",{href:"https://midscenejs.com/",target:"_blank",rel:"noreferrer",children:(0,o.jsx)("img",{alt:"Midscene_logo",src:r?"https://lf3-static.bytednsdoc.com/obj/eden-cn/nupipfups/Midscene/midscene_with_text_dark.png":"https://lf3-static.bytednsdoc.com/obj/eden-cn/nupipfups/Midscene/midscene_with_text_light.png"})})})};var A=r(4177),c=r(6766),u=r(6419),d=r(8594),p=r(2651),h=r(9488),f=r(8928),g=r(5584),m=r(4174),y=r(6620),v=r(8926),b={};b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var w={};b.r(w),b.d(w,{create:()=>v.vt});let{create:E}=w,k="midscene-auto-zoom",x="midscene-background-visible",S="midscene-elements-visible",C="midscene-model-call-details",I="midscene-dark-mode",j="midscene-playback-speed",O="midscene-subtitle-enabled",P=e=>{if("undefined"==typeof window)return;var t=new URLSearchParams(window.location.search).get(e);if(null===t)return;let r=t.trim().toLowerCase();return!!["1","true","yes","on"].includes(r)||!["0","false","no","off"].includes(r)&&void 0},R=E(e=>{let t="false"!==localStorage.getItem(k),r="false"!==localStorage.getItem(x),n="false"!==localStorage.getItem(S),i="true"===localStorage.getItem(C),o="true"===localStorage.getItem(I),a=Number.parseFloat(localStorage.getItem(j)||"1"),s=Number.isNaN(a)?1:a,l="false"!==localStorage.getItem(O),A=P("focusOnCursor"),c=P("showElementMarkers"),u=P("darkMode"),d=void 0===u?o:u;return void 0!==u&&localStorage.setItem(I,d.toString()),{backgroundVisible:r,elementsVisible:void 0===c?n:c,autoZoom:void 0===A?t:A,modelCallDetailsEnabled:i,darkModeEnabled:d,playbackSpeed:[.5,1,1.5,2].includes(s)?s:1,setBackgroundVisible:t=>{e({backgroundVisible:t}),localStorage.setItem(x,t.toString())},setElementsVisible:t=>{e({elementsVisible:t}),localStorage.setItem(S,t.toString())},setAutoZoom:t=>{e({autoZoom:t}),localStorage.setItem(k,t.toString())},setModelCallDetailsEnabled:t=>{e({modelCallDetailsEnabled:t}),localStorage.setItem(C,t.toString())},setDarkModeEnabled:t=>{e({darkModeEnabled:t}),localStorage.setItem(I,t.toString())},setPlaybackSpeed:t=>{e({playbackSpeed:t}),localStorage.setItem(j,t.toString())},subtitleEnabled:l,setSubtitleEnabled:t=>{e({subtitleEnabled:t}),localStorage.setItem(O,t.toString())}}}),M="midscene-env-config",T="midscene-service-mode",N="midscene-tracking-active-tab",D="midscene-deep-locate",B="midscene-deep-think",z="midscene-screenshot-included",L="midscene-dom-included",F="midscene-ime-strategy",K="midscene-auto-dismiss-keyboard",U="midscene-keyboard-dismiss-strategy",Q="midscene-always-refresh-screen-info",Z=()=>localStorage.getItem(M)||"",J=e=>{let t=e.split("\n"),r={};return t.forEach(e=>{let t=e.trim();if(t.startsWith("#"))return;let n=t.replace(/^export\s+/i,"").replace(/;$/,"").trim().match(/^(\w+)\s*=\s*(.*)$/);if(n){let[,e,t]=n,i=t.trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),r[e]=i}}),r},X=E((e,t)=>{let r=Z(),n=J(r),i=window.location.href.startsWith("chrome-extension"),o=localStorage.getItem(T),a="false"!==localStorage.getItem(N),s="true"===localStorage.getItem(D),l=localStorage.getItem(B),A="false"!==localStorage.getItem(z),c=localStorage.getItem(L)||"false";return{serviceMode:i?"In-Browser-Extension":o||"Server",setServiceMode:t=>{if(i)throw Error("serviceMode cannot be set in extension");e({serviceMode:t}),localStorage.setItem(T,t)},config:n,configString:r,setConfig:t=>e({config:t}),loadConfig:t=>{e({config:J(t),configString:t}),localStorage.setItem(M,t)},syncFromStorage:()=>{let t=Z();e({config:J(t),configString:t})},forceSameTabNavigation:a,setForceSameTabNavigation:t=>{e({forceSameTabNavigation:t}),localStorage.setItem(N,t.toString())},deepLocate:s,setDeepLocate:t=>{e({deepLocate:t}),localStorage.setItem(D,t.toString())},deepThink:"true"===l||"false"!==l&&"unset",setDeepThink:t=>{e({deepThink:t}),localStorage.setItem(B,t.toString())},screenshotIncluded:A,setScreenshotIncluded:t=>{e({screenshotIncluded:t}),localStorage.setItem(z,t.toString())},domIncluded:"visible-only"===c?"visible-only":"true"===c,setDomIncluded:t=>{e({domIncluded:t}),localStorage.setItem(L,t.toString())},popupTab:"playground",setPopupTab:t=>{e({popupTab:t})},imeStrategy:localStorage.getItem(F)||"yadb-for-non-ascii",setImeStrategy:t=>{e({imeStrategy:t}),localStorage.setItem(F,t)},autoDismissKeyboard:"false"!==localStorage.getItem(K),setAutoDismissKeyboard:t=>{e({autoDismissKeyboard:t}),localStorage.setItem(K,t.toString())},keyboardDismissStrategy:localStorage.getItem(U)||"esc-first",setKeyboardDismissStrategy:t=>{e({keyboardDismissStrategy:t}),localStorage.setItem(U,t)},alwaysRefreshScreenInfo:"true"===localStorage.getItem(Q),setAlwaysRefreshScreenInfo:t=>{e({alwaysRefreshScreenInfo:t}),localStorage.setItem(Q,t.toString())}}});var H=r(3819);function G(e){var t,r,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};H.Ay.error({message:null!=(t=i.title)?t:"Something went wrong",description:null!=(r=i.description)?r:function(e){if("string"==typeof e)return e;if(e instanceof Error)return e.message||e.toString();if(e&&"object"==typeof e&&"message"in e){let t=e.message;if("string"==typeof t)return t}try{return JSON.stringify(e)}catch(t){return String(e)}}(e),placement:"bottomRight",duration:null!=(n=i.duration)?n:5})}function V(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function q(e){let{showTooltipWhenEmpty:t=!0,showModelName:r=!0,tooltipPlacement:n="bottom",mode:i="icon",playgroundSDK:s}=e,{message:l}=p.A.useApp(),{config:A,configString:c,loadConfig:u,syncFromStorage:v}=X(),[b,w]=(0,a.useState)(!1),[E,k]=(0,a.useState)(c),[x,S]=(0,a.useState)(null),[C,I]=(0,a.useState)(!1),j=A.MIDSCENE_MODEL_NAME,O=!!(null==s?void 0:s.runConnectivityTest),P=(0,a.useRef)(null),R=(0,a.useRef)(null),M=()=>{null!==R.current&&(window.clearTimeout(R.current),R.current=null)},T=e=>{v(),M(),w(!0),e.preventDefault(),e.stopPropagation()},N=()=>{M(),w(!1),u(E)};return(0,a.useEffect)(()=>{b&&(k(c),S(null))},[b,c]),(0,a.useEffect)(()=>()=>{M()},[]),(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px",alignItems:"center",height:"100%",minHeight:"32px"},ref:P,children:[r?j:null,(0,o.jsx)(h.A,{title:"Please set up your environment variables before using.",placement:n,align:{offset:[-10,5]},getPopupContainer:()=>P.current,open:!b&&(t?0===Object.keys(A).length:void 0),children:"icon"===i?(0,o.jsx)(d.A,{onClick:T}):(0,o.jsx)("span",{onClick:T,style:{color:"#006AFF",cursor:"pointer"},children:"set up"})}),(0,o.jsxs)(f.A,{title:"Model Env Config",open:b,onOk:N,onCancel:()=>{M(),w(!1)},footer:(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:8},children:[O?(0,o.jsx)(g.Ay,{type:"primary",ghost:!0,loading:C,onClick:()=>{var e;return(e=function*(){if(null==s?void 0:s.runConnectivityTest)try{I(!0),S(null);let e=J(E),t=yield s.runConnectivityTest(e);S(t),t.passed?(u(E),l.success("Model verification passed"),M(),R.current=window.setTimeout(()=>{w(!1),R.current=null},2e3)):l.warning("Model verification found issues")}catch(t){let e=t instanceof Error?t.message:String(t);G(t,{title:"Model verification failed"}),S({passed:!1,message:e})}finally{I(!1)}},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){V(o,n,i,a,s,"next",e)}function s(e){V(o,n,i,a,s,"throw",e)}a(void 0)})})()},children:"Verify and Save Model"},"save-and-run"):null,(0,o.jsx)(g.Ay,{type:"primary",onClick:N,children:"Save"},"save")]}),style:{width:"800px",height:"100%",marginTop:"10%"},destroyOnClose:!0,maskClosable:!0,centered:!0,children:[(0,o.jsx)(m.A.TextArea,{rows:7,placeholder:"MIDSCENE_MODEL_API_KEY=sk-...\nMIDSCENE_MODEL_NAME=gpt-4o-2024-08-06\n...",value:E,onChange:e=>k(e.target.value),style:{whiteSpace:"nowrap",wordWrap:"break-word"}}),(0,o.jsxs)("div",{children:[(0,o.jsx)("p",{children:"The format is KEY=VALUE and separated by new lines."}),(0,o.jsxs)("p",{children:["These data will be saved ",(0,o.jsx)("strong",{children:"locally in your browser"}),"."]})]}),x?(0,o.jsx)(y.A,{type:x.passed?"success":"warning",showIcon:!0,message:x.passed?"Model verification passed":"Model verification failed",description:x.passed?void 0:(0,o.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:x.message||"Connectivity test failed without details."}),style:{marginTop:16}}):null]})]})}function W(e){let{showEnvConfig:t=!0,showTooltipWhenEmpty:r=!1,showModelName:n=!1,githubUrl:i="https://github.com/web-infra-dev/midscene",helpUrl:a="https://midscenejs.com/quick-experience.html",className:s="",playgroundSDK:l}=e;return(0,o.jsxs)("div",{className:`nav-actions ${s}`,children:[(0,o.jsx)(u.A.Link,{href:i,target:"_blank",children:(0,o.jsx)(A.A,{className:"nav-icon"})}),(0,o.jsx)(u.A.Link,{href:a,target:"_blank",children:(0,o.jsx)(c.A,{className:"nav-icon"})}),t&&(0,o.jsx)(q,{showTooltipWhenEmpty:r,showModelName:n,playgroundSDK:l})]})}var Y=r(6453),_=r(4458);let $=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},e),r=r={children:[(0,o.jsx)("path",{stroke:"#6D6D6D",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M22 9.483A14.53 14.53 0 0 0 9.75 5.674M19 12.9a9.85 9.85 0 0 0-4.75-2.642M5 12.9a10 10 0 0 1 2.18-1.65M8 16.157a5.63 5.63 0 0 1 2.5-1.455"}),(0,o.jsx)("path",{fill:"#6D6D6D",fillRule:"evenodd",d:"M12 20a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5",clipRule:"evenodd"}),(0,o.jsx)("path",{stroke:"#6D6D6D",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 20 4 4M2 9.483a15 15 0 0 1 1.75-1.42"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function ee(e){let{title:t="Connect to a device"}=e;return(0,o.jsx)("div",{style:{display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center"},children:(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4},children:[(0,o.jsx)($,{"aria-hidden":"true",style:{width:24,height:24,objectFit:"contain"}}),(0,o.jsx)("h2",{style:{margin:0,whiteSpace:"nowrap",textAlign:"center",fontSize:13,lineHeight:"24px",fontWeight:400,color:"rgba(0, 0, 0, 0.85)"},children:t})]})})}var et=r(1352),er=r(955),en=r(6921);function ei(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function eo(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){ei(o,n,i,a,s,"next",e)}function s(e){ei(o,n,i,a,s,"throw",e)}a(void 0)})}}function ea(e){let{getScreenshot:t,getInterfaceInfo:r,serverOnline:n,isUserOperating:i=!1,mjpegUrl:s,mode:l="default",contentRef:A}=e,[c,u]=(0,a.useState)(null),[d,p]=(0,a.useState)(!1),[f,m]=(0,a.useState)(null),[y,v]=(0,a.useState)(0),[b,w]=(0,a.useState)(null),[E,k]=(0,a.useState)(()=>String(Date.now())),x=(0,a.useRef)(null),S=!!(s&&n),C=["screenshot-viewer","screen-only"===l&&"screen-only"].filter(Boolean).join(" "),I=(0,a.useRef)(null),j=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!S)return;let e=window.setTimeout(()=>{let e=x.current;!e||e.naturalWidth>0||e.naturalHeight>0||k(String(Date.now()))},2500);return()=>window.clearTimeout(e)},[S,E,s]);let O=(0,a.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return eo(function*(){if(n){p(!0),e&&m(null);try{let e=yield t();if(console.log("Screenshot API response:",e),null==e?void 0:e.screenshot){let t=e.screenshot.toString().trim();t?(u(t),m(null),v(Date.now())):m("Empty screenshot data received")}else m("No screenshot data in response")}catch(e){console.error("Screenshot fetch error:",e),m(e instanceof Error?e.message:"Failed to fetch screenshot")}finally{p(!1)}}})()},[t,n]),P=(0,a.useCallback)(()=>eo(function*(){if(n&&r)try{let e=yield r();e&&w(e)}catch(e){console.error("Interface info fetch error:",e)}})(),[r,n]),R=(0,a.useCallback)(()=>{I.current&&clearInterval(I.current),console.log("Starting screenshot polling (5s interval)"),I.current=setInterval(()=>{!j.current&&n&&O(!1)},5e3)},[O,n]),M=(0,a.useCallback)(()=>{I.current&&(console.log("Stopping screenshot polling"),clearInterval(I.current),I.current=null)},[]),T=(0,a.useCallback)(()=>{console.log("Pausing screenshot polling"),j.current=!0},[]),N=(0,a.useCallback)(()=>{console.log("Resuming screenshot polling"),j.current=!1},[]),D=(0,a.useCallback)(()=>{O(!0)},[O]);if((0,a.useEffect)(()=>{if(!n){u(null),m(null),w(null),M();return}return(P(),S)?void M():(O(!1),R(),()=>{M()})},[n,S,R,M,O,P]),(0,a.useEffect)(()=>{n&&!S&&(i?T():(N(),O(!1)))},[i,T,N,O,n,S]),(0,a.useEffect)(()=>()=>{M()},[M]),!n)return(0,o.jsx)("div",{className:`${C} offline`,children:(0,o.jsxs)("div",{className:"screenshot-placeholder",children:[(0,o.jsx)("h3",{children:"\uD83D\uDCF1 Screen Preview"}),(0,o.jsx)("p",{children:"Start the playground server to see real-time screenshots"})]})});if(!S&&d&&!c)return(0,o.jsxs)("div",{className:`${C} loading`,children:[(0,o.jsx)(en.A,{size:"large"}),(0,o.jsx)("p",{children:"Loading screenshot..."})]});if(!S&&f&&!c)return(0,o.jsx)("div",{className:`${C} error`,children:(0,o.jsxs)("div",{className:"screenshot-placeholder",children:[(0,o.jsx)("h3",{children:"\uD83D\uDCF1 Screen Preview"}),(0,o.jsx)("p",{className:"error-message",children:f})]})});let B=(0,o.jsx)("div",{className:"screenshot-content",ref:A,children:S?(0,o.jsx)("img",{ref:x,src:E?`${s}${(null==s?void 0:s.includes("?"))?"&":"?"}_mjpegRetry=${encodeURIComponent(E)}`:s,alt:"Device Live Stream",className:"screenshot-image",onError:()=>{window.setTimeout(()=>k(String(Date.now())),500)}},E||"initial"):c?(0,o.jsx)("img",{src:c.startsWith("data:image/")?c:`data:image/png;base64,${c}`,alt:"Device Screenshot",className:"screenshot-image",onLoad:()=>console.log("Screenshot image loaded successfully"),onError:e=>{console.error("Screenshot image load error:",e),console.error("Screenshot data preview:",c.substring(0,100)),m("Failed to load screenshot image")}}):(0,o.jsx)("div",{className:"screenshot-placeholder",children:(0,o.jsx)("p",{children:"No screenshot available"})})});return"screen-only"===l?(0,o.jsx)("div",{className:C,children:B}):(0,o.jsxs)("div",{className:C,children:[(0,o.jsx)("div",{className:"screenshot-header",children:(0,o.jsx)("div",{className:"screenshot-title",children:(0,o.jsx)("h3",{children:(null==b?void 0:b.type)?b.type:"Device Name"})})}),(0,o.jsxs)("div",{className:"screenshot-container",children:[(0,o.jsxs)("div",{className:"screenshot-overlay",children:[(0,o.jsxs)("div",{className:"device-name-overlay",children:["Device Name",(0,o.jsx)(h.A,{title:null==b?void 0:b.description,children:(0,o.jsx)(et.A,{size:16,className:"info-icon"})})]}),!S&&(0,o.jsxs)("div",{className:"screenshot-controls",children:[y>0&&(0,o.jsxs)("span",{className:"last-update-time",children:["Last updated ",(e=>{if(!e)return"";let t=Math.floor((Date.now()-e)/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:new Date(e).toLocaleTimeString()})(y)]}),(0,o.jsx)(h.A,{title:"Refresh screenshot",children:(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(er.A,{}),onClick:D,loading:d,size:"small"})}),i&&(0,o.jsxs)("span",{className:"operation-indicator",children:[(0,o.jsx)(en.A,{size:"small"})," Operating..."]})]})]}),B]})]})}var es=r(3393),el=r(2397);let eA=new Set(["Backspace","Delete","Enter","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]),ec=new Set(["Alt","Control","Meta","Shift"]);function eu(e,t){let r=t.width/t.height;if(e.height<=0||e.width<=0)return e;if(e.width/e.height>r){let t=e.height*r;return{left:e.left+(e.width-t)/2,top:e.top,width:t,height:e.height}}let n=e.width/r;return{left:e.left,top:e.top+(e.height-n)/2,width:e.width,height:n}}function ed(e){let{enabled:t,deviceSize:r,onTap:n,onSwipe:i,scrollEnabled:s=!1,onWheelScroll:l,keyboardEnabled:A=!1,onTextInput:c,onKeyboardPress:u,contentRef:d,tapMaxDistance:p=8,tapMaxDurationMs:h=250,style:f}=e,g=(0,a.useRef)(null),m=(0,a.useRef)(null),y=(0,a.useRef)(null),v=(0,a.useRef)(!1),b=(0,a.useRef)(!1),w=(0,a.useRef)(0),E=(0,a.useRef)(null),k=(0,a.useRef)(null),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{if(A){b.current=!0;let e=m.current;e&&document.activeElement!==e&&e.focus({preventScroll:!0})}},[A]),C=(0,a.useCallback)((e,t)=>{A&&Promise.resolve(t).catch(()=>void 0).then(()=>{window.setTimeout(()=>{b.current&&w.current===e&&S()},0)})},[S,A]),I=(0,a.useCallback)((e,t)=>{let r=g.current,n=m.current;if(!r||!n)return;let i=r.getBoundingClientRect();n.style.left=`${Math.max(0,e-i.left)}px`,n.style.top=`${Math.max(0,t-i.top)}px`},[]),j=(0,a.useCallback)((e,t,n)=>{if(!r)return null;let i=(e-n.left)/n.width,o=(t-n.top)/n.height;return{x:Math.max(0,Math.min(r.width-1,Math.round(i*r.width))),y:Math.max(0,Math.min(r.height-1,Math.round(o*r.height)))}},[r]),O=(0,a.useCallback)(e=>{var n;if(!t||!r||!g.current||0!==e.button&&"mouse"===e.pointerType)return;let i=eu((null!=(n=null==d?void 0:d.current)?n:g.current).getBoundingClientRect(),r);if(e.clientX<i.left||e.clientX>i.left+i.width||e.clientY<i.top||e.clientY>i.top+i.height){b.current=!1;return}I(e.clientX,e.clientY);let o=w.current+1;w.current=o,S();try{g.current.setPointerCapture(e.pointerId)}catch(e){}y.current={startX:e.clientX,startY:e.clientY,startTime:performance.now(),contentRect:i,keyboardFocusRequestId:o},e.preventDefault()},[d,t,r,S,I]),P=(0,a.useCallback)((e,t)=>{let r=y.current;if(y.current=null,!r)return;try{var o;null==(o=g.current)||o.releasePointerCapture(e.pointerId)}catch(e){}if(t)return;let a=e.clientX-r.startX,s=e.clientY-r.startY,l=Math.sqrt(a*a+s*s),A=Math.max(0,performance.now()-r.startTime),c=j(r.startX,r.startY,r.contentRect),u=j(e.clientX,e.clientY,r.contentRect);c&&u&&(E.current=u,l<=p&&A<=h?C(r.keyboardFocusRequestId,null==n?void 0:n(c)):null==i||i(c,u,Math.round(A)))},[n,i,j,C,p,h]),R=(0,a.useCallback)(e=>P(e,!1),[P]),M=(0,a.useCallback)(e=>P(e,!0),[P]),T=(0,a.useCallback)(()=>{let e=k.current;k.current=null,x.current&&(clearTimeout(x.current),x.current=null),e&&(null==l||l(e.point,{deltaX:e.deltaX,deltaY:e.deltaY}))},[l]),N=(0,a.useCallback)(e=>{var n;if(!t||!s||!r||!g.current)return;let i=eu((null!=(n=null==d?void 0:d.current)?n:g.current).getBoundingClientRect(),r);if(e.clientX<i.left||e.clientX>i.left+i.width||e.clientY<i.top||e.clientY>i.top+i.height)return;let o=j(e.clientX,e.clientY,i);if(!o)return;e.preventDefault(),e.stopPropagation();let a=k.current;k.current={point:o,deltaX:((null==a?void 0:a.deltaX)||0)+e.deltaX,deltaY:((null==a?void 0:a.deltaY)||0)+e.deltaY},x.current&&clearTimeout(x.current),x.current=setTimeout(T,80)},[d,r,t,T,j,s]),D=(0,a.useCallback)(()=>{var e;(null==(e=m.current)?void 0:e.value)&&(m.current.value="")},[]),B=(0,a.useCallback)(e=>{var t;if(A&&b.current){if(!e.altKey&&(e.metaKey||e.ctrlKey)&&"c"===e.key.toLowerCase()&&function(e){let t=window.getSelection();if(!t||t.isCollapsed||!e)return!1;let{anchorNode:r,focusNode:n}=t;return!!r&&!!n&&!e.contains(r)&&!e.contains(n)}(g.current)){b.current=!1;return}if(!v.current&&!e.isComposing&&!function(e){if("F5"===e.key||"F11"===e.key||"F12"===e.key)return!0;if(!(e.metaKey||e.ctrlKey))return!1;let t=e.key.toLowerCase();return!!e.altKey&&"i"===t||!!e.shiftKey&&("i"===t||"j"===t)||new Set(["r","q","w","m","h","n","t","+","=","-","_","0"]).has(t)}(e)&&(eA.has(e.key)||e.altKey||e.ctrlKey||e.metaKey)){let r=function(e){if(ec.has(e.key))return null;let t=[];return e.ctrlKey&&t.push("Control"),e.metaKey&&t.push("Meta"),e.altKey&&t.push("Alt"),e.shiftKey&&"Shift"!==e.key&&t.push("Shift"),t.push(" "===e.key?"Space":e.key),t.join("+")}(e);if(!r)return;e.preventDefault(),e.stopPropagation(),null==u||u(r,null!=(t=E.current)?t:void 0)}}},[A,u]),z=(0,a.useCallback)(e=>{var t;if(!A||!b.current)return;let r=e.clipboardData.getData("text");r&&(e.preventDefault(),e.stopPropagation(),null==c||c(r,null!=(t=E.current)?t:void 0))},[A,c]),L=(0,a.useCallback)(e=>{var t,r,n,i,o;if(!A||!b.current){v.current||D();return}if(v.current)return;let a=e.nativeEvent;if("insertLineBreak"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Enter",null!=(r=E.current)?r:void 0);return}if("deleteContentBackward"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Backspace",null!=(n=E.current)?n:void 0);return}if("deleteContentForward"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Delete",null!=(i=E.current)?i:void 0);return}let s=a.data||(null==(t=m.current)?void 0:t.value)||"";D(),s&&(e.preventDefault(),e.stopPropagation(),null==c||c(s,null!=(o=E.current)?o:void 0))},[D,A,u,c]);return((0,a.useEffect)(()=>{t||(y.current=null,k.current=null,x.current&&(clearTimeout(x.current),x.current=null),v.current=!1,b.current=!1,E.current=null)},[t]),(0,a.useEffect)(()=>{if(!t||!A){b.current=!1;return}let e=e=>{let t=g.current;t&&e.target instanceof Node&&t.contains(e.target)||(b.current=!1)};return window.addEventListener("keydown",B,!0),window.addEventListener("pointerdown",e,!0),()=>{window.removeEventListener("keydown",B,!0),window.removeEventListener("pointerdown",e,!0)}},[t,B,A]),(0,a.useEffect)(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null)},[]),t&&r)?(0,o.jsx)("div",{ref:g,onPointerDown:O,onPointerUp:R,onPointerCancel:M,onWheel:N,onContextMenu:e=>e.preventDefault(),"data-midscene-device-interaction-layer":"true",style:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({position:"absolute",inset:0,zIndex:5,cursor:A?"default":"crosshair",outline:"none",color:"transparent",caretColor:"transparent",touchAction:"none",userSelect:"none"},f),children:A?(0,o.jsx)("textarea",{ref:m,"data-midscene-keyboard-sink":"true",tabIndex:-1,onPaste:z,onCompositionStart:()=>{b.current=!0,v.current=!0},onCompositionEnd:e=>{var t,r;if(!A||!b.current)return;v.current=!1;let n=e.data||(null==(t=m.current)?void 0:t.value)||"";D(),n&&(null==c||c(n,null!=(r=E.current)?r:void 0))},onInput:L,style:{position:"absolute",left:0,top:0,width:32,height:24,opacity:0,pointerEvents:"none",appearance:"none",boxShadow:"none",overflow:"hidden",resize:"none",border:0,padding:0,margin:0,outline:"none",background:"transparent",color:"transparent",caretColor:"transparent",fontSize:16,lineHeight:"20px",transform:"translate(-50%, -50%)"}}):null}):null}var ep=r(4093),eh=r(6418),ef=r(4452),eg=r(2644);function em(){return"Preparing Android device connection…"}function ey(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function ev(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){ey(o,n,i,a,s,"next",e)}function s(e){ey(o,n,i,a,s,"throw",e)}a(void 0)})}}function eb(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let{Text:ew}=u.A;function eE(e){let{connectingOverlay:t,deviceId:r,onIntrinsicSize:n,onStatusChange:i,renderErrorOverlay:s,serverUrl:l,metadataTimeoutMs:A=55e3,reconnectInterval:c=3e3,viewportStyle:u,contentRef:d}=e,p=(0,a.useRef)(null),h=(0,a.useRef)(null),f=(0,a.useRef)(null),g=(0,a.useRef)(null),m=(0,a.useRef)(null),v=(0,a.useRef)(!1),[b,w]=(0,a.useState)("connecting"),[E,k]=(0,a.useState)(null),[x,S]=(0,a.useState)(()=>em()),[C,I]=(0,a.useState)(!0),[j,O]=(0,a.useState)(0),P=(0,a.useMemo)(()=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:em();switch(e){case"connected":return"Live scrcpy preview connected";case"waiting-for-stream":return t;case"error":return"Unable to start scrcpy preview";case"disconnected":return"scrcpy preview disconnected, retrying…";default:return"Connecting to scrcpy preview server…"}})(b,x),[b,x]),R=("error"===b||"disconnected"===b)&&!!s,M=(0,a.useCallback)(()=>{w("connecting"),k(null),S(em()),O(e=>e+1)},[]);(0,a.useEffect)(()=>{null==i||i(b,P)},[i,b,P]);let T=()=>{let e=p.current;e&&e.replaceChildren()},N=()=>{f.current&&(f.current.dispose(),f.current=null)},D=()=>{g.current&&(clearTimeout(g.current),g.current=null)};return(0,a.useEffect)(()=>{if(!l){w("error"),k("scrcpy preview metadata is missing a server URL.");return}if(!es.p.isSupported){I(!1),w("error"),k("Current browser does not support WebCodecs, so live scrcpy preview is unavailable.");return}let e=!1,t=null,i=()=>{t&&(clearTimeout(t),t=null),D(),m.current&&(clearTimeout(m.current),m.current=null),h.current&&(h.current.disconnect(),h.current=null),N(),T(),null==n||n(null)},o=()=>{e||m.current||(m.current=setTimeout(()=>{m.current=null,i(),a()},c))},a=()=>{let t,i,a,s;if(e)return;v.current=!1,w("connecting"),k(null),S(em());let c=(0,eg.io)(l,{withCredentials:!0,reconnection:!1,timeout:1e4,transports:["websocket"]});h.current=c;let u=(i=!1,a=[],s=new TransformStream({transform(e,t){if("configuration"===e.type){i=!0,t.enqueue(e),a.forEach(e=>t.enqueue(e)),a=[];return}"data"!==e.type||i?t.enqueue(e):a.push(e)}}),new ReadableStream({start(e){let r=t=>{try{var r;let n=(r=t.data)instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength);if("configuration"===t.type)return void e.enqueue({type:"configuration",data:n});e.enqueue({type:"data",data:n,keyframe:t.keyFrame})}catch(t){e.error(t)}},n=()=>e.close(),i=t=>e.error(t);t=()=>{c.off("video-data",r),c.off("disconnect",n),c.off("error",i)},c.on("video-data",r),c.on("disconnect",n),c.on("error",i)},cancel(){null==t||t()}}).pipeThrough(s));c.on("connect",()=>{var t,n;w("waiting-for-stream"),S(em()),D(),g.current=setTimeout(()=>{e||(v.current=!0,w("error"),k(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:55e3,t=Math.max(1,Math.round(e/1e3));return`Timed out waiting ${t}s for scrcpy video stream metadata.`}(A)),S(em()),c.disconnect(),h.current=null,o())},A),c.emit("connect-device",(t=eb({},"string"==typeof r&&r.trim()?{deviceId:r.trim()}:{}),n=n={maxSize:1024},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}),c.on("preview-status",t=>{var r;!e&&"object"==typeof(r=t)&&null!==r&&"message"in r&&"string"==typeof r.message&&(w("waiting-for-stream"),S(t.message))}),c.on("video-metadata",t=>ev(function*(){try{D(),N(),S("Starting video decoder…"),"number"==typeof t.width&&t.width>0&&"number"==typeof t.height&&t.height>0&&(null==n||n({width:t.width,height:t.height}));let r=t.codec?t.codec:ep.n.H264,i=yield ev(function*(){var e;let t=eh.p.isSupported?new eh.p:new ef.x,n=t.canvas;return n.style.width="100%",n.style.height="100%",n.style.objectFit="contain",T(),null==(e=p.current)||e.appendChild(n),new es.p({codec:r,renderer:t})})();f.current=i,u.pipeTo(i.writable).catch(t=>{e||(w("error"),k(t.message),o())}),S(em()),w("connected")}catch(t){if(e)return;w("error"),k(t instanceof Error?t.message:"Failed to start decoder."),S(em()),o()}})()),c.on("disconnect",()=>{if(D(),!e){if(v.current){v.current=!1;return}w("disconnected"),k(null),S(em()),o()}}),c.on("connect_error",t=>{D(),e||(w("error"),k(t.message),S(em()),o())}),c.on("error",t=>{D(),e||(w("error"),k(t.message),S(em()),o())})};return t=setTimeout(()=>{t=null,a()},0),()=>{e=!0,i()}},[r,A,c,j,l]),(0,o.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column"},children:[E&&!R?(0,o.jsx)(y.A,{type:"warning",showIcon:!0,style:{marginBottom:12},message:P,description:E}):null,(0,o.jsxs)("div",{ref:d,style:eb({position:"relative",flex:1,minHeight:0,display:"flex",alignItems:"center",justifyContent:"center",background:"#111827",borderRadius:8,overflow:"hidden"},u),children:[(0,o.jsx)("div",{ref:p,style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"}}),"connected"!==b?R&&s?(0,o.jsx)("div",{style:{position:"absolute",inset:0,zIndex:1},children:s({errorMessage:E,retry:M,status:b,statusText:P})}):"error"!==b&&"disconnected"!==b&&t?(0,o.jsx)("div",{style:{position:"absolute",inset:0,zIndex:1},children:t}):(0,o.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,color:"#fff",background:"rgba(17, 24, 39, 0.78)",textAlign:"center",padding:24,zIndex:1},children:["error"===b?null:(0,o.jsx)(en.A,{spinning:!0}),(0,o.jsx)(ew,{style:{color:"#fff"},children:P}),"error"===b?(0,o.jsx)(ew,{style:{color:"#d1d5db"},children:"Scrcpy preview will retry automatically."}):null,!C&&(0,o.jsx)(ew,{style:{color:"#d1d5db"},children:"Please use a modern Chromium browser to view the stream."})]}):null]})]})}let ek=["android","ios","web","harmony","computer"],ex=["countdown-before-run"];function eS(e,t){var r;for(let t of[null==e?void 0:e.platformId,null==e||null==(r=e.interface)?void 0:r.type].filter(e=>!!e)){let e=t.toLowerCase();if(ek.includes(e))return e}return t}function eC(e){return((null==e?void 0:e.executionUxHints)||[]).filter(e=>ex.includes(e))}function eI(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function ej(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){eI(o,n,i,a,s,"next",e)}function s(e){eI(o,n,i,a,s,"throw",e)}a(void 0)})}}function eO(e){var t,r;let{connectingOverlay:n,onDeviceSizeChange:i,onScrcpyStatusChange:s,renderErrorOverlay:l,scrcpyViewportStyle:A,screenshotViewerMode:c,playgroundSDK:u,runtimeInfo:d,serverUrl:h,serverOnline:f,isUserOperating:g}=e,{message:m}=p.A.useApp(),v=function(e,t){let r=null==e?void 0:e.preview;if(!r||"none"===r.kind||"custom"===r.kind)return{type:"none"};let n=t||"undefined"!=typeof window&&window.location.origin||"";if("mjpeg"===r.kind){let e=r.mjpegPath||"/mjpeg";return n?{type:"mjpeg",mjpegUrl:new URL(e,`${n}/`).toString()}:{type:"screenshot"}}if("scrcpy"===r.kind){var i,o;let t,a="string"==typeof(null==e||null==(i=e.metadata)?void 0:i.deviceId)?e.metadata.deviceId.trim():void 0;if("string"==typeof a&&/^\d+\.\d+\.\d+\.\d+:\d+$/.test(a))return{type:"screenshot"};let s=Number(null==(o=r.custom)?void 0:o.scrcpyPort),l=Number.isFinite(s)?s:void 0,A=l&&n?((t=new URL(n)).port=String(l),t.pathname="/",t.search="",t.hash="",t.toString()):void 0;return{deviceId:a,type:"scrcpy",scrcpyPort:l,scrcpyUrl:A}}return{type:"screenshot"}}(d,h),[b,w]=(0,a.useState)(null),[E,k]=(0,a.useState)(null),[x,S]=(0,a.useState)(null),[C,I]=(0,a.useState)("connecting"),j=(0,a.useRef)(Promise.resolve()),O=(0,a.useRef)(""),P=(0,a.useRef)(null),R=(0,a.useRef)(null),M=(0,a.useRef)(null),T=(0,a.useRef)(null),N=null!=(t=null==x?void 0:x.includes("Tap"))&&t,D=(null==x?void 0:x.includes("Swipe"))?"Swipe":"DragAndDrop",B=(null==x?void 0:x.includes("KeyboardPress"))||(null==x?void 0:x.includes("Input"))||!1,z=null!=(r=null==x?void 0:x.includes("Scroll"))&&r,L=(0,a.useCallback)(e=>{let t=j.current.then(e,e);return j.current=t.catch(()=>void 0),t},[m]);(0,a.useEffect)(()=>{if(!f){w(null),S(null);return}let e=!1,t=()=>ej(function*(){var t;let r;try{r=yield u.getInterfaceInfo()}catch(e){return}if(e)return;if((null==r||null==(t=r.size)?void 0:t.width)&&r.size.height){let{size:e}=r;w(t=>t&&t.width===e.width&&t.height===e.height?t:{width:e.width,height:e.height})}let n=Array.isArray(null==r?void 0:r.actionTypes)?r.actionTypes:null;S(e=>null===e&&null===n||e&&n&&e.length===n.length&&e.every((e,t)=>e===n[t])?e:n)})();t();let r=setInterval(t,5e3);return()=>{e=!0,clearInterval(r)}},[u,f]),(0,a.useEffect)(()=>{null==i||i(null!=E?E:b)},[b,i,E]);let F="scrcpy"===v.type&&es.p.isSupported,K="screenshot"===v.type||"scrcpy"===v.type&&!F,U="scrcpy"===v.type&&!es.p.isSupported&&function(){try{let{protocol:e,hostname:t}=window.location;if("http:"!==e)return!1;return"localhost"!==t&&"127.0.0.1"!==t&&"::1"!==t}catch(e){return!1}}(),Q="none"!==v.type&&(!F||"connected"===C),Z=(0,a.useCallback)((e,t)=>{m.open({type:"error",content:t||e,key:"manual-control-error"})},[]),J=(0,a.useCallback)(()=>{R.current&&(clearTimeout(R.current),R.current=null)},[]),X=(0,a.useCallback)(()=>{var e,t;J();let r=O.current,n=P.current;if(!r)return null!=(e=M.current)?e:Promise.resolve();O.current="",P.current=null;let i=(null!=(t=M.current)?t:Promise.resolve()).catch(()=>void 0).then(()=>ej(function*(){let e=yield L(()=>u.interact(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({actionType:"Input",value:r,mode:"typeOnly"},n?{x:n.x,y:n.y}:{})));e.ok||Z("Input failed",e.error)})()).finally(()=>{M.current===i&&(M.current=null)});return M.current=i,M.current},[J,L,u,Z]),H=(0,a.useCallback)(e=>ej(function*(){yield X();let t=yield L(()=>u.interact({actionType:"Tap",x:e.x,y:e.y}));t.ok||Z("Tap failed",t.error)})(),[L,X,u,Z]),G=(0,a.useCallback)((e,t,r)=>ej(function*(){yield X();let n=yield L(()=>{var n,i,o,a,s,l;let A;return u.interact((n=D,i=e,o=t,a=r,A={actionType:n,x:i.x,y:i.y,endX:o.x,endY:o.y},"DragAndDrop"===n?A:(s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},A),l=l={duration:a},Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(l)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(l)).forEach(function(e){Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(l,e))}),s)))});n.ok||Z(`${D} failed`,n.error)})(),[L,X,D,u,Z]),V=(0,a.useCallback)((e,t)=>{e&&(O.current+=e,t&&(P.current=t),J(),R.current=setTimeout(()=>{X()},120))},[J,X]);(0,a.useEffect)(()=>{f&&Q&&B||(J(),O.current="",P.current=null)},[J,B,Q,f]),(0,a.useEffect)(()=>()=>{f&&Q&&B&&O.current?X():(J(),P.current=null)},[J,X,B,v.type,Q,d,f,h]);let q=(0,a.useCallback)(e=>ej(function*(){if(!e)return;yield X();let t=yield L(()=>u.interact({actionType:"KeyboardPress",keyName:e}));t.ok||Z("Keyboard press failed",t.error)})(),[L,X,u,Z]),W=(0,a.useCallback)((e,t)=>ej(function*(){yield X();let r=yield L(()=>{let r,n,i;return u.interact((n=(r=Math.abs(t.deltaY)>=Math.abs(t.deltaX))?Math.abs(t.deltaY):Math.abs(t.deltaX),i=r?t.deltaY>=0?"down":"up":t.deltaX>=0?"right":"left",{actionType:"Scroll",x:e.x,y:e.y,scrollType:"singleAction",direction:i,distance:Math.max(1,Math.round(n))}))});r.ok||Z("Scroll failed",r.error)})(),[L,X,u,Z]),Y=(0,a.useCallback)((e,t)=>{I(e),null==s||s(e,t)},[s]);return(0,o.jsxs)("div",{style:{flex:1,minHeight:0,height:"100%",position:"relative"},children:[U&&(0,o.jsx)(el.A,{content:(0,o.jsxs)("div",{style:{maxWidth:360},children:[(0,o.jsx)("p",{style:{margin:"0 0 8px"},children:"Live scrcpy streaming is unavailable because WebCodecs API is disabled in non-secure (HTTP) contexts with non-localhost addresses."}),(0,o.jsx)("p",{style:{margin:"0 0 8px"},children:"Currently using screenshot polling as fallback. To enable scrcpy streaming:"}),(0,o.jsxs)("ol",{style:{margin:0,paddingLeft:18},children:[(0,o.jsxs)("li",{children:["Open"," ",(0,o.jsx)("code",{children:"chrome://flags/#unsafely-treat-insecure-origin-as-secure"})]}),(0,o.jsxs)("li",{children:["Add ",(0,o.jsx)("code",{children:window.location.origin})]}),(0,o.jsxs)("li",{children:["Set to ",(0,o.jsx)("b",{children:"Enabled"})," and relaunch Chrome"]})]})]}),title:"Screenshot polling mode",trigger:"click",placement:"bottomRight",children:(0,o.jsx)("button",{type:"button",style:{position:"absolute",top:8,right:8,zIndex:10,background:"#faad14",border:"none",borderRadius:"50%",width:28,height:28,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",boxShadow:"0 2px 6px rgba(0,0,0,0.2)"},children:(0,o.jsx)("span",{style:{color:"#fff",fontSize:14,fontWeight:"bold",lineHeight:1},children:"!"})})}),"none"===v.type?(0,o.jsx)(y.A,{type:"warning",showIcon:!0,message:"Preview unavailable",description:"This session did not expose a preview capability in runtime metadata."}):F?(0,o.jsx)(eE,{connectingOverlay:n,deviceId:v.deviceId,onIntrinsicSize:k,onStatusChange:Y,renderErrorOverlay:l,serverUrl:v.scrcpyUrl,viewportStyle:A,contentRef:T}):(0,o.jsx)(ea,{getScreenshot:()=>K?u.getScreenshot():Promise.resolve(null),getInterfaceInfo:()=>u.getInterfaceInfo(),serverOnline:f,isUserOperating:g,mjpegUrl:v.mjpegUrl,mode:null!=c?c:"screen-only",contentRef:T}),(0,o.jsx)(ed,{enabled:N&&f&&Q,deviceSize:b,contentRef:T,onTap:H,onSwipe:G,scrollEnabled:z,onWheelScroll:W,keyboardEnabled:B,onTextInput:V,onKeyboardPress:q})]})}function eP(e){return(0,o.jsx)(eO,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e))}var eR=r(2770);function eM(e){let{children:t}=e;return(0,o.jsx)(eR.Ay,{theme:{token:{colorPrimary:"#2B83FF"},components:{Layout:{headerHeight:60,headerPadding:"0 30px",headerBg:"#FFF",bodyBg:"#FFF"}}},children:(0,o.jsx)(p.A,{component:!1,children:t})})}var eT=r(4565),eN=r(217),eD=r(6987);let eB=()=>{let e=(0,eN.j)(eD.v4),t="";e&&(console.warn("MIDSCENE_DEBUG_MODEL_PROFILE is deprecated, use DEBUG=midscene:ai:profile instead"),t="ai:profile"),(0,eN.j)(eD.$l)&&(console.warn("MIDSCENE_DEBUG_MODEL_RESPONSE is deprecated, use DEBUG=midscene:ai:response instead"),t=t?"ai:*":"ai:call"),t&&(0,eT.N)(t)};var ez=r(5409);function eL(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let eF={modelName:eD._q,socksProxy:eD.T4,httpProxy:eD.Yf,openaiBaseURL:eD.kX,openaiApiKey:eD.Lh,openaiExtraConfig:eD.Z7,extraBody:eD.Pm,modelFamily:eD.v,timeout:eD.Yg,temperature:eD.V7,retryCount:eD.vC,retryInterval:eD.xg,reasoningEffort:eD.y2,reasoningEnabled:eD.nc,reasoningBudget:eD.fS},eK={modelName:eD.xP,socksProxy:eD.mZ,httpProxy:eD.zQ,openaiBaseURL:eD.zG,openaiApiKey:eD.OK,openaiExtraConfig:eD.ag,extraBody:eD.WH,modelFamily:eD.OY,timeout:eD.Z$,temperature:eD.Cn,retryCount:eD.sg,retryInterval:eD.wu,reasoningEffort:eD.Vb,reasoningEnabled:eD.u1,reasoningBudget:eD.aO},eU={modelName:eD.HR,socksProxy:eD.iw,httpProxy:eD.FU,openaiBaseURL:eD.$H,openaiApiKey:eD.IQ,openaiExtraConfig:eD.I2,extraBody:eD.G0,modelFamily:eD.yR,timeout:eD.zD,temperature:eD.W4,retryCount:eD.Km,retryInterval:eD.aK,reasoningEffort:eD.VM,reasoningEnabled:eD.M1,reasoningBudget:eD.AU};var eQ=r(9152);let eZ=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*";if("string"!=typeof e||0===e.length)return e;if(e.length<=6)return e;let r=e.substring(0,3),n=e.substring(e.length-3),i=e.length-6,o=t.repeat(i);return`${r}${o}${n}`},eJ=e=>Object.fromEntries(Object.entries(e).map(e=>{let[t,r]=e;if(!r)return[t,r];if("string"==typeof r&&/key/i.test(t))return[t,eZ(r)];if("object"==typeof r){let e=JSON.stringify(r);if(/key/i.test(e))return[t,eZ(e)]}return[t,r]})),eX=(e,t)=>{if(t)try{return JSON.parse(t)}catch(t){throw Error(`Failed to parse ${e} as a JSON. ${t.message}`,{cause:t})}},eH={insight:eF,planning:eK,default:eU},eG=(e,t)=>{let r=(0,eT.a)("ai:config");r("will decideModelConfig base on agent.modelConfig()",e,eJ(t));let n=eH[e];if(!t[n.modelName])return void r("no modelName found for intent",e);let i=(e=>{var t,r,n;let i,{keys:o,provider:a,useLegacyLogic:s=!1}=e;eB(),(0,eT.a)("ai:config")("enter parseOpenaiSdkConfig with keys:",o);let l=s?a[eD.Jq]:void 0,A=s?a[eD.jG]:void 0,c=s?a[eD.$]:void 0,u=s?a[eD.CA]:void 0,d=s?a[eD.b6]:void 0,p=s?(e=>{let t=e[eD.pp],r=e[eD.yb],n=e[eD.NF],i=e[eD.JM],o=e[eD.j_],a=[t&&eD.pp,r&&eD.yb,n&&eD.NF,i&&eD.JM,o&&eD.j_].filter(Boolean);if(a.length>1)throw Error(`Only one vision mode can be enabled at a time. Currently enabled modes: ${a.join(", ")}. Please disable all but one mode.`);if(n)return"qwen3-vl";if(r)return"qwen2.5-vl";if(t)return"doubao-vision";if(o)return"gemini";if(i)if("1"===i)return"vlm-ui-tars";else if("DOUBAO"===i||"DOUBAO-1.5"===i)return"vlm-ui-tars-doubao-1.5";else return"vlm-ui-tars-doubao"})(a):void 0,h=a[o.modelFamily]||p,f=a[o.openaiApiKey]||l,g=a[o.openaiBaseURL]||A,m=a[o.socksProxy]||c,y=a[o.httpProxy]||u,v=a[o.modelName],b=a[o.openaiExtraConfig],w=eX(o.openaiExtraConfig,b||d),E=a[o.extraBody],k=eX(o.extraBody,E),x=(e=>{if(void 0===e||""===e)return;let t=Number(e);return Number.isFinite(t)?t:void 0})(a[o.temperature]);if(h&&!eD._j.includes(h))throw Error(`Invalid MIDSCENE_MODEL_FAMILY value: ${h}. Current version v1.10.3 accepts the following model families: ${eD._j.join(", ")}. You can also visit https://midscenejs.com/model-common-config.html for the latest configuration information.`);let S="vlm-ui-tars"===h?eD.UH.V1_0:"vlm-ui-tars-doubao"===h||"vlm-ui-tars-doubao-1.5"===h?eD.UH.DOUBAO_1_5_20B:void 0,C=S?`UI-TARS=${S}`:h?`${h} mode`:"";return{socksProxy:m,httpProxy:y,openaiBaseURL:g,openaiApiKey:f,openaiExtraConfig:(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return;let{defaultHeaders:t,extra_headers:r,extraHeaders:n,...i}=e,o=t??r??n;return void 0!==o?{...i,defaultHeaders:o}:i})(w),extraBody:k,modelFamily:h,uiTarsModelVersion:S,modelName:v,modelDescription:C,intent:"-",slot:"-",timeout:a[o.timeout]?Number(a[o.timeout]):void 0,temperature:x,retryCount:(()=>{if(!a[o.retryCount])return 1;let e=Number(a[o.retryCount]);if(!Number.isFinite(e))return 1;if(e<0)throw Error(`${o.retryCount} must be non-negative, got ${e}`);return e})(),retryInterval:(()=>{if(!a[o.retryInterval])return 2e3;let e=Number(a[o.retryInterval]);if(!Number.isFinite(e))return 2e3;if(e<0)throw Error(`${o.retryInterval} must be non-negative, got ${e}`);return e})(),reasoningEffort:(null==(t=a[o.reasoningEffort])?void 0:t.trim())||void 0,reasoningEnabled:"true"===(i=null==(n=a[o.reasoningEnabled])||null==(r=n.trim())?void 0:r.toLowerCase())||"1"===i||"false"!==i&&"0"!==i&&("default"===i?"default":void 0),reasoningBudget:(()=>{var e;let t=null==(e=a[o.reasoningBudget])?void 0:e.trim();if(!t)return;let r=Number(t);return Number.isFinite(r)?r:void 0})()}})({keys:n,provider:t,useLegacyLogic:"default"===e});return i.intent=e,i.slot=e,r("decideModelConfig result by agent.modelConfig() with intent",e,eJ({...i})),(0,eQ.vA)(i.openaiBaseURL,`failed to get base URL of model (intent=${e}). See https://midscenejs.com/model-strategy`),i.modelName||console.warn(`modelName is not set for intent ${e}, this may cause unexpected behavior. See https://midscenejs.com/model-strategy`),i};function eV(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class eq{initialize(){var e;let t;if(this.isInitialized)return;this.modelConfig?(this.isolatedMode=!0,t=this.normalizeModelConfig(this.modelConfig)):t=(null==(e=this.globalConfigManager)?void 0:e.getAllEnvConfig())||{};let r=eG("default",t);if(!r)throw Error("Model configuration is incomplete: model name (MIDSCENE_MODEL_NAME) is required. See https://midscenejs.com/model-strategy.html");let n=eG("insight",t),i=eG("planning",t);this.modelConfigMap={default:{...r,intent:"default",slot:"default",createOpenAIClient:this.createOpenAIClientFn},insight:{...n||r,intent:"insight",slot:n?"insight":"default",createOpenAIClient:this.createOpenAIClientFn},planning:{...i||r,intent:"planning",slot:i?"planning":"default",createOpenAIClient:this.createOpenAIClientFn}},this.isInitialized=!0}normalizeModelConfig(e){return Object.entries(e).reduce((e,t)=>{let[r,n]=t;return null==n||(e[r]=String(n)),e},Object.create(null))}clearModelConfigMap(){if(this.isolatedMode)throw Error("ModelConfigManager work in isolated mode, so clearModelConfigMap should not be called");this.isInitialized=!1}getModelConfig(e){if(this.isInitialized||this.initialize(),!this.modelConfigMap)throw Error("modelConfigMap is not initialized, which should not happen");return this.modelConfigMap[e]}getUploadTestServerUrl(){let{openaiExtraConfig:e}=this.getModelConfig("default");return null==e?void 0:e.REPORT_SERVER_URL}registerGlobalConfigManager(e){this.globalConfigManager=e}throwErrorIfNonVLModel(){if(!this.getModelConfig("default").modelFamily)throw Error("MIDSCENE_MODEL_FAMILY is not set to a multimodal model with UI localization, so element localization cannot be achieved. Check your model configuration. See https://midscenejs.com/model-strategy.html")}constructor(e,t){eV(this,"modelConfigMap",void 0),eV(this,"isInitialized",!1),eV(this,"isolatedMode",!1),eV(this,"globalConfigManager",void 0),eV(this,"modelConfig",void 0),eV(this,"createOpenAIClientFn",void 0),this.modelConfig=e,this.createOpenAIClientFn=t}}let eW=new eq,eY=new class{getAllEnvConfig(){let e=eD.tk.reduce((e,t)=>(e[t]=ez.env[t],e),Object.create(null));if(!this.override)return e;{let{newConfig:t,extendMode:r}=this.override;return r?{...e,...t}:{...t}}}getEnvConfigValue(e){let t=this.getAllEnvConfig();if(e===eD.Sk)throw Error("MATCH_BY_POSITION is discarded, use MIDSCENE_MODEL_FAMILY instead");if(!eD.rd.includes(e))throw Error(`getEnvConfigValue with key ${e} is not supported.`);let r=t[e];return(this.keysHaveBeenRead[e]=!0,"string"==typeof r)?r.trim():r}getEnvConfigInBoolean(e){let t=this.getAllEnvConfig();if(!eD.c$.includes(e))throw Error(`getEnvConfigInBoolean with key ${e} is not supported`);let r=t[e];return this.keysHaveBeenRead[e]=!0,!!r&&(!!/^(true|1)$/i.test(r)||!/^(false|0)$/i.test(r)&&!!r.trim())}getEnvConfigValueAsNumber(e){if(!eD.rd.includes(e)&&!eD.DL.includes(e))throw Error(`getEnvConfigValueAsNumber with key ${e} is not supported.`);let t=this.getAllEnvConfig()[e];if(this.keysHaveBeenRead[e]=!0,"string"!=typeof t)return;let r=t.trim();if(!r)return;let n=Number(r);return Number.isNaN(n)?void 0:n}registerModelConfigManager(e){this.globalModelConfigManager=e}overrideAIConfig(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(let t in e){if(![...eD.Lg,...eD.XE].includes(t))throw Error(`Failed to override AI config, invalid key: ${t}`);let r=e[t];if("string"!=typeof r)throw Error(`Failed to override AI config, value for key ${t} must be a string, but got with type ${typeof r}`);this.keysHaveBeenRead[t]&&console.warn(`Warning: try to override AI config with key ${t} ,but it has been read.`)}let n=r?{...null==(t=this.override)?void 0:t.newConfig,...e}:e;if(this.override={newConfig:{...n},extendMode:r},!this.globalModelConfigManager)throw Error("globalModelConfigManager is not registered, which should not happen");this.globalModelConfigManager.clearModelConfigMap()}constructor(){eL(this,"override",void 0),eL(this,"keysHaveBeenRead",{}),eL(this,"globalModelConfigManager",void 0),eB()}};eY.registerModelConfigManager(eW),eW.registerGlobalConfigManager(eY);let e_=()=>{let e=eY.getEnvConfigValue(eD.El);return e?e:"Asia/Shanghai"===Intl.DateTimeFormat().resolvedOptions().timeZone?"Chinese":"English"},e$=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];eY.overrideAIConfig(e,t)};var e0=r(3585),e1=r(5409),e2=r(4201).Buffer;function e3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let e5=(0,eT.a)("ai:call:codex"),e7=(0,eT.a)("ai:call:codex",{console:!0});class e4{async run(e){let t,r=this.tail;this.tail=new Promise(e=>{t=e}),await r;try{return await e()}finally{t()}}constructor(){e3(this,"tail",Promise.resolve())}}let e8=e=>{if(!e)return!1;if(e instanceof Error&&"AbortError"===e.name)return!0;let t=e instanceof Error?e.message:String(e??"unknown error");return/aborted|abort/i.test(t)},e6=e=>{if("string"==typeof e)return e.trim()||void 0},e9=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e1.platform;if(!e.startsWith("file://"))return e;try{let r=new URL(e),n=decodeURIComponent(r.pathname),i=r.hostname.toLowerCase();if("win32"===t){let e=n.replace(/\//g,"\\").replace(/^\\([A-Za-z]:)/,"$1");if(i&&"localhost"!==i)return`\\\\${r.hostname}${e}`;return e}if(i&&"localhost"!==i)return`//${r.hostname}${n}`;return n}catch{return decodeURIComponent(e.slice(7))}},te=e=>{let t=e.content;return"string"==typeof t?t:Array.isArray(t)?t.map(e=>e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text||"input_text"===e.type&&"string"==typeof e.text)?e.text:"").filter(Boolean).join("\n"):""},tt=e=>{let t=e.content;if(!Array.isArray(t))return[];let r=[];for(let e of t){var n;if(!e||"object"!=typeof e)continue;let t=String(e.type||""),i="image_url"===t?e6(null==(n=e.image_url)?void 0:n.url):"input_image"===t?e6(e.image_url||e.url):void 0;if(i){if(i.startsWith("/")||i.startsWith("./")||i.startsWith("../")||i.startsWith("file://")){let e=i.startsWith("file://")?e9(i):i;r.push({type:"localImage",path:e});continue}r.push({type:"image",url:i})}}return r};class tr{static async create(){if(eQ.ht)throw Error("codex app-server provider is not supported in browser runtime");let{spawn:e}=await r(8817)("node:child_process"),t=await r(8541)("node:readline"),n=e("codex",["app-server"],{stdio:["pipe","pipe","pipe"]});if(!n.stdin||!n.stdout||!n.stderr)throw Error("failed to start codex app-server: stdio unavailable");let i=t.createInterface({input:n.stdout,crlfDelay:1/0}),o=new tr(n,i);return o.detachFromEventLoop(),o.attachProcessListeners(),await o.initializeHandshake(),o}isClosed(){return this.closed}async runTurn(e){let t,r,n,i,{messages:o,modelConfig:a,stream:s,onChunk:l,reasoningEnabled:A,abortSignal:c}=e,u=Date.now(),d=a.timeout||6e5,p=Date.now()+d,h=!!(s&&l),{developerInstructions:f,input:g}=(e=>{let t=[],r=[],n=[];for(let i of e){let e=String(i.role||"user"),o=te(i);if("system"===e){o.trim()&&t.push(o.trim());continue}let a=e.toUpperCase();o.trim()?r.push(`[${a}]
|
|
1
|
+
/*! For license information please see index.92e643ed.js.LICENSE.txt */
|
|
2
|
+
(()=>{var e,t,r,n,i,o,a,s={5902(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5902,e.exports=t},5845(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5845,e.exports=t},5737(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=5737,e.exports=t},8541(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=8541,e.exports=t},9998(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=9998,e.exports=t},3348(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=3348,e.exports=t},8817(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=8817,e.exports=t},1560(e){function t(e){return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=1560,e.exports=t},372(e,t,r){"use strict";let n;var i,o=r(5723),a=r(2155),s=r(8997);let l=e=>{let{hideLogo:t=!1}=e,{isDarkMode:r}=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=()=>{var e;t("dark"===(null==(e=document.querySelector("[data-theme]"))?void 0:e.getAttribute("data-theme")))};e();let r=new MutationObserver(e),n=document.querySelector("[data-theme]")||document.documentElement;return r.observe(n,{attributes:!0,attributeFilter:["data-theme"]}),()=>r.disconnect()},[]),{isDarkMode:e}}();return t?null:(0,o.jsx)("div",{className:"logo",children:(0,o.jsx)("a",{href:"https://midscenejs.com/",target:"_blank",rel:"noreferrer",children:(0,o.jsx)("img",{alt:"Midscene_logo",src:r?"https://lf3-static.bytednsdoc.com/obj/eden-cn/nupipfups/Midscene/midscene_with_text_dark.png":"https://lf3-static.bytednsdoc.com/obj/eden-cn/nupipfups/Midscene/midscene_with_text_light.png"})})})};var A=r(4177),c=r(6766),u=r(6419),d=r(8594),p=r(2651),h=r(9488),f=r(8928),g=r(5584),m=r(4174),y=r(6620),v=r(8926),b={};b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var w={};b.r(w),b.d(w,{create:()=>v.vt});let{create:E}=w,k="midscene-auto-zoom",x="midscene-background-visible",S="midscene-elements-visible",C="midscene-model-call-details",I="midscene-dark-mode",j="midscene-playback-speed",O="midscene-subtitle-enabled",P=e=>{if("undefined"==typeof window)return;var t=new URLSearchParams(window.location.search).get(e);if(null===t)return;let r=t.trim().toLowerCase();return!!["1","true","yes","on"].includes(r)||!["0","false","no","off"].includes(r)&&void 0},R=E(e=>{let t="false"!==localStorage.getItem(k),r="false"!==localStorage.getItem(x),n="false"!==localStorage.getItem(S),i="true"===localStorage.getItem(C),o="true"===localStorage.getItem(I),a=Number.parseFloat(localStorage.getItem(j)||"1"),s=Number.isNaN(a)?1:a,l="false"!==localStorage.getItem(O),A=P("focusOnCursor"),c=P("showElementMarkers"),u=P("darkMode"),d=void 0===u?o:u;return void 0!==u&&localStorage.setItem(I,d.toString()),{backgroundVisible:r,elementsVisible:void 0===c?n:c,autoZoom:void 0===A?t:A,modelCallDetailsEnabled:i,darkModeEnabled:d,playbackSpeed:[.5,1,1.5,2].includes(s)?s:1,setBackgroundVisible:t=>{e({backgroundVisible:t}),localStorage.setItem(x,t.toString())},setElementsVisible:t=>{e({elementsVisible:t}),localStorage.setItem(S,t.toString())},setAutoZoom:t=>{e({autoZoom:t}),localStorage.setItem(k,t.toString())},setModelCallDetailsEnabled:t=>{e({modelCallDetailsEnabled:t}),localStorage.setItem(C,t.toString())},setDarkModeEnabled:t=>{e({darkModeEnabled:t}),localStorage.setItem(I,t.toString())},setPlaybackSpeed:t=>{e({playbackSpeed:t}),localStorage.setItem(j,t.toString())},subtitleEnabled:l,setSubtitleEnabled:t=>{e({subtitleEnabled:t}),localStorage.setItem(O,t.toString())}}}),M="midscene-env-config",T="midscene-service-mode",N="midscene-tracking-active-tab",D="midscene-deep-locate",B="midscene-deep-think",z="midscene-screenshot-included",L="midscene-dom-included",F="midscene-ime-strategy",K="midscene-auto-dismiss-keyboard",U="midscene-keyboard-dismiss-strategy",Q="midscene-always-refresh-screen-info",Z=()=>localStorage.getItem(M)||"",J=e=>{let t=e.split("\n"),r={};return t.forEach(e=>{let t=e.trim();if(t.startsWith("#"))return;let n=t.replace(/^export\s+/i,"").replace(/;$/,"").trim().match(/^(\w+)\s*=\s*(.*)$/);if(n){let[,e,t]=n,i=t.trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),r[e]=i}}),r},X=E((e,t)=>{let r=Z(),n=J(r),i=window.location.href.startsWith("chrome-extension"),o=localStorage.getItem(T),a="false"!==localStorage.getItem(N),s="true"===localStorage.getItem(D),l=localStorage.getItem(B),A="false"!==localStorage.getItem(z),c=localStorage.getItem(L)||"false";return{serviceMode:i?"In-Browser-Extension":o||"Server",setServiceMode:t=>{if(i)throw Error("serviceMode cannot be set in extension");e({serviceMode:t}),localStorage.setItem(T,t)},config:n,configString:r,setConfig:t=>e({config:t}),loadConfig:t=>{e({config:J(t),configString:t}),localStorage.setItem(M,t)},syncFromStorage:()=>{let t=Z();e({config:J(t),configString:t})},forceSameTabNavigation:a,setForceSameTabNavigation:t=>{e({forceSameTabNavigation:t}),localStorage.setItem(N,t.toString())},deepLocate:s,setDeepLocate:t=>{e({deepLocate:t}),localStorage.setItem(D,t.toString())},deepThink:"true"===l||"false"!==l&&"unset",setDeepThink:t=>{e({deepThink:t}),localStorage.setItem(B,t.toString())},screenshotIncluded:A,setScreenshotIncluded:t=>{e({screenshotIncluded:t}),localStorage.setItem(z,t.toString())},domIncluded:"visible-only"===c?"visible-only":"true"===c,setDomIncluded:t=>{e({domIncluded:t}),localStorage.setItem(L,t.toString())},popupTab:"playground",setPopupTab:t=>{e({popupTab:t})},imeStrategy:localStorage.getItem(F)||"yadb-for-non-ascii",setImeStrategy:t=>{e({imeStrategy:t}),localStorage.setItem(F,t)},autoDismissKeyboard:"false"!==localStorage.getItem(K),setAutoDismissKeyboard:t=>{e({autoDismissKeyboard:t}),localStorage.setItem(K,t.toString())},keyboardDismissStrategy:localStorage.getItem(U)||"esc-first",setKeyboardDismissStrategy:t=>{e({keyboardDismissStrategy:t}),localStorage.setItem(U,t)},alwaysRefreshScreenInfo:"true"===localStorage.getItem(Q),setAlwaysRefreshScreenInfo:t=>{e({alwaysRefreshScreenInfo:t}),localStorage.setItem(Q,t.toString())}}});var H=r(3819);function G(e){var t,r,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};H.Ay.error({message:null!=(t=i.title)?t:"Something went wrong",description:null!=(r=i.description)?r:function(e){if("string"==typeof e)return e;if(e instanceof Error)return e.message||e.toString();if(e&&"object"==typeof e&&"message"in e){let t=e.message;if("string"==typeof t)return t}try{return JSON.stringify(e)}catch(t){return String(e)}}(e),placement:"bottomRight",duration:null!=(n=i.duration)?n:5})}function V(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function q(e){let{showTooltipWhenEmpty:t=!0,showModelName:r=!0,tooltipPlacement:n="bottom",mode:i="icon",playgroundSDK:s}=e,{message:l}=p.A.useApp(),{config:A,configString:c,loadConfig:u,syncFromStorage:v}=X(),[b,w]=(0,a.useState)(!1),[E,k]=(0,a.useState)(c),[x,S]=(0,a.useState)(null),[C,I]=(0,a.useState)(!1),j=A.MIDSCENE_MODEL_NAME,O=!!(null==s?void 0:s.runConnectivityTest),P=(0,a.useRef)(null),R=(0,a.useRef)(null),M=()=>{null!==R.current&&(window.clearTimeout(R.current),R.current=null)},T=e=>{v(),M(),w(!0),e.preventDefault(),e.stopPropagation()},N=()=>{M(),w(!1),u(E)};return(0,a.useEffect)(()=>{b&&(k(c),S(null))},[b,c]),(0,a.useEffect)(()=>()=>{M()},[]),(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px",alignItems:"center",height:"100%",minHeight:"32px"},ref:P,children:[r?j:null,(0,o.jsx)(h.A,{title:"Please set up your environment variables before using.",placement:n,align:{offset:[-10,5]},getPopupContainer:()=>P.current,open:!b&&(t?0===Object.keys(A).length:void 0),children:"icon"===i?(0,o.jsx)(d.A,{onClick:T}):(0,o.jsx)("span",{onClick:T,style:{color:"#006AFF",cursor:"pointer"},children:"set up"})}),(0,o.jsxs)(f.A,{title:"Model Env Config",open:b,onOk:N,onCancel:()=>{M(),w(!1)},footer:(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:8},children:[O?(0,o.jsx)(g.Ay,{type:"primary",ghost:!0,loading:C,onClick:()=>{var e;return(e=function*(){if(null==s?void 0:s.runConnectivityTest)try{I(!0),S(null);let e=J(E),t=yield s.runConnectivityTest(e);S(t),t.passed?(u(E),l.success("Model verification passed"),M(),R.current=window.setTimeout(()=>{w(!1),R.current=null},2e3)):l.warning("Model verification found issues")}catch(t){let e=t instanceof Error?t.message:String(t);G(t,{title:"Model verification failed"}),S({passed:!1,message:e})}finally{I(!1)}},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){V(o,n,i,a,s,"next",e)}function s(e){V(o,n,i,a,s,"throw",e)}a(void 0)})})()},children:"Verify and Save Model"},"save-and-run"):null,(0,o.jsx)(g.Ay,{type:"primary",onClick:N,children:"Save"},"save")]}),style:{width:"800px",height:"100%",marginTop:"10%"},destroyOnClose:!0,maskClosable:!0,centered:!0,children:[(0,o.jsx)(m.A.TextArea,{rows:7,placeholder:"MIDSCENE_MODEL_API_KEY=sk-...\nMIDSCENE_MODEL_NAME=gpt-4o-2024-08-06\n...",value:E,onChange:e=>k(e.target.value),style:{whiteSpace:"nowrap",wordWrap:"break-word"}}),(0,o.jsxs)("div",{children:[(0,o.jsx)("p",{children:"The format is KEY=VALUE and separated by new lines."}),(0,o.jsxs)("p",{children:["These data will be saved ",(0,o.jsx)("strong",{children:"locally in your browser"}),"."]})]}),x?(0,o.jsx)(y.A,{type:x.passed?"success":"warning",showIcon:!0,message:x.passed?"Model verification passed":"Model verification failed",description:x.passed?void 0:(0,o.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:x.message||"Connectivity test failed without details."}),style:{marginTop:16}}):null]})]})}function W(e){let{showEnvConfig:t=!0,showTooltipWhenEmpty:r=!1,showModelName:n=!1,githubUrl:i="https://github.com/web-infra-dev/midscene",helpUrl:a="https://midscenejs.com/quick-experience.html",className:s="",playgroundSDK:l}=e;return(0,o.jsxs)("div",{className:`nav-actions ${s}`,children:[(0,o.jsx)(u.A.Link,{href:i,target:"_blank",children:(0,o.jsx)(A.A,{className:"nav-icon"})}),(0,o.jsx)(u.A.Link,{href:a,target:"_blank",children:(0,o.jsx)(c.A,{className:"nav-icon"})}),t&&(0,o.jsx)(q,{showTooltipWhenEmpty:r,showModelName:n,playgroundSDK:l})]})}var Y=r(6453),_=r(4458);let $=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},e),r=r={children:[(0,o.jsx)("path",{stroke:"#6D6D6D",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M22 9.483A14.53 14.53 0 0 0 9.75 5.674M19 12.9a9.85 9.85 0 0 0-4.75-2.642M5 12.9a10 10 0 0 1 2.18-1.65M8 16.157a5.63 5.63 0 0 1 2.5-1.455"}),(0,o.jsx)("path",{fill:"#6D6D6D",fillRule:"evenodd",d:"M12 20a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5",clipRule:"evenodd"}),(0,o.jsx)("path",{stroke:"#6D6D6D",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 20 4 4M2 9.483a15 15 0 0 1 1.75-1.42"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function ee(e){let{title:t="Connect to a device"}=e;return(0,o.jsx)("div",{style:{display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center"},children:(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4},children:[(0,o.jsx)($,{"aria-hidden":"true",style:{width:24,height:24,objectFit:"contain"}}),(0,o.jsx)("h2",{style:{margin:0,whiteSpace:"nowrap",textAlign:"center",fontSize:13,lineHeight:"24px",fontWeight:400,color:"rgba(0, 0, 0, 0.85)"},children:t})]})})}var et=r(1352),er=r(955),en=r(6921);function ei(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function eo(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){ei(o,n,i,a,s,"next",e)}function s(e){ei(o,n,i,a,s,"throw",e)}a(void 0)})}}function ea(e){let{getScreenshot:t,getInterfaceInfo:r,serverOnline:n,isUserOperating:i=!1,mjpegUrl:s,mode:l="default",contentRef:A}=e,[c,u]=(0,a.useState)(null),[d,p]=(0,a.useState)(!1),[f,m]=(0,a.useState)(null),[y,v]=(0,a.useState)(0),[b,w]=(0,a.useState)(null),[E,k]=(0,a.useState)(()=>String(Date.now())),x=(0,a.useRef)(null),S=!!(s&&n),C=["screenshot-viewer","screen-only"===l&&"screen-only"].filter(Boolean).join(" "),I=(0,a.useRef)(null),j=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!S)return;let e=window.setTimeout(()=>{let e=x.current;!e||e.naturalWidth>0||e.naturalHeight>0||k(String(Date.now()))},2500);return()=>window.clearTimeout(e)},[S,E,s]);let O=(0,a.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return eo(function*(){if(n){p(!0),e&&m(null);try{let e=yield t();if(console.log("Screenshot API response:",e),null==e?void 0:e.screenshot){let t=e.screenshot.toString().trim();t?(u(t),m(null),v(Date.now())):m("Empty screenshot data received")}else m("No screenshot data in response")}catch(e){console.error("Screenshot fetch error:",e),m(e instanceof Error?e.message:"Failed to fetch screenshot")}finally{p(!1)}}})()},[t,n]),P=(0,a.useCallback)(()=>eo(function*(){if(n&&r)try{let e=yield r();e&&w(e)}catch(e){console.error("Interface info fetch error:",e)}})(),[r,n]),R=(0,a.useCallback)(()=>{I.current&&clearInterval(I.current),console.log("Starting screenshot polling (5s interval)"),I.current=setInterval(()=>{!j.current&&n&&O(!1)},5e3)},[O,n]),M=(0,a.useCallback)(()=>{I.current&&(console.log("Stopping screenshot polling"),clearInterval(I.current),I.current=null)},[]),T=(0,a.useCallback)(()=>{console.log("Pausing screenshot polling"),j.current=!0},[]),N=(0,a.useCallback)(()=>{console.log("Resuming screenshot polling"),j.current=!1},[]),D=(0,a.useCallback)(()=>{O(!0)},[O]);if((0,a.useEffect)(()=>{if(!n){u(null),m(null),w(null),M();return}return(P(),S)?void M():(O(!1),R(),()=>{M()})},[n,S,R,M,O,P]),(0,a.useEffect)(()=>{n&&!S&&(i?T():(N(),O(!1)))},[i,T,N,O,n,S]),(0,a.useEffect)(()=>()=>{M()},[M]),!n)return(0,o.jsx)("div",{className:`${C} offline`,children:(0,o.jsxs)("div",{className:"screenshot-placeholder",children:[(0,o.jsx)("h3",{children:"\uD83D\uDCF1 Screen Preview"}),(0,o.jsx)("p",{children:"Start the playground server to see real-time screenshots"})]})});if(!S&&d&&!c)return(0,o.jsxs)("div",{className:`${C} loading`,children:[(0,o.jsx)(en.A,{size:"large"}),(0,o.jsx)("p",{children:"Loading screenshot..."})]});if(!S&&f&&!c)return(0,o.jsx)("div",{className:`${C} error`,children:(0,o.jsxs)("div",{className:"screenshot-placeholder",children:[(0,o.jsx)("h3",{children:"\uD83D\uDCF1 Screen Preview"}),(0,o.jsx)("p",{className:"error-message",children:f})]})});let B=(0,o.jsx)("div",{className:"screenshot-content",ref:A,children:S?(0,o.jsx)("img",{ref:x,src:E?`${s}${(null==s?void 0:s.includes("?"))?"&":"?"}_mjpegRetry=${encodeURIComponent(E)}`:s,alt:"Device Live Stream",className:"screenshot-image",onError:()=>{window.setTimeout(()=>k(String(Date.now())),500)}},E||"initial"):c?(0,o.jsx)("img",{src:c.startsWith("data:image/")?c:`data:image/png;base64,${c}`,alt:"Device Screenshot",className:"screenshot-image",onLoad:()=>console.log("Screenshot image loaded successfully"),onError:e=>{console.error("Screenshot image load error:",e),console.error("Screenshot data preview:",c.substring(0,100)),m("Failed to load screenshot image")}}):(0,o.jsx)("div",{className:"screenshot-placeholder",children:(0,o.jsx)("p",{children:"No screenshot available"})})});return"screen-only"===l?(0,o.jsx)("div",{className:C,children:B}):(0,o.jsxs)("div",{className:C,children:[(0,o.jsx)("div",{className:"screenshot-header",children:(0,o.jsx)("div",{className:"screenshot-title",children:(0,o.jsx)("h3",{children:(null==b?void 0:b.type)?b.type:"Device Name"})})}),(0,o.jsxs)("div",{className:"screenshot-container",children:[(0,o.jsxs)("div",{className:"screenshot-overlay",children:[(0,o.jsxs)("div",{className:"device-name-overlay",children:["Device Name",(0,o.jsx)(h.A,{title:null==b?void 0:b.description,children:(0,o.jsx)(et.A,{size:16,className:"info-icon"})})]}),!S&&(0,o.jsxs)("div",{className:"screenshot-controls",children:[y>0&&(0,o.jsxs)("span",{className:"last-update-time",children:["Last updated ",(e=>{if(!e)return"";let t=Math.floor((Date.now()-e)/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:new Date(e).toLocaleTimeString()})(y)]}),(0,o.jsx)(h.A,{title:"Refresh screenshot",children:(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(er.A,{}),onClick:D,loading:d,size:"small"})}),i&&(0,o.jsxs)("span",{className:"operation-indicator",children:[(0,o.jsx)(en.A,{size:"small"})," Operating..."]})]})]}),B]})]})}var es=r(3393),el=r(2397);let eA=new Set(["Backspace","Delete","Enter","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]),ec=new Set(["Alt","Control","Meta","Shift"]);function eu(e,t){let r=t.width/t.height;if(e.height<=0||e.width<=0)return e;if(e.width/e.height>r){let t=e.height*r;return{left:e.left+(e.width-t)/2,top:e.top,width:t,height:e.height}}let n=e.width/r;return{left:e.left,top:e.top+(e.height-n)/2,width:e.width,height:n}}function ed(e){let{enabled:t,deviceSize:r,onTap:n,onSwipe:i,scrollEnabled:s=!1,onWheelScroll:l,keyboardEnabled:A=!1,onTextInput:c,onKeyboardPress:u,contentRef:d,tapMaxDistance:p=8,tapMaxDurationMs:h=250,style:f}=e,g=(0,a.useRef)(null),m=(0,a.useRef)(null),y=(0,a.useRef)(null),v=(0,a.useRef)(!1),b=(0,a.useRef)(!1),w=(0,a.useRef)(0),E=(0,a.useRef)(null),k=(0,a.useRef)(null),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{if(A){b.current=!0;let e=m.current;e&&document.activeElement!==e&&e.focus({preventScroll:!0})}},[A]),C=(0,a.useCallback)((e,t)=>{A&&Promise.resolve(t).catch(()=>void 0).then(()=>{window.setTimeout(()=>{b.current&&w.current===e&&S()},0)})},[S,A]),I=(0,a.useCallback)((e,t)=>{let r=g.current,n=m.current;if(!r||!n)return;let i=r.getBoundingClientRect();n.style.left=`${Math.max(0,e-i.left)}px`,n.style.top=`${Math.max(0,t-i.top)}px`},[]),j=(0,a.useCallback)((e,t,n)=>{if(!r)return null;let i=(e-n.left)/n.width,o=(t-n.top)/n.height;return{x:Math.max(0,Math.min(r.width-1,Math.round(i*r.width))),y:Math.max(0,Math.min(r.height-1,Math.round(o*r.height)))}},[r]),O=(0,a.useCallback)(e=>{var n;if(!t||!r||!g.current||0!==e.button&&"mouse"===e.pointerType)return;let i=eu((null!=(n=null==d?void 0:d.current)?n:g.current).getBoundingClientRect(),r);if(e.clientX<i.left||e.clientX>i.left+i.width||e.clientY<i.top||e.clientY>i.top+i.height){b.current=!1;return}I(e.clientX,e.clientY);let o=w.current+1;w.current=o,S();try{g.current.setPointerCapture(e.pointerId)}catch(e){}y.current={startX:e.clientX,startY:e.clientY,startTime:performance.now(),contentRect:i,keyboardFocusRequestId:o},e.preventDefault()},[d,t,r,S,I]),P=(0,a.useCallback)((e,t)=>{let r=y.current;if(y.current=null,!r)return;try{var o;null==(o=g.current)||o.releasePointerCapture(e.pointerId)}catch(e){}if(t)return;let a=e.clientX-r.startX,s=e.clientY-r.startY,l=Math.sqrt(a*a+s*s),A=Math.max(0,performance.now()-r.startTime),c=j(r.startX,r.startY,r.contentRect),u=j(e.clientX,e.clientY,r.contentRect);c&&u&&(E.current=u,l<=p&&A<=h?C(r.keyboardFocusRequestId,null==n?void 0:n(c)):null==i||i(c,u,Math.round(A)))},[n,i,j,C,p,h]),R=(0,a.useCallback)(e=>P(e,!1),[P]),M=(0,a.useCallback)(e=>P(e,!0),[P]),T=(0,a.useCallback)(()=>{let e=k.current;k.current=null,x.current&&(clearTimeout(x.current),x.current=null),e&&(null==l||l(e.point,{deltaX:e.deltaX,deltaY:e.deltaY}))},[l]),N=(0,a.useCallback)(e=>{var n;if(!t||!s||!r||!g.current)return;let i=eu((null!=(n=null==d?void 0:d.current)?n:g.current).getBoundingClientRect(),r);if(e.clientX<i.left||e.clientX>i.left+i.width||e.clientY<i.top||e.clientY>i.top+i.height)return;let o=j(e.clientX,e.clientY,i);if(!o)return;e.preventDefault(),e.stopPropagation();let a=k.current;k.current={point:o,deltaX:((null==a?void 0:a.deltaX)||0)+e.deltaX,deltaY:((null==a?void 0:a.deltaY)||0)+e.deltaY},x.current&&clearTimeout(x.current),x.current=setTimeout(T,80)},[d,r,t,T,j,s]),D=(0,a.useCallback)(()=>{var e;(null==(e=m.current)?void 0:e.value)&&(m.current.value="")},[]),B=(0,a.useCallback)(e=>{var t;if(A&&b.current){if(!e.altKey&&(e.metaKey||e.ctrlKey)&&"c"===e.key.toLowerCase()&&function(e){let t=window.getSelection();if(!t||t.isCollapsed||!e)return!1;let{anchorNode:r,focusNode:n}=t;return!!r&&!!n&&!e.contains(r)&&!e.contains(n)}(g.current)){b.current=!1;return}if(!v.current&&!e.isComposing&&!function(e){if("F5"===e.key||"F11"===e.key||"F12"===e.key)return!0;if(!(e.metaKey||e.ctrlKey))return!1;let t=e.key.toLowerCase();return!!e.altKey&&"i"===t||!!e.shiftKey&&("i"===t||"j"===t)||new Set(["r","q","w","m","h","n","t","+","=","-","_","0"]).has(t)}(e)&&(eA.has(e.key)||e.altKey||e.ctrlKey||e.metaKey)){let r=function(e){if(ec.has(e.key))return null;let t=[];return e.ctrlKey&&t.push("Control"),e.metaKey&&t.push("Meta"),e.altKey&&t.push("Alt"),e.shiftKey&&"Shift"!==e.key&&t.push("Shift"),t.push(" "===e.key?"Space":e.key),t.join("+")}(e);if(!r)return;e.preventDefault(),e.stopPropagation(),null==u||u(r,null!=(t=E.current)?t:void 0)}}},[A,u]),z=(0,a.useCallback)(e=>{var t;if(!A||!b.current)return;let r=e.clipboardData.getData("text");r&&(e.preventDefault(),e.stopPropagation(),null==c||c(r,null!=(t=E.current)?t:void 0))},[A,c]),L=(0,a.useCallback)(e=>{var t,r,n,i,o;if(!A||!b.current){v.current||D();return}if(v.current)return;let a=e.nativeEvent;if("insertLineBreak"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Enter",null!=(r=E.current)?r:void 0);return}if("deleteContentBackward"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Backspace",null!=(n=E.current)?n:void 0);return}if("deleteContentForward"===a.inputType){D(),e.preventDefault(),e.stopPropagation(),null==u||u("Delete",null!=(i=E.current)?i:void 0);return}let s=a.data||(null==(t=m.current)?void 0:t.value)||"";D(),s&&(e.preventDefault(),e.stopPropagation(),null==c||c(s,null!=(o=E.current)?o:void 0))},[D,A,u,c]);return((0,a.useEffect)(()=>{t||(y.current=null,k.current=null,x.current&&(clearTimeout(x.current),x.current=null),v.current=!1,b.current=!1,E.current=null)},[t]),(0,a.useEffect)(()=>{if(!t||!A){b.current=!1;return}let e=e=>{let t=g.current;t&&e.target instanceof Node&&t.contains(e.target)||(b.current=!1)};return window.addEventListener("keydown",B,!0),window.addEventListener("pointerdown",e,!0),()=>{window.removeEventListener("keydown",B,!0),window.removeEventListener("pointerdown",e,!0)}},[t,B,A]),(0,a.useEffect)(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null)},[]),t&&r)?(0,o.jsx)("div",{ref:g,onPointerDown:O,onPointerUp:R,onPointerCancel:M,onWheel:N,onContextMenu:e=>e.preventDefault(),"data-midscene-device-interaction-layer":"true",style:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({position:"absolute",inset:0,zIndex:5,cursor:A?"default":"crosshair",outline:"none",color:"transparent",caretColor:"transparent",touchAction:"none",userSelect:"none"},f),children:A?(0,o.jsx)("textarea",{ref:m,"data-midscene-keyboard-sink":"true",tabIndex:-1,onPaste:z,onCompositionStart:()=>{b.current=!0,v.current=!0},onCompositionEnd:e=>{var t,r;if(!A||!b.current)return;v.current=!1;let n=e.data||(null==(t=m.current)?void 0:t.value)||"";D(),n&&(null==c||c(n,null!=(r=E.current)?r:void 0))},onInput:L,style:{position:"absolute",left:0,top:0,width:32,height:24,opacity:0,pointerEvents:"none",appearance:"none",boxShadow:"none",overflow:"hidden",resize:"none",border:0,padding:0,margin:0,outline:"none",background:"transparent",color:"transparent",caretColor:"transparent",fontSize:16,lineHeight:"20px",transform:"translate(-50%, -50%)"}}):null}):null}var ep=r(4093),eh=r(6418),ef=r(4452),eg=r(2644);function em(){return"Preparing Android device connection…"}function ey(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function ev(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){ey(o,n,i,a,s,"next",e)}function s(e){ey(o,n,i,a,s,"throw",e)}a(void 0)})}}function eb(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let{Text:ew}=u.A;function eE(e){let{connectingOverlay:t,deviceId:r,onIntrinsicSize:n,onStatusChange:i,renderErrorOverlay:s,serverUrl:l,metadataTimeoutMs:A=55e3,reconnectInterval:c=3e3,viewportStyle:u,contentRef:d}=e,p=(0,a.useRef)(null),h=(0,a.useRef)(null),f=(0,a.useRef)(null),g=(0,a.useRef)(null),m=(0,a.useRef)(null),v=(0,a.useRef)(!1),[b,w]=(0,a.useState)("connecting"),[E,k]=(0,a.useState)(null),[x,S]=(0,a.useState)(()=>em()),[C,I]=(0,a.useState)(!0),[j,O]=(0,a.useState)(0),P=(0,a.useMemo)(()=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:em();switch(e){case"connected":return"Live scrcpy preview connected";case"waiting-for-stream":return t;case"error":return"Unable to start scrcpy preview";case"disconnected":return"scrcpy preview disconnected, retrying…";default:return"Connecting to scrcpy preview server…"}})(b,x),[b,x]),R=("error"===b||"disconnected"===b)&&!!s,M=(0,a.useCallback)(()=>{w("connecting"),k(null),S(em()),O(e=>e+1)},[]);(0,a.useEffect)(()=>{null==i||i(b,P)},[i,b,P]);let T=()=>{let e=p.current;e&&e.replaceChildren()},N=()=>{f.current&&(f.current.dispose(),f.current=null)},D=()=>{g.current&&(clearTimeout(g.current),g.current=null)};return(0,a.useEffect)(()=>{if(!l){w("error"),k("scrcpy preview metadata is missing a server URL.");return}if(!es.p.isSupported){I(!1),w("error"),k("Current browser does not support WebCodecs, so live scrcpy preview is unavailable.");return}let e=!1,t=null,i=()=>{t&&(clearTimeout(t),t=null),D(),m.current&&(clearTimeout(m.current),m.current=null),h.current&&(h.current.disconnect(),h.current=null),N(),T(),null==n||n(null)},o=()=>{e||m.current||(m.current=setTimeout(()=>{m.current=null,i(),a()},c))},a=()=>{let t,i,a,s;if(e)return;v.current=!1,w("connecting"),k(null),S(em());let c=(0,eg.io)(l,{withCredentials:!0,reconnection:!1,timeout:1e4,transports:["websocket"]});h.current=c;let u=(i=!1,a=[],s=new TransformStream({transform(e,t){if("configuration"===e.type){i=!0,t.enqueue(e),a.forEach(e=>t.enqueue(e)),a=[];return}"data"!==e.type||i?t.enqueue(e):a.push(e)}}),new ReadableStream({start(e){let r=t=>{try{var r;let n=(r=t.data)instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength);if("configuration"===t.type)return void e.enqueue({type:"configuration",data:n});e.enqueue({type:"data",data:n,keyframe:t.keyFrame})}catch(t){e.error(t)}},n=()=>e.close(),i=t=>e.error(t);t=()=>{c.off("video-data",r),c.off("disconnect",n),c.off("error",i)},c.on("video-data",r),c.on("disconnect",n),c.on("error",i)},cancel(){null==t||t()}}).pipeThrough(s));c.on("connect",()=>{var t,n;w("waiting-for-stream"),S(em()),D(),g.current=setTimeout(()=>{e||(v.current=!0,w("error"),k(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:55e3,t=Math.max(1,Math.round(e/1e3));return`Timed out waiting ${t}s for scrcpy video stream metadata.`}(A)),S(em()),c.disconnect(),h.current=null,o())},A),c.emit("connect-device",(t=eb({},"string"==typeof r&&r.trim()?{deviceId:r.trim()}:{}),n=n={maxSize:1024},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))}),c.on("preview-status",t=>{var r;!e&&"object"==typeof(r=t)&&null!==r&&"message"in r&&"string"==typeof r.message&&(w("waiting-for-stream"),S(t.message))}),c.on("video-metadata",t=>ev(function*(){try{D(),N(),S("Starting video decoder…"),"number"==typeof t.width&&t.width>0&&"number"==typeof t.height&&t.height>0&&(null==n||n({width:t.width,height:t.height}));let r=t.codec?t.codec:ep.n.H264,i=yield ev(function*(){var e;let t=eh.p.isSupported?new eh.p:new ef.x,n=t.canvas;return n.style.width="100%",n.style.height="100%",n.style.objectFit="contain",T(),null==(e=p.current)||e.appendChild(n),new es.p({codec:r,renderer:t})})();f.current=i,u.pipeTo(i.writable).catch(t=>{e||(w("error"),k(t.message),o())}),S(em()),w("connected")}catch(t){if(e)return;w("error"),k(t instanceof Error?t.message:"Failed to start decoder."),S(em()),o()}})()),c.on("disconnect",()=>{if(D(),!e){if(v.current){v.current=!1;return}w("disconnected"),k(null),S(em()),o()}}),c.on("connect_error",t=>{D(),e||(w("error"),k(t.message),S(em()),o())}),c.on("error",t=>{D(),e||(w("error"),k(t.message),S(em()),o())})};return t=setTimeout(()=>{t=null,a()},0),()=>{e=!0,i()}},[r,A,c,j,l]),(0,o.jsxs)("div",{style:{height:"100%",display:"flex",flexDirection:"column"},children:[E&&!R?(0,o.jsx)(y.A,{type:"warning",showIcon:!0,style:{marginBottom:12},message:P,description:E}):null,(0,o.jsxs)("div",{ref:d,style:eb({position:"relative",flex:1,minHeight:0,display:"flex",alignItems:"center",justifyContent:"center",background:"#111827",borderRadius:8,overflow:"hidden"},u),children:[(0,o.jsx)("div",{ref:p,style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"}}),"connected"!==b?R&&s?(0,o.jsx)("div",{style:{position:"absolute",inset:0,zIndex:1},children:s({errorMessage:E,retry:M,status:b,statusText:P})}):"error"!==b&&"disconnected"!==b&&t?(0,o.jsx)("div",{style:{position:"absolute",inset:0,zIndex:1},children:t}):(0,o.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,color:"#fff",background:"rgba(17, 24, 39, 0.78)",textAlign:"center",padding:24,zIndex:1},children:["error"===b?null:(0,o.jsx)(en.A,{spinning:!0}),(0,o.jsx)(ew,{style:{color:"#fff"},children:P}),"error"===b?(0,o.jsx)(ew,{style:{color:"#d1d5db"},children:"Scrcpy preview will retry automatically."}):null,!C&&(0,o.jsx)(ew,{style:{color:"#d1d5db"},children:"Please use a modern Chromium browser to view the stream."})]}):null]})]})}let ek=["android","ios","web","harmony","computer"],ex=["countdown-before-run"];function eS(e,t){var r;for(let t of[null==e?void 0:e.platformId,null==e||null==(r=e.interface)?void 0:r.type].filter(e=>!!e)){let e=t.toLowerCase();if(ek.includes(e))return e}return t}function eC(e){return((null==e?void 0:e.executionUxHints)||[]).filter(e=>ex.includes(e))}function eI(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function ej(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){eI(o,n,i,a,s,"next",e)}function s(e){eI(o,n,i,a,s,"throw",e)}a(void 0)})}}function eO(e){var t,r;let{connectingOverlay:n,onDeviceSizeChange:i,onScrcpyStatusChange:s,renderErrorOverlay:l,scrcpyViewportStyle:A,screenshotViewerMode:c,playgroundSDK:u,runtimeInfo:d,serverUrl:h,serverOnline:f,isUserOperating:g}=e,{message:m}=p.A.useApp(),v=function(e,t){let r=null==e?void 0:e.preview;if(!r||"none"===r.kind||"custom"===r.kind)return{type:"none"};let n=t||"undefined"!=typeof window&&window.location.origin||"";if("mjpeg"===r.kind){let e=r.mjpegPath||"/mjpeg";return n?{type:"mjpeg",mjpegUrl:new URL(e,`${n}/`).toString()}:{type:"screenshot"}}if("scrcpy"===r.kind){var i,o;let t,a="string"==typeof(null==e||null==(i=e.metadata)?void 0:i.deviceId)?e.metadata.deviceId.trim():void 0;if("string"==typeof a&&/^\d+\.\d+\.\d+\.\d+:\d+$/.test(a))return{type:"screenshot"};let s=Number(null==(o=r.custom)?void 0:o.scrcpyPort),l=Number.isFinite(s)?s:void 0,A=l&&n?((t=new URL(n)).port=String(l),t.pathname="/",t.search="",t.hash="",t.toString()):void 0;return{deviceId:a,type:"scrcpy",scrcpyPort:l,scrcpyUrl:A}}return{type:"screenshot"}}(d,h),[b,w]=(0,a.useState)(null),[E,k]=(0,a.useState)(null),[x,S]=(0,a.useState)(null),[C,I]=(0,a.useState)("connecting"),j=(0,a.useRef)(Promise.resolve()),O=(0,a.useRef)(""),P=(0,a.useRef)(null),R=(0,a.useRef)(null),M=(0,a.useRef)(null),T=(0,a.useRef)(null),N=null!=(t=null==x?void 0:x.includes("Tap"))&&t,D=(null==x?void 0:x.includes("Swipe"))?"Swipe":"DragAndDrop",B=(null==x?void 0:x.includes("KeyboardPress"))||(null==x?void 0:x.includes("Input"))||!1,z=null!=(r=null==x?void 0:x.includes("Scroll"))&&r,L=(0,a.useCallback)(e=>{let t=j.current.then(e,e);return j.current=t.catch(()=>void 0),t},[m]);(0,a.useEffect)(()=>{if(!f){w(null),S(null);return}let e=!1,t=()=>ej(function*(){var t;let r;try{r=yield u.getInterfaceInfo()}catch(e){return}if(e)return;if((null==r||null==(t=r.size)?void 0:t.width)&&r.size.height){let{size:e}=r;w(t=>t&&t.width===e.width&&t.height===e.height?t:{width:e.width,height:e.height})}let n=Array.isArray(null==r?void 0:r.actionTypes)?r.actionTypes:null;S(e=>null===e&&null===n||e&&n&&e.length===n.length&&e.every((e,t)=>e===n[t])?e:n)})();t();let r=setInterval(t,5e3);return()=>{e=!0,clearInterval(r)}},[u,f]),(0,a.useEffect)(()=>{null==i||i(null!=E?E:b)},[b,i,E]);let F="scrcpy"===v.type&&es.p.isSupported,K="screenshot"===v.type||"scrcpy"===v.type&&!F,U="scrcpy"===v.type&&!es.p.isSupported&&function(){try{let{protocol:e,hostname:t}=window.location;if("http:"!==e)return!1;return"localhost"!==t&&"127.0.0.1"!==t&&"::1"!==t}catch(e){return!1}}(),Q="none"!==v.type&&(!F||"connected"===C),Z=(0,a.useCallback)((e,t)=>{m.open({type:"error",content:t||e,key:"manual-control-error"})},[]),J=(0,a.useCallback)(()=>{R.current&&(clearTimeout(R.current),R.current=null)},[]),X=(0,a.useCallback)(()=>{var e,t;J();let r=O.current,n=P.current;if(!r)return null!=(e=M.current)?e:Promise.resolve();O.current="",P.current=null;let i=(null!=(t=M.current)?t:Promise.resolve()).catch(()=>void 0).then(()=>ej(function*(){let e=yield L(()=>u.interact(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({actionType:"Input",value:r,mode:"typeOnly"},n?{x:n.x,y:n.y}:{})));e.ok||Z("Input failed",e.error)})()).finally(()=>{M.current===i&&(M.current=null)});return M.current=i,M.current},[J,L,u,Z]),H=(0,a.useCallback)(e=>ej(function*(){yield X();let t=yield L(()=>u.interact({actionType:"Tap",x:e.x,y:e.y}));t.ok||Z("Tap failed",t.error)})(),[L,X,u,Z]),G=(0,a.useCallback)((e,t,r)=>ej(function*(){yield X();let n=yield L(()=>{var n,i,o,a,s,l;let A;return u.interact((n=D,i=e,o=t,a=r,A={actionType:n,x:i.x,y:i.y,endX:o.x,endY:o.y},"DragAndDrop"===n?A:(s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},A),l=l={duration:a},Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(l)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(l)).forEach(function(e){Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(l,e))}),s)))});n.ok||Z(`${D} failed`,n.error)})(),[L,X,D,u,Z]),V=(0,a.useCallback)((e,t)=>{e&&(O.current+=e,t&&(P.current=t),J(),R.current=setTimeout(()=>{X()},120))},[J,X]);(0,a.useEffect)(()=>{f&&Q&&B||(J(),O.current="",P.current=null)},[J,B,Q,f]),(0,a.useEffect)(()=>()=>{f&&Q&&B&&O.current?X():(J(),P.current=null)},[J,X,B,v.type,Q,d,f,h]);let q=(0,a.useCallback)(e=>ej(function*(){if(!e)return;yield X();let t=yield L(()=>u.interact({actionType:"KeyboardPress",keyName:e}));t.ok||Z("Keyboard press failed",t.error)})(),[L,X,u,Z]),W=(0,a.useCallback)((e,t)=>ej(function*(){yield X();let r=yield L(()=>{let r,n,i;return u.interact((n=(r=Math.abs(t.deltaY)>=Math.abs(t.deltaX))?Math.abs(t.deltaY):Math.abs(t.deltaX),i=r?t.deltaY>=0?"down":"up":t.deltaX>=0?"right":"left",{actionType:"Scroll",x:e.x,y:e.y,scrollType:"singleAction",direction:i,distance:Math.max(1,Math.round(n))}))});r.ok||Z("Scroll failed",r.error)})(),[L,X,u,Z]),Y=(0,a.useCallback)((e,t)=>{I(e),null==s||s(e,t)},[s]);return(0,o.jsxs)("div",{style:{flex:1,minHeight:0,height:"100%",position:"relative"},children:[U&&(0,o.jsx)(el.A,{content:(0,o.jsxs)("div",{style:{maxWidth:360},children:[(0,o.jsx)("p",{style:{margin:"0 0 8px"},children:"Live scrcpy streaming is unavailable because WebCodecs API is disabled in non-secure (HTTP) contexts with non-localhost addresses."}),(0,o.jsx)("p",{style:{margin:"0 0 8px"},children:"Currently using screenshot polling as fallback. To enable scrcpy streaming:"}),(0,o.jsxs)("ol",{style:{margin:0,paddingLeft:18},children:[(0,o.jsxs)("li",{children:["Open"," ",(0,o.jsx)("code",{children:"chrome://flags/#unsafely-treat-insecure-origin-as-secure"})]}),(0,o.jsxs)("li",{children:["Add ",(0,o.jsx)("code",{children:window.location.origin})]}),(0,o.jsxs)("li",{children:["Set to ",(0,o.jsx)("b",{children:"Enabled"})," and relaunch Chrome"]})]})]}),title:"Screenshot polling mode",trigger:"click",placement:"bottomRight",children:(0,o.jsx)("button",{type:"button",style:{position:"absolute",top:8,right:8,zIndex:10,background:"#faad14",border:"none",borderRadius:"50%",width:28,height:28,display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",boxShadow:"0 2px 6px rgba(0,0,0,0.2)"},children:(0,o.jsx)("span",{style:{color:"#fff",fontSize:14,fontWeight:"bold",lineHeight:1},children:"!"})})}),"none"===v.type?(0,o.jsx)(y.A,{type:"warning",showIcon:!0,message:"Preview unavailable",description:"This session did not expose a preview capability in runtime metadata."}):F?(0,o.jsx)(eE,{connectingOverlay:n,deviceId:v.deviceId,onIntrinsicSize:k,onStatusChange:Y,renderErrorOverlay:l,serverUrl:v.scrcpyUrl,viewportStyle:A,contentRef:T}):(0,o.jsx)(ea,{getScreenshot:()=>K?u.getScreenshot():Promise.resolve(null),getInterfaceInfo:()=>u.getInterfaceInfo(),serverOnline:f,isUserOperating:g,mjpegUrl:v.mjpegUrl,mode:null!=c?c:"screen-only",contentRef:T}),(0,o.jsx)(ed,{enabled:N&&f&&Q,deviceSize:b,contentRef:T,onTap:H,onSwipe:G,scrollEnabled:z,onWheelScroll:W,keyboardEnabled:B,onTextInput:V,onKeyboardPress:q})]})}function eP(e){return(0,o.jsx)(eO,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e))}var eR=r(2770);function eM(e){let{children:t}=e;return(0,o.jsx)(eR.Ay,{theme:{token:{colorPrimary:"#2B83FF"},components:{Layout:{headerHeight:60,headerPadding:"0 30px",headerBg:"#FFF",bodyBg:"#FFF"}}},children:(0,o.jsx)(p.A,{component:!1,children:t})})}var eT=r(4565),eN=r(217),eD=r(6987);let eB=()=>{let e=(0,eN.j)(eD.v4),t="";e&&(console.warn("MIDSCENE_DEBUG_MODEL_PROFILE is deprecated, use DEBUG=midscene:ai:profile instead"),t="ai:profile"),(0,eN.j)(eD.$l)&&(console.warn("MIDSCENE_DEBUG_MODEL_RESPONSE is deprecated, use DEBUG=midscene:ai:response instead"),t=t?"ai:*":"ai:call"),t&&(0,eT.N)(t)};var ez=r(5409);function eL(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let eF={modelName:eD._q,socksProxy:eD.T4,httpProxy:eD.Yf,openaiBaseURL:eD.kX,openaiApiKey:eD.Lh,openaiExtraConfig:eD.Z7,extraBody:eD.Pm,modelFamily:eD.v,timeout:eD.Yg,temperature:eD.V7,retryCount:eD.vC,retryInterval:eD.xg,reasoningEffort:eD.y2,reasoningEnabled:eD.nc,reasoningBudget:eD.fS},eK={modelName:eD.xP,socksProxy:eD.mZ,httpProxy:eD.zQ,openaiBaseURL:eD.zG,openaiApiKey:eD.OK,openaiExtraConfig:eD.ag,extraBody:eD.WH,modelFamily:eD.OY,timeout:eD.Z$,temperature:eD.Cn,retryCount:eD.sg,retryInterval:eD.wu,reasoningEffort:eD.Vb,reasoningEnabled:eD.u1,reasoningBudget:eD.aO},eU={modelName:eD.HR,socksProxy:eD.iw,httpProxy:eD.FU,openaiBaseURL:eD.$H,openaiApiKey:eD.IQ,openaiExtraConfig:eD.I2,extraBody:eD.G0,modelFamily:eD.yR,timeout:eD.zD,temperature:eD.W4,retryCount:eD.Km,retryInterval:eD.aK,reasoningEffort:eD.VM,reasoningEnabled:eD.M1,reasoningBudget:eD.AU};var eQ=r(9152);let eZ=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*";if("string"!=typeof e||0===e.length)return e;if(e.length<=6)return e;let r=e.substring(0,3),n=e.substring(e.length-3),i=e.length-6,o=t.repeat(i);return`${r}${o}${n}`},eJ=e=>Object.fromEntries(Object.entries(e).map(e=>{let[t,r]=e;if(!r)return[t,r];if("string"==typeof r&&/key/i.test(t))return[t,eZ(r)];if("object"==typeof r){let e=JSON.stringify(r);if(/key/i.test(e))return[t,eZ(e)]}return[t,r]})),eX=(e,t)=>{if(t)try{return JSON.parse(t)}catch(t){throw Error(`Failed to parse ${e} as a JSON. ${t.message}`,{cause:t})}},eH={insight:eF,planning:eK,default:eU},eG=(e,t)=>{let r=(0,eT.a)("ai:config");r("will decideModelConfig base on agent.modelConfig()",e,eJ(t));let n=eH[e];if(!t[n.modelName])return void r("no modelName found for intent",e);let i=(e=>{var t,r,n;let i,{keys:o,provider:a,useLegacyLogic:s=!1}=e;eB(),(0,eT.a)("ai:config")("enter parseOpenaiSdkConfig with keys:",o);let l=s?a[eD.Jq]:void 0,A=s?a[eD.jG]:void 0,c=s?a[eD.$]:void 0,u=s?a[eD.CA]:void 0,d=s?a[eD.b6]:void 0,p=s?(e=>{let t=e[eD.pp],r=e[eD.yb],n=e[eD.NF],i=e[eD.JM],o=e[eD.j_],a=[t&&eD.pp,r&&eD.yb,n&&eD.NF,i&&eD.JM,o&&eD.j_].filter(Boolean);if(a.length>1)throw Error(`Only one vision mode can be enabled at a time. Currently enabled modes: ${a.join(", ")}. Please disable all but one mode.`);if(n)return"qwen3-vl";if(r)return"qwen2.5-vl";if(t)return"doubao-vision";if(o)return"gemini";if(i)if("1"===i)return"vlm-ui-tars";else if("DOUBAO"===i||"DOUBAO-1.5"===i)return"vlm-ui-tars-doubao-1.5";else return"vlm-ui-tars-doubao"})(a):void 0,h=a[o.modelFamily]||p,f=a[o.openaiApiKey]||l,g=a[o.openaiBaseURL]||A,m=a[o.socksProxy]||c,y=a[o.httpProxy]||u,v=a[o.modelName],b=a[o.openaiExtraConfig],w=eX(o.openaiExtraConfig,b||d),E=a[o.extraBody],k=eX(o.extraBody,E),x=(e=>{if(void 0===e||""===e)return;let t=Number(e);return Number.isFinite(t)?t:void 0})(a[o.temperature]);if(h&&!eD._j.includes(h))throw Error(`Invalid MIDSCENE_MODEL_FAMILY value: ${h}. Current version v1.10.4-beta-20260707113335.0 accepts the following model families: ${eD._j.join(", ")}. You can also visit https://midscenejs.com/model-common-config.html for the latest configuration information.`);let S="vlm-ui-tars"===h?eD.UH.V1_0:"vlm-ui-tars-doubao"===h||"vlm-ui-tars-doubao-1.5"===h?eD.UH.DOUBAO_1_5_20B:void 0,C=S?`UI-TARS=${S}`:h?`${h} mode`:"";return{socksProxy:m,httpProxy:y,openaiBaseURL:g,openaiApiKey:f,openaiExtraConfig:(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return;let{defaultHeaders:t,extra_headers:r,extraHeaders:n,...i}=e,o=t??r??n;return void 0!==o?{...i,defaultHeaders:o}:i})(w),extraBody:k,modelFamily:h,uiTarsModelVersion:S,modelName:v,modelDescription:C,intent:"-",slot:"-",timeout:a[o.timeout]?Number(a[o.timeout]):void 0,temperature:x,retryCount:(()=>{if(!a[o.retryCount])return 1;let e=Number(a[o.retryCount]);if(!Number.isFinite(e))return 1;if(e<0)throw Error(`${o.retryCount} must be non-negative, got ${e}`);return e})(),retryInterval:(()=>{if(!a[o.retryInterval])return 2e3;let e=Number(a[o.retryInterval]);if(!Number.isFinite(e))return 2e3;if(e<0)throw Error(`${o.retryInterval} must be non-negative, got ${e}`);return e})(),reasoningEffort:(null==(t=a[o.reasoningEffort])?void 0:t.trim())||void 0,reasoningEnabled:"true"===(i=null==(n=a[o.reasoningEnabled])||null==(r=n.trim())?void 0:r.toLowerCase())||"1"===i||"false"!==i&&"0"!==i&&("default"===i?"default":void 0),reasoningBudget:(()=>{var e;let t=null==(e=a[o.reasoningBudget])?void 0:e.trim();if(!t)return;let r=Number(t);return Number.isFinite(r)?r:void 0})()}})({keys:n,provider:t,useLegacyLogic:"default"===e});return i.intent=e,i.slot=e,r("decideModelConfig result by agent.modelConfig() with intent",e,eJ({...i})),(0,eQ.vA)(i.openaiBaseURL,`failed to get base URL of model (intent=${e}). See https://midscenejs.com/model-strategy`),i.modelName||console.warn(`modelName is not set for intent ${e}, this may cause unexpected behavior. See https://midscenejs.com/model-strategy`),i};function eV(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class eq{initialize(){var e;let t;if(this.isInitialized)return;this.modelConfig?(this.isolatedMode=!0,t=this.normalizeModelConfig(this.modelConfig)):t=(null==(e=this.globalConfigManager)?void 0:e.getAllEnvConfig())||{};let r=eG("default",t);if(!r)throw Error("Model configuration is incomplete: model name (MIDSCENE_MODEL_NAME) is required. See https://midscenejs.com/model-strategy.html");let n=eG("insight",t),i=eG("planning",t);this.modelConfigMap={default:{...r,intent:"default",slot:"default",createOpenAIClient:this.createOpenAIClientFn},insight:{...n||r,intent:"insight",slot:n?"insight":"default",createOpenAIClient:this.createOpenAIClientFn},planning:{...i||r,intent:"planning",slot:i?"planning":"default",createOpenAIClient:this.createOpenAIClientFn}},this.isInitialized=!0}normalizeModelConfig(e){return Object.entries(e).reduce((e,t)=>{let[r,n]=t;return null==n||(e[r]=String(n)),e},Object.create(null))}clearModelConfigMap(){if(this.isolatedMode)throw Error("ModelConfigManager work in isolated mode, so clearModelConfigMap should not be called");this.isInitialized=!1}getModelConfig(e){if(this.isInitialized||this.initialize(),!this.modelConfigMap)throw Error("modelConfigMap is not initialized, which should not happen");return this.modelConfigMap[e]}getUploadTestServerUrl(){let{openaiExtraConfig:e}=this.getModelConfig("default");return null==e?void 0:e.REPORT_SERVER_URL}registerGlobalConfigManager(e){this.globalConfigManager=e}throwErrorIfNonVLModel(){if(!this.getModelConfig("default").modelFamily)throw Error("MIDSCENE_MODEL_FAMILY is not set to a multimodal model with UI localization, so element localization cannot be achieved. Check your model configuration. See https://midscenejs.com/model-strategy.html")}constructor(e,t){eV(this,"modelConfigMap",void 0),eV(this,"isInitialized",!1),eV(this,"isolatedMode",!1),eV(this,"globalConfigManager",void 0),eV(this,"modelConfig",void 0),eV(this,"createOpenAIClientFn",void 0),this.modelConfig=e,this.createOpenAIClientFn=t}}let eW=new eq,eY=new class{getAllEnvConfig(){let e=eD.tk.reduce((e,t)=>(e[t]=ez.env[t],e),Object.create(null));if(!this.override)return e;{let{newConfig:t,extendMode:r}=this.override;return r?{...e,...t}:{...t}}}getEnvConfigValue(e){let t=this.getAllEnvConfig();if(e===eD.Sk)throw Error("MATCH_BY_POSITION is discarded, use MIDSCENE_MODEL_FAMILY instead");if(!eD.rd.includes(e))throw Error(`getEnvConfigValue with key ${e} is not supported.`);let r=t[e];return(this.keysHaveBeenRead[e]=!0,"string"==typeof r)?r.trim():r}getEnvConfigInBoolean(e){let t=this.getAllEnvConfig();if(!eD.c$.includes(e))throw Error(`getEnvConfigInBoolean with key ${e} is not supported`);let r=t[e];return this.keysHaveBeenRead[e]=!0,!!r&&(!!/^(true|1)$/i.test(r)||!/^(false|0)$/i.test(r)&&!!r.trim())}getEnvConfigValueAsNumber(e){if(!eD.rd.includes(e)&&!eD.DL.includes(e))throw Error(`getEnvConfigValueAsNumber with key ${e} is not supported.`);let t=this.getAllEnvConfig()[e];if(this.keysHaveBeenRead[e]=!0,"string"!=typeof t)return;let r=t.trim();if(!r)return;let n=Number(r);return Number.isNaN(n)?void 0:n}registerModelConfigManager(e){this.globalModelConfigManager=e}overrideAIConfig(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(let t in e){if(![...eD.Lg,...eD.XE].includes(t))throw Error(`Failed to override AI config, invalid key: ${t}`);let r=e[t];if("string"!=typeof r)throw Error(`Failed to override AI config, value for key ${t} must be a string, but got with type ${typeof r}`);this.keysHaveBeenRead[t]&&console.warn(`Warning: try to override AI config with key ${t} ,but it has been read.`)}let n=r?{...null==(t=this.override)?void 0:t.newConfig,...e}:e;if(this.override={newConfig:{...n},extendMode:r},!this.globalModelConfigManager)throw Error("globalModelConfigManager is not registered, which should not happen");this.globalModelConfigManager.clearModelConfigMap()}constructor(){eL(this,"override",void 0),eL(this,"keysHaveBeenRead",{}),eL(this,"globalModelConfigManager",void 0),eB()}};eY.registerModelConfigManager(eW),eW.registerGlobalConfigManager(eY);let e_=()=>{let e=eY.getEnvConfigValue(eD.El);return e?e:"Asia/Shanghai"===Intl.DateTimeFormat().resolvedOptions().timeZone?"Chinese":"English"},e$=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];eY.overrideAIConfig(e,t)};var e0=r(3585),e1=r(5409),e2=r(4201).Buffer;function e3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let e5=(0,eT.a)("ai:call:codex"),e7=(0,eT.a)("ai:call:codex",{console:!0});class e4{async run(e){let t,r=this.tail;this.tail=new Promise(e=>{t=e}),await r;try{return await e()}finally{t()}}constructor(){e3(this,"tail",Promise.resolve())}}let e8=e=>{if(!e)return!1;if(e instanceof Error&&"AbortError"===e.name)return!0;let t=e instanceof Error?e.message:String(e??"unknown error");return/aborted|abort/i.test(t)},e6=e=>{if("string"==typeof e)return e.trim()||void 0},e9=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e1.platform;if(!e.startsWith("file://"))return e;try{let r=new URL(e),n=decodeURIComponent(r.pathname),i=r.hostname.toLowerCase();if("win32"===t){let e=n.replace(/\//g,"\\").replace(/^\\([A-Za-z]:)/,"$1");if(i&&"localhost"!==i)return`\\\\${r.hostname}${e}`;return e}if(i&&"localhost"!==i)return`//${r.hostname}${n}`;return n}catch{return decodeURIComponent(e.slice(7))}},te=e=>{let t=e.content;return"string"==typeof t?t:Array.isArray(t)?t.map(e=>e&&"object"==typeof e&&("text"===e.type&&"string"==typeof e.text||"input_text"===e.type&&"string"==typeof e.text)?e.text:"").filter(Boolean).join("\n"):""},tt=e=>{let t=e.content;if(!Array.isArray(t))return[];let r=[];for(let e of t){var n;if(!e||"object"!=typeof e)continue;let t=String(e.type||""),i="image_url"===t?e6(null==(n=e.image_url)?void 0:n.url):"input_image"===t?e6(e.image_url||e.url):void 0;if(i){if(i.startsWith("/")||i.startsWith("./")||i.startsWith("../")||i.startsWith("file://")){let e=i.startsWith("file://")?e9(i):i;r.push({type:"localImage",path:e});continue}r.push({type:"image",url:i})}}return r};class tr{static async create(){if(eQ.ht)throw Error("codex app-server provider is not supported in browser runtime");let{spawn:e}=await r(8817)("node:child_process"),t=await r(8541)("node:readline"),n=e("codex",["app-server"],{stdio:["pipe","pipe","pipe"]});if(!n.stdin||!n.stdout||!n.stderr)throw Error("failed to start codex app-server: stdio unavailable");let i=t.createInterface({input:n.stdout,crlfDelay:1/0}),o=new tr(n,i);return o.detachFromEventLoop(),o.attachProcessListeners(),await o.initializeHandshake(),o}isClosed(){return this.closed}async runTurn(e){let t,r,n,i,{messages:o,modelConfig:a,stream:s,onChunk:l,reasoningEnabled:A,abortSignal:c}=e,u=Date.now(),d=a.timeout||6e5,p=Date.now()+d,h=!!(s&&l),{developerInstructions:f,input:g}=(e=>{let t=[],r=[],n=[];for(let i of e){let e=String(i.role||"user"),o=te(i);if("system"===e){o.trim()&&t.push(o.trim());continue}let a=e.toUpperCase();o.trim()?r.push(`[${a}]
|
|
3
3
|
${o.trim()}`):r.push(`[${a}]
|
|
4
4
|
(no text content)`),"user"===e&&n.push(...tt(i))}let i=r.join("\n\n"),o=[{type:"text",text:(i.length>262144?i.slice(-262144):i)||"Please answer the latest user request.",text_elements:[]},...n];return{developerInstructions:t.length?t.join("\n\n"):void 0,input:o}})(o),m=(e=>{var t;let{reasoningEnabled:r,modelConfig:n}=e;if(!0===r)return"high";if(!1===r)return"none";if("default"===r)return;let i=null==(t=n.reasoningEffort)?void 0:t.trim().toLowerCase();return"none"===i||"minimal"===i||"low"===i||"medium"===i||"high"===i||"xhigh"===i?i:"none"})({reasoningEnabled:A,modelConfig:a}),y="",v="",b=e=>{let{content:t,reasoning:r,isComplete:n,usage:i}=e;h&&l&&l({content:t,reasoning_content:r,accumulated:y,isComplete:n,usage:i})};try{var w,E,k,x,S,C,I,j;let e,o=await this.request({method:"thread/start",params:{model:a.modelName,cwd:e1.cwd(),approvalPolicy:"never",sandbox:"read-only",ephemeral:!0,experimentalRawEvents:!1,persistExtendedHistory:!1,developerInstructions:f||null},deadlineAt:p,abortSignal:c});if(!(t=null==o||null==(w=o.thread)?void 0:w.id))throw Error("thread/start did not return a thread id");let s=await this.request({method:"turn/start",params:{threadId:t,input:g,effort:m},deadlineAt:p,abortSignal:c});if(!(r=null==s||null==(E=s.turn)?void 0:E.id))throw Error("turn/start did not return a turn id");for(;!e;){let o=await this.nextMessage({deadlineAt:p,abortSignal:c});if(this.isResponseMessage(o))continue;if(this.isRequestMessage(o)){await this.respondToServerRequest(o);continue}let s=o.method,l=o.params||{};if("error"===s){let e=(null==(C=l.error)?void 0:C.message)||l.message||"codex app-server reported turn error";n=String(e);continue}if("item/agentMessage/delta"===s&&l.threadId===t&&l.turnId===r){let e=String(l.delta||"");e&&(y+=e,b({content:e,reasoning:"",isComplete:!1}));continue}if(("item/reasoning/summaryTextDelta"===s||"item/reasoning/textDelta"===s)&&l.threadId===t&&l.turnId===r){let e=String(l.delta||"");e&&(v+=e,b({content:"",reasoning:e,isComplete:!1}));continue}if("item/completed"===s&&l.threadId===t&&l.turnId===r&&(null==(k=l.item)?void 0:k.type)==="agentMessage"&&"string"==typeof(null==(x=l.item)?void 0:x.text)&&!y){y=l.item.text;continue}if("thread/tokenUsage/updated"===s&&l.threadId===t&&l.turnId===r){i=this.mapUsage({usage:l,modelConfig:a,turnId:r,startTime:u});continue}if("turn/completed"===s&&l.threadId===t&&(null==(S=l.turn)?void 0:S.id)===r){e=String(l.turn.status||""),n=(null==(j=l.turn)||null==(I=j.error)?void 0:I.message)||n||void 0;break}}if("completed"!==e)throw Error(n||`codex turn finished with status "${e||"unknown"}"`);return h&&b({content:"",reasoning:"",isComplete:!0,usage:i}),{content:y,reasoning_content:v||void 0,usage:i,isStreamed:h}}catch(e){throw e8(e)&&t&&r&&await this.request({method:"turn/interrupt",params:{threadId:t,turnId:r},deadlineAt:Date.now()+5e3}).catch(()=>{}),e}finally{t&&await this.request({method:"thread/unsubscribe",params:{threadId:t},deadlineAt:Date.now()+8e3}).catch(e=>{e7(`failed to unsubscribe codex thread ${t}: ${String(e)}`)})}}async dispose(){var e,t,r,n,i,o,a;if(!this.closed){this.closed=!0;try{null==(t=this.lineReader)||null==(e=t.close)||e.call(t)}catch{}try{null==(i=this.child)||null==(n=i.stdin)||null==(r=n.end)||r.call(n)}catch{}try{null==(a=this.child)||null==(o=a.kill)||o.call(a)}catch{}}}attachProcessListeners(){this.lineReader.on("line",e=>{this.lineBuffer.push(e)}),this.child.stderr.on("data",e=>{let t=e2.isBuffer(e)?e.toString("utf8"):String(e);this.stderrBuffer+=t,this.stderrBuffer.length>8192&&(this.stderrBuffer=this.stderrBuffer.slice(-8192))}),this.child.on("exit",e=>{this.closed=!0,this.lastExitCode=e}),this.child.on("error",e=>{this.closed=!0,this.processErrorMessage=e.message})}detachFromEventLoop(){var e,t,r,n,i,o,a,s;null==(e=(t=this.child).unref)||e.call(t),null==(n=this.child.stdin)||null==(r=n.unref)||r.call(n),null==(o=this.child.stdout)||null==(i=o.unref)||i.call(o),null==(s=this.child.stderr)||null==(a=s.unref)||a.call(s)}async initializeHandshake(){let e=Date.now()+15e3;await this.request({method:"initialize",params:{clientInfo:{name:"midscene_codex_provider",title:"Midscene Codex Provider",version:"1.0.0"},capabilities:{experimentalApi:!1}},deadlineAt:e}),await this.sendMessage({method:"initialized"})}mapUsage(e){let{usage:t,modelConfig:r,turnId:n,startTime:i}=e,o=t.tokenUsage,a=(null==o?void 0:o.last)||(null==o?void 0:o.total);if(a)return{...a,prompt_tokens:a.inputTokens??0,completion_tokens:a.outputTokens??0,total_tokens:a.totalTokens??0,cached_input:a.cachedInputTokens??0,time_cost:Date.now()-i,model_name:r.modelName,model_description:r.modelDescription,response_model_name:void 0,slot:r.slot,intent:void 0,request_id:n}}isRequestMessage(e){return"string"==typeof(null==e?void 0:e.method)&&(null==e?void 0:e.id)!==void 0}isResponseMessage(e){return(null==e?void 0:e.id)!==void 0&&((null==e?void 0:e.result)!==void 0||(null==e?void 0:e.error)!==void 0)&&"string"!=typeof(null==e?void 0:e.method)}async request(e){let{method:t,params:r,deadlineAt:n,abortSignal:i}=e,o=this.nextRequestId++;for(await this.sendMessage({id:o,method:t,params:r});;){let e=await this.nextMessage({deadlineAt:n,abortSignal:i,includePending:!1});if(this.isResponseMessage(e)&&e.id===o){if(e.error)throw Error(`codex app-server ${t} failed: ${e.error.message||"unknown error"}`);return e.result||{}}if(this.isRequestMessage(e)){await this.respondToServerRequest(e);continue}this.pendingMessages.push(e)}}async respondToServerRequest(e){let t=e.id,r=e.method,n={};if("item/commandExecution/requestApproval"===r)n={decision:"decline"};else if("item/fileChange/requestApproval"===r)n={decision:"decline"};else if("mcpServer/elicitation/request"===r)n={action:"cancel",content:null};else{if("item/tool/requestUserInput"!==r)return void await this.sendMessage({id:t,error:{code:-32601,message:`unsupported server request: ${r}`}});n={answers:[]}}await this.sendMessage({id:t,result:n})}async nextMessage(e){let{deadlineAt:t,abortSignal:r,includePending:n=!0}=e;if(n&&this.pendingMessages.length)return this.pendingMessages.shift();for(;;){if(null==r?void 0:r.aborted)throw Error("codex app-server request aborted");if(t&&Date.now()>t)throw Error("codex app-server request timed out");if(this.lineBuffer.length){let e,t=this.lineBuffer.shift().trim();if(!t)continue;try{e=JSON.parse(t)}catch(e){e7(`ignored non-JSON message from codex app-server: ${t}`);continue}return e}if(this.closed)throw this.createClosedConnectionError();await new Promise(e=>setTimeout(e,20))}}async sendMessage(e){if(this.closed)throw this.createClosedConnectionError();let t=JSON.stringify(e);await new Promise((e,r)=>{this.child.stdin.write(`${t}
|
|
5
5
|
`,t=>{t?r(Error(`failed writing to codex app-server stdin: ${t.message}`)):e()})})}createClosedConnectionError(){let e=this.stderrBuffer.trim();return this.processErrorMessage?Error(e?`codex app-server process error: ${this.processErrorMessage}. stderr=${e}`:`codex app-server process error: ${this.processErrorMessage}`):Error(e?`codex app-server connection closed (exitCode=${this.lastExitCode}). stderr=${e}`:`codex app-server connection closed (exitCode=${this.lastExitCode})`)}constructor(e,t){e3(this,"child",void 0),e3(this,"lineReader",void 0),e3(this,"pendingMessages",[]),e3(this,"lineBuffer",[]),e3(this,"nextRequestId",1),e3(this,"closed",!1),e3(this,"lastExitCode",null),e3(this,"processErrorMessage",null),e3(this,"stderrBuffer",""),this.child=e,this.lineReader=t}}let tn=new class{async runTurn(e){let{messages:t,modelConfig:r,stream:n,onChunk:i,reasoningEnabled:o,abortSignal:a}=e;return this.runner.run(async()=>{let e=await this.getConnection();try{return await e.runTurn({messages:t,modelConfig:r,stream:n,onChunk:i,reasoningEnabled:o,abortSignal:a})}catch(t){throw(e.isClosed()||!e8(t))&&await this.resetConnection(),t}})}async shutdownForTests(){await this.resetConnection()}async getConnection(){return(!this.connection||this.connection.isClosed())&&(this.connection=await tr.create(),e5("started long-lived codex app-server connection")),this.connection}async resetConnection(){if(!this.connection)return;let e=this.connection;this.connection=null,await e.dispose(),e5("reset codex app-server connection")}constructor(){e3(this,"connection",null),e3(this,"runner",new e4)}};async function ti(e,t,r){if(eQ.ht)throw Error("codex app-server provider is not supported in browser runtime");return tn.runTurn({messages:e,modelConfig:t,stream:null==r?void 0:r.stream,onChunk:null==r?void 0:r.onChunk,reasoningEnabled:null==r?void 0:r.reasoningEnabled,abortSignal:null==r?void 0:r.abortSignal})}let to=(0,eT.a)("ai:call");function ta(e,t){return e.length<=t?e:`${e.slice(0,t)}... [truncated, ${e.length} chars total]`}function ts(e){if(e instanceof Error){let t=function(e){if(!e||"object"!=typeof e)return;let t=e.code;return"string"==typeof t?t:void 0}(e),r=t?` [${t}]`:"";return`${e.name}${r}: ${e.message}`}return String(e)}let tl="AI_CALL_HARD_TIMEOUT";function tA(e){let{timeout:t}=e;return"number"!=typeof t?18e4:t<=0?null:t}function tc(e,t){let r,n=new AbortController;if(null==t?void 0:t.aborted)return n.abort(t.reason),{signal:n.signal,cleanup:()=>{}};null!==e&&"function"==typeof(r=setTimeout(()=>{let t=Error(`AI call hard timeout after ${e}ms (full request time exceeded)`);t.code=tl,n.abort(t)},e)).unref&&r.unref();let i=t?()=>n.abort(t.reason):void 0;return t&&i&&t.addEventListener("abort",i,{once:!0}),{signal:n.signal,cleanup:()=>{r&&clearTimeout(r),t&&i&&t.removeEventListener("abort",i)}}}var tu=r(4990);function td(e){try{let t=e.match(/^\s*(\{[\s\S]*\})\s*$/);if(t)return t[1];let r=e.match(/```(?:json)?\s*(\{[\s\S]*?\})\s*```/);if(r)return r[1];let n=e.match(/\{[\s\S]*\}/);if(n)return n[0]}catch{}return e}function tp(e){if(!e||"object"!=typeof e||Array.isArray(e))throw Error(`expected parsed LLM response to be a JSON object, got ${JSON.stringify(e)}`)}function th(e){try{return JSON.parse(e)}catch{return JSON.parse((0,tu.m)(e))}}function tf(e,t){let r,n=td(e),i=(null==t?void 0:t.requireObject)??!0;try{r=th(n),i&&tp(r)}catch(o){let t=n;if(t===n)throw Error(`failed to parse LLM response into JSON. Error - ${String(o)}. Response -
|
|
@@ -928,7 +928,7 @@ ${null==(n=this.latestErrorTask())?void 0:n.errorStack}`);let i=[];for(let t of(
|
|
|
928
928
|
${n}`:t,this,e,{cause:null==e?void 0:e.error}),await this.emitSnapshotChange(r)}if(r)throw r;if(this.tasks.length){let e=Math.min(i,this.tasks.length-1),{thought:t,output:r}=this.tasks[e];return{thought:t,output:r}}}isInErrorState(){return"error"===this.status}latestErrorTask(){if("error"!==this.status)return null;for(let e=this.tasks.length-1;e>=0;e--)if("failed"===this.tasks[e].status)return this.tasks[e];return null}dump(){return new n8({id:this.id,logTime:this.executionLogTime,name:this.name,tasks:this.tasks})}async appendErrorPlan(e){return await this.appendAndFlush({type:"Action Space",subType:"Error",param:{thought:e},thought:e,executor:async()=>{throw Error(e||"error without thought")}}),{output:void 0,runner:this}}constructor(e,t,r){i4(this,"id",void 0),i4(this,"name",void 0),i4(this,"tasks",void 0),i4(this,"status",void 0),i4(this,"onTaskStart",void 0),i4(this,"uiContextBuilder",void 0),i4(this,"onSnapshotChange",void 0),i4(this,"onTaskEvent",void 0),i4(this,"executionLogTime",void 0),i4(this,"lastUiContext",void 0),this.id=(0,eQ.uR)(),this.status=(null==r?void 0:r.tasks)&&r.tasks.length>0?"pending":"init",this.name=e,this.tasks=((null==r?void 0:r.tasks)||[]).map(e=>this.markTaskAsPending(e)),this.onTaskStart=null==r?void 0:r.onTaskStart,this.uiContextBuilder=t,this.onSnapshotChange=null==r?void 0:r.onSnapshotChange,this.onTaskEvent=null==r?void 0:r.onTaskEvent,this.executionLogTime=Date.now()}}class i9 extends Error{constructor(e,t,r,n){super(e,n),i4(this,"runner",void 0),i4(this,"errorTask",void 0),this.runner=t,this.errorTask=r}}var oe=r(3009);r(5207);var ot=r(1344),or=r(4201).Buffer,on=r(5409);let oi=new Map,oo=new Map;function oa(){return"REPLACE_ME_WITH_REPORT_HTML"}function os(e,t){let r=e.lastIndexOf("</html>");return -1===r?e+t:`${e.slice(0,r)}${t}
|
|
929
929
|
${e.slice(r)}`}function ol(e,t,r){let n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i="";if(n&&!(i=oa()))return console.warn("reportTpl is not set, will not write report"),"";let o=t&&!eQ.ht,a="",s="<\/script>";if("string"==typeof e)a='<script type="midscene_web_dump" type="application/json" data-group-id="'+encodeURIComponent((()=>{if(!t||!r)return(0,eQ.uR)();let e=oo.get(t);if(e)return e;let n=(0,eQ.uR)();return oo.set(t,n),n})())+'">\n'+(0,eQ.NB)(e)+"\n"+s;else{let{dumpString:t,attributes:r}=e;a='<script type="midscene_web_dump" type="application/json" '+Object.entries(r||{}).filter(e=>void 0!==e[1]&&null!==e[1]).map(e=>{let[t,r]=e;return`${t}="${encodeURIComponent(r)}"`}).join(" ")+">\n"+(0,eQ.NB)(t)+"\n"+s}return o?(r?(oi.get(t)||((0,ry.writeFileSync)(t,i,{flag:"w"}),oi.set(t,!0)),!function(e,t){let r="</html>",n=(0,ry.statSync)(e),i=Math.min(n.size,4096),o=Math.max(0,n.size-i),a=or.alloc(n.size-o),s=(0,ry.openSync)(e,"r");(0,ry.readSync)(s,a,0,a.length,o),(0,ry.closeSync)(s);let l=a.toString("utf8"),A=l.lastIndexOf(r);if(-1===A)throw Error(`No </html> found in file:${e}`);let c=l.slice(0,A),u=o+or.byteLength(c,"utf8");(0,ry.truncateSync)(e,u),(0,ry.appendFileSync)(e,`${t}
|
|
930
930
|
${r}
|
|
931
|
-
`)}(t,a)):(0,ry.writeFileSync)(t,os(i,a),{flag:"w"}),t):os(i,a)}async function oA(e){return new Promise(t=>setTimeout(t,e))}function oc(){return"1.10.
|
|
931
|
+
`)}(t,a)):(0,ry.writeFileSync)(t,os(i,a),{flag:"w"}),t):os(i,a)}async function oA(e){return new Promise(t=>setTimeout(t,e))}function oc(){return"1.10.4-beta-20260707113335.0"}function ou(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];on.env[eD.n0]&&console.log("[Midscene]",...t)}let od=null,op="";async function oh(e){let{testUrl:t,serverUrl:r}=e;if(!r)return;let{repoUrl:n,userEmail:i}=await function(){if(od)return od;let e=(0,ot.promisify)(oe.execFile);return od=Promise.all([e("git",["config","--get","remote.origin.url"]).then(e=>{let{stdout:t}=e;return t.trim()},()=>""),e("git",["config","--get","user.email"]).then(e=>{let{stdout:t}=e;return t.trim()},()=>"")]).then(e=>{let[t,r]=e;return{repoUrl:t,userEmail:r}})}();(n?n!==op:t)&&(ou("Uploading test info to server",{serverUrl:r,repoUrl:n,testUrl:t,userEmail:i}),fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repo_url:n,test_url:t,user_email:i})}).then(e=>e.json()).then(e=>{ou("Successfully uploaded test info to server:",e)}).catch(e=>ou("Failed to upload test info to server:",e)),op=n)}var of=r(3147);function og(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let om={onExecutionUpdate:()=>{},flush:async()=>{},finalize:async()=>void 0,getReportPath:()=>void 0};function oy(e){if(!1===e.generateReport&&!0===e.persistExecutionDump)throw Error("persistExecutionDump cannot be true when generateReport is false")}class ov{static create(e,t){var r;if(oy(t),function(e){if(!(null==e?void 0:e.trim()))throw Error("reportFileName must be a non-empty string");if(/[\\/]/.test(e))throw Error("reportFileName must not contain path separators (`/` or `\\\\`)");if(/[:*?"<>|]/.test(e))throw Error('reportFileName contains illegal filename characters: : * ? " < > |')}(e),!1===t.generateReport||eQ.ht)return om;let n=(0,iF.ZH)("report"),i=(0,tX.join)(n,e);return new ov({reportPath:"html-and-external-assets"===t.outputFormat?(0,tX.join)(i,"index.html"):(0,tX.join)(n,(r=e).endsWith(".html")?r:`${r}.html`),screenshotMode:"html-and-external-assets"===t.outputFormat?"directory":"inline",persistExecutionDump:t.persistExecutionDump,autoPrint:t.autoPrintReportMsg,reuseExistingReport:t.reuseExistingReport})}onExecutionUpdate(e,t,r){this.lastExecution=e,this.lastReportMeta=t,this.executionsByKey.set(this.getExecutionCommentKey(e),e),this.mergeReportAttributes(r),this.writeQueue=this.writeQueue.then(async()=>{this.destroyed||await this.doWriteExecution(e,t)})}async flush(){await this.writeQueue}async finalize(){if(this.lastExecution&&this.lastReportMeta&&this.onExecutionUpdate(this.lastExecution,this.lastReportMeta),await this.flush(),this.destroyed=!0,this.initialized)return await this.appendAgentReportComment(),this.reportPath}getReportPath(){return this.reportPath}printReportPath(){this.autoPrint&&this.reportPath&&(eY.getEnvConfigInBoolean(eD.d8)||("directory"===this.screenshotMode?(0,eQ.gQ)(`Midscene - report file updated: npx serve ${(0,tX.dirname)(this.reportPath)}`):(0,eQ.gQ)(`Midscene - report file updated: ${this.reportPath}`)))}async doWriteExecution(e,t){let r=this.wrapAsReportDump(e,t);"inline"===this.screenshotMode?await this.writeInlineExecution(e,r):await this.writeDirectoryExecution(e,r),this.shouldPersistExecutionDump&&await this.persistExecutionDumpToFile(e,r),this.firstWriteDone||(this.firstWriteDone=!0,this.printReportPath())}mergeReportAttributes(e){if(e)for(let[t,r]of Object.entries(e))null!=r&&(this.reportAttributes[t]=String(r))}hydrateStateFromExistingReport(){if(!(0,ry.existsSync)(this.reportPath)||(this.initialized=!0,!this.shouldPersistExecutionDump))return;let e=(0,tX.dirname)(this.reportPath),t=(0,ry.readdirSync)(e).map(e=>{var t;return null==(t=/^(\d+)\.execution\.json$/.exec(e))?void 0:t[1]}).filter(e=>!!e).map(e=>Number.parseInt(e,10)).filter(e=>Number.isFinite(e));t.length>0&&(this.executionLogIndex=Math.max(...t))}getDumpScriptAttributes(){return{"data-group-id":this.reportStreamId,[rN]:this.screenshotMode,...this.reportAttributes}}wrapAsReportDump(e,t){return new n6({sdkVersion:t.sdkVersion,groupName:t.groupName,groupDescription:t.groupDescription,modelBriefs:t.modelBriefs,deviceType:t.deviceType,executions:[e]})}async writeInlineExecution(e,t){let r=(0,tX.dirname)(this.reportPath);for(let t of((0,ry.existsSync)(r)||(0,ry.mkdirSync)(r,{recursive:!0}),this.initialized||(await (0,of.writeFile)(this.reportPath,oa()),this.initialized=!0),e.collectScreenshots()))await this.screenshotStore.persist(t);let n=t.serialize();await (0,of.appendFile)(this.reportPath,`
|
|
932
932
|
${rD(n,this.getDumpScriptAttributes())}`)}async writeDirectoryExecution(e,t){let r=(0,tX.dirname)(this.reportPath);for(let t of((0,ry.existsSync)(r)||(0,ry.mkdirSync)(r,{recursive:!0}),e.collectScreenshots()))await this.screenshotStore.persist(t);let n=t.serialize();this.initialized||(await (0,of.writeFile)(this.reportPath,`${oa()}${rT()}`),this.initialized=!0),await (0,of.appendFile)(this.reportPath,`
|
|
933
933
|
${rD(n,this.getDumpScriptAttributes())}`)}async appendAgentReportComment(){if(this.agentCommentWritten||!this.lastReportMeta||0===this.executionsByKey.size)return;let e=new n6({sdkVersion:this.lastReportMeta.sdkVersion,groupName:this.lastReportMeta.groupName,groupDescription:this.lastReportMeta.groupDescription,modelBriefs:this.lastReportMeta.modelBriefs,deviceType:this.lastReportMeta.deviceType,executions:Array.from(this.executionsByKey.values())});await (0,of.appendFile)(this.reportPath,`
|
|
934
934
|
${rO(e)}`),this.agentCommentWritten=!0}getExecutionLogKey(e){if(!e.id)throw Error("ReportGenerator: execution.id is required for persisting execution dumps");return`id:${e.id}`}getExecutionCommentKey(e){if(e.id)return`id:${e.id}`;let t=this.executionCommentKeyByObject.get(e);if(t)return t;let r=`no-id:${this.executionCommentKeyIndex++}`;return this.executionCommentKeyByObject.set(e,r),r}async persistExecutionDumpToFile(e,t){let r=(0,tX.dirname)(this.reportPath);(0,ry.existsSync)(r)||(0,ry.mkdirSync)(r,{recursive:!0});let n=this.getExecutionLogKey(e),i=this.executionLogFileIndexByExecutionKey.get(n);i||(this.executionLogIndex+=1,i=this.executionLogIndex,this.executionLogFileIndexByExecutionKey.set(n,i));let o=`${i}.execution.json`,a=(0,tX.join)((0,tX.dirname)(this.reportPath),o);await (0,of.writeFile)(a,t.serialize(2),"utf-8")}constructor(e){og(this,"reportPath",void 0),og(this,"screenshotMode",void 0),og(this,"shouldPersistExecutionDump",void 0),og(this,"autoPrint",void 0),og(this,"firstWriteDone",!1),og(this,"executionLogIndex",0),og(this,"executionLogFileIndexByExecutionKey",new Map),og(this,"reportStreamId",void 0),og(this,"screenshotStore",void 0),og(this,"initialized",!1),og(this,"lastExecution",void 0),og(this,"lastReportMeta",void 0),og(this,"executionsByKey",new Map),og(this,"executionCommentKeyByObject",new WeakMap),og(this,"executionCommentKeyIndex",0),og(this,"reportAttributes",{}),og(this,"agentCommentWritten",!1),og(this,"writeQueue",Promise.resolve()),og(this,"destroyed",!1),this.reportPath=e.reportPath,this.screenshotMode=e.screenshotMode,this.shouldPersistExecutionDump=e.persistExecutionDump??!1,this.autoPrint=e.autoPrint??!0,this.reportStreamId=(0,eQ.uR)(),this.screenshotStore=new rU({mode:"inline"===this.screenshotMode?"inline":"directory",reportPath:this.reportPath,screenshotsDir:(0,tX.join)((0,tX.dirname)(this.reportPath),"screenshots"),writeInlineImage:async(e,t)=>{let r;await (0,of.appendFile)(this.reportPath,`
|
|
@@ -937,7 +937,7 @@ ${r}
|
|
|
937
937
|
|
|
938
938
|
${n}`;return"string"==typeof e?i:{...e,prompt:i}},oU=/^(Given|When|Then|And|But)\s+(.+)$/i,oQ=/^(Scenario):\s*(.*)$/i,oZ=/^(Feature|Background|Scenario Outline|Scenario Template|Examples|Rule):/i,oJ=e=>{let t=e.toLowerCase();return"given"===t?"Given":"when"===t?"When":"then"===t?"Then":"and"===t?"And":"But"},oX=e=>{if(null==e?void 0:e.aborted)throw"function"==typeof e.throwIfAborted&&e.throwIfAborted(),Error(`runGherkinScenario aborted: ${e.reason||"signal already aborted"}`)},oH=e=>"Given"===e.effectiveKeyword?`Set up this precondition: ${e.text}`:"When"===e.effectiveKeyword?`Perform this user action: ${e.text}`:`Verify that ${e.text}`,oG=(e,t)=>{let r=e.keyword===e.effectiveKeyword?e.keyword:`${e.keyword} as ${e.effectiveKeyword}`;return"Given"===e.effectiveKeyword?`setting up the precondition (${r} -> ${t})`:"When"===e.effectiveKeyword?`performing the user action (${r} -> ${t})`:`verifying the expected result (${r} -> ${t})`},oV=e=>e instanceof Error&&e.message?` Original error: ${e.message}`:"",oq=async(e,t,r)=>{let n=(e=>{let t,r,n=e.split(/\r?\n/),i=[],o=[],a=0,s="prelude";for(let[e,r]of n.entries()){let n=e+1,l=r.trim();if(!l||l.startsWith("#")||l.startsWith("@"))continue;if('"""'===l||"'''"===l)throw Error(`runGherkinScenario does not support doc strings; found one at line ${n}.`);if(l.startsWith("|"))throw Error(`runGherkinScenario does not support data tables; found one at line ${n}.`);if(oZ.test(l))throw Error(`runGherkinScenario does not support "${l}" at line ${n}.`);let A=l.match(oQ);if(A){a+=1,t=A[2].trim()||void 0,s="scenario";continue}let c=l.match(oU);if(c){let e={keyword:oJ(c[1]),text:c[2].trim(),lineNumber:n};"scenario"===s?i.push(e):o.push(e);continue}throw Error(`runGherkinScenario does not support content at line ${n}: ${l}`)}if(a>1)throw Error(`runGherkinScenario expects exactly one Scenario, but found ${a}.`);if(1===a&&o.length>0)throw Error("runGherkinScenario cannot mix anonymous steps with a Scenario block.");let l=1===a?i:o;if(0===l.length)throw Error("runGherkinScenario requires at least one Gherkin step.");return{scenario:t,steps:l.map(e=>{let t,n="Given"===(t=e.keyword)||"When"===t||"Then"===t?e.keyword:r;if(!n)throw Error(`runGherkinScenario cannot resolve "${e.keyword}" at line ${e.lineNumber}; use Given, When, or Then before ${e.keyword}.`);return r=n,{...e,effectiveKeyword:n}})}})(t),i={...r,cacheable:!1};for(let t of n.steps){oX(null==r?void 0:r.abortSignal);let n="Then"===t.effectiveKeyword?"aiAssert":"aiAct",o=oH(t);try{"aiAct"===n?await e.aiAct(o,i):(null==r?void 0:r.context)||(null==r?void 0:r.abortSignal)?await e.aiAssert(o,void 0,{context:r.context,abortSignal:r.abortSignal}):await e.aiAssert(o)}catch(e){throw Error(`runGherkinScenario failed while ${oG(t,n)} at line ${t.lineNumber}: ${t.keyword} ${t.text}.${oV(e)}`,{cause:e})}}},oW=e=>e?` in ${e}`:"",oY=async(e,t)=>{let n,i,{fromMarkdown:o}=await r(5902)("mdast-util-from-markdown"),{toMarkdown:a}=await r(5845)("mdast-util-to-markdown"),s=o(e),l=(n=[],(i=e=>{Array.isArray(e.children)&&(e.children=e.children.map(e=>{if("imageReference"===e.type){let r=e.identifier||e.label||"unknown";throw Error(`runMarkdown does not support reference-style image "${r}"${oW(t)}. Use direct image syntax instead.`)}if("image"===e.type){var r;let i,o=(i=n.length,`参考图片-${String(i+1).padStart(3,"0")}`);if(!e.url)throw Error(`Markdown image ${o}${oW(t)} is missing a URL.`);if(n.push({name:o,url:(r=e.url,!t||/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(r)||(0,tX.isAbsolute)(r)?r:(0,tX.resolve)((0,tX.dirname)(t),r))}),n.length>20)throw Error(`runMarkdown supports at most 20 images, but found ${n.length} images${oW(t)}.`);return{type:"text",value:o}}return i(e),e}))})(s),n);return 0===l.length?{prompt:e,imageCount:0}:{prompt:{prompt:a(s),images:l,convertHttpImage2Base64:!0},imageCount:l.length}};var o_=r(9140),o$=r(8586),o0=r.n(o$);async function o1(e){let t,{PhotonImage:r}=await tW(),n=e.replace(/^data:image\/\w+;base64,/,"").replace(/\s/g,"");tQ()(n,"Invalid image: empty base64 data"),tQ()(/^[A-Za-z0-9+/]+={0,2}$/.test(n)&&n.length%4!=1,"Invalid image: malformed base64 data");let i=tZ.Buffer.from(n,"base64");tQ()(function(e){return!!e&&!(e.length<8)&&137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]&&13===e[4]&&10===e[5]&&26===e[6]&&10===e[7]||!!e&&!(e.length<3)&&255===e[0]&&216===e[1]&&255===e[2]}(i),"Invalid image: unsupported format");try{t=r.new_from_base64(n)}catch(e){throw Error(`Invalid image: failed to decode base64 data (${e instanceof Error?e.message:String(e)})`,{cause:e})}let o=t instanceof Promise?await t:t,a=o.get_width(),s=o.get_height();return o.free(),tQ()(a&&s,"Invalid image: cannot get width or height"),{width:a,height:s}}var o2=r(9300),o3=r.n(o2),o5=r(5409);(0,eT.a)("agent");let o7={once:"singleAction",untilBottom:"scrollToBottom",untilTop:"scrollToTop",untilRight:"scrollToRight",untilLeft:"scrollToLeft"};async function o4(e,t){var r;let n=(0,eT.a)("commonContextParser");(0,eQ.vA)(e,"interfaceInstance is required"),n("Getting interface description");let i=(null==(r=e.describe)?void 0:r.call(e))||"";n("Interface description end"),n("Uploading test info to server"),oh({testUrl:i,serverUrl:t.uploadServerUrl}),n("UploadTestInfoToServer end"),n("will get size");let o=await e.size(),{width:a,height:s}=o;if(o.dpr&&console.warn("Warning: return value of interface.size() include a dpr property, which is not expected and ignored. "),!Number.isFinite(a)||!Number.isFinite(s))throw Error(`Invalid interface size: width and height must be finite numbers. Received width: ${a}, height: ${s}`);if(a<=0||s<=0)throw Error(`Invalid interface size: width and height must be positive numbers. Received width: ${a}, height: ${s}`);n(`size: ${a}x${s}`);let l=await e.screenshotBase64(),A=Date.now();(0,eQ.vA)(l,"screenshotBase64 is required"),n("will get screenshot dimensions");let{width:c,height:u}=await o1(l);if(!Number.isFinite(c)||!Number.isFinite(u))throw Error(`Invalid screenshot dimensions: width and height must be finite numbers. Received width: ${c}, height: ${u}`);if(c<=0||u<=0)throw Error(`Invalid screenshot dimensions: width and height must be positive numbers. Received width: ${c}, height: ${u}`);n("screenshot dimensions",c,"x",u);let d=a<s,p=c<u,h=a;d!==p&&(n(`Orientation mismatch detected: logical size ${a}x${s} (${d?"portrait":"landscape"}) vs screenshot ${c}x${u} (${p?"portrait":"landscape"}). Swapping logical dimensions.`),h=s);let f=t.screenshotShrinkFactor??1;if(!Number.isFinite(f)||f<1)throw Error(`Invalid screenshotShrinkFactor: must be a finite number >= 1. Received: ${f}`);let g=c/h;n("calculated dpr:",g);let m=g/f;if(n("shrunkShotToLogicalRatio",m),1!==f){let e=Math.round(c/f),t=Math.round(u/f);n(`Applying screenshot shrink factor: ${f} (physical: ${c}x${u} -> target: ${e}x${t})`);let r=await t3(l,{width:e,height:t});return{shotSize:{width:e,height:t},deprecatedDpr:g,screenshot:rZ.create(r,A),shrunkShotToLogicalRatio:m}}return{shotSize:{width:c,height:u},deprecatedDpr:g,screenshot:rZ.create(l,A),shrunkShotToLogicalRatio:m}}function o8(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"web",t=eY.getEnvConfigValue(eD.ho),r=o3()().format("YYYY-MM-DD_HH-mm-ss"),n=(0,eQ.uR)().substring(0,8);return`${t||e}-${r}-${n}`}function o6(e){var t;return Array.isArray(t=e.locatedPixelBbox)&&4===t.length&&t.every(e=>"number"==typeof e&&Number.isFinite(e))}async function o9(e,t,r,n){var i;if(t){if(!1===n)return void an("cache disabled for prompt: %s",r);if(null==(i=e.taskCache)?void 0:i.isCacheResultUsed){if(!e.interfaceInstance.rectMatchesCacheFeature)return void an("interface does not implement rectMatchesCacheFeature, skip cache");try{let n=await e.interfaceInstance.rectMatchesCacheFeature(t),i={center:[Math.round(n.left+n.width/2),Math.round(n.top+n.height/2)],rect:n,description:"string"==typeof r?r:r.prompt||""};return an("cache hit, prompt: %s",r),i}catch(e){an("rectMatchesCacheFeature error: %s",e);return}}}}let ae=e=>"string"==typeof e?{textPrompt:e,multimodalPrompt:void 0}:{textPrompt:e.prompt,multimodalPrompt:e.images?{images:e.images,convertHttpImage2Base64:!!e.convertHttpImage2Base64}:void 0};var at=r(4201).Buffer;function ar(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let an=(0,eT.a)("cache"),ai=(0,eT.a)("cache",{console:!0}),ao=".cache.yaml";class aa{matchCache(e,t){if(!this.isCacheResultUsed)return;let r=this.promptKey(e);for(let n=0;n<this.cacheOriginalLength;n++){let i=this.cache.caches[n],o=`${t}:${r}:${n}`;if(i.type===t&&(0,ot.isDeepStrictEqual)(i.prompt,e)&&!this.matchedCacheIndices.has(o)){"locate"===i.type&&(!i.cache&&Array.isArray(i.xpaths)&&(i.cache={xpaths:i.xpaths}),"xpaths"in i&&(i.xpaths=void 0)),this.matchedCacheIndices.add(o);let a=`${t}:${r}`,s=this.consumedCacheIndices.get(a)??[];return s.push(n),this.consumedCacheIndices.set(a,s),an("cache found and marked as used, type: %s, prompt: %s, index: %d",t,e,n),{cacheContent:i,cacheUsable:!0,updateFn:r=>{(an("will call updateFn to update cache, type: %s, prompt: %s, index: %d",t,e,n),r(i),this.readOnlyMode)?an("read-only mode, cache updated in memory but not flushed to file"):(an("cache updated, will flush to file, type: %s, prompt: %s, index: %d",t,e,n),this.flushCacheToFile())}}}}an("no unused cache found, type: %s, prompt: %s",t,e)}matchPlanCache(e){let t=this.matchCache(e,"plan");if(!t)return;let r=t.cacheContent.yamlWorkflow;if(!(null==r?void 0:r.trim()))return an("plan cache matched but yamlWorkflow is empty, treat as cache miss"),{...t,cacheUsable:!1};try{var n;let e=iK.Ay.load(r);if(!(null==e||null==(n=e.tasks)?void 0:n.some(e=>Array.isArray(e.flow)&&e.flow.length>0)))return an("plan cache matched but flow is empty, treat as cache miss"),{...t,cacheUsable:!1}}catch{return an("plan cache matched but yamlWorkflow is invalid, treat as cache miss"),{...t,cacheUsable:!1}}return t}matchLocateCache(e){return this.matchCache(e,"locate")}appendCache(e){(an("will append cache",e),this.cache.caches.push(e),this.readOnlyMode)?an("read-only mode, cache appended to memory but not flushed to file"):this.flushCacheToFile()}loadCacheFromFile(){let e=this.cacheFilePath;if(tQ()(e,"cache file path is required"),!(0,o_.existsSync)(e))return void an("no cache file found, path: %s",e);let t=e.replace(ao,".json");if((0,o_.existsSync)(t)&&this.isCacheResultUsed)return void console.warn(`An outdated cache file from an earlier version of Midscene has been detected. Since version 0.17, we have implemented an improved caching strategy. Please delete the old file located at: ${t}.`);try{let t=(0,o_.readFileSync)(e,"utf8"),r=iK.Ay.load(t);if(o0().lt(r.midsceneVersion,"0.16.10")&&!r.midsceneVersion.includes("beta"))return void console.warn(`You are using an old version of Midscene cache file, and we cannot match any info from it. Starting from Midscene v0.17, we changed our strategy to use xpath for cache info, providing better performance.
|
|
939
939
|
Please delete the existing cache and rebuild it. Sorry for the inconvenience.
|
|
940
|
-
cache file: ${e}`);return an("cache loaded from file, path: %s, cache version: %s, record length: %s",e,r.midsceneVersion,r.caches.length),r.midsceneVersion="1.10.
|
|
940
|
+
cache file: ${e}`);return an("cache loaded from file, path: %s, cache version: %s, record length: %s",e,r.midsceneVersion,r.caches.length),r.midsceneVersion="1.10.4-beta-20260707113335.0",r}catch(t){an("cache file exists but load failed, path: %s, error: %s",e,t);return}}flushCacheToFile(e){if(!this.cacheFilePath)return void an("no cache file path, will not write cache to file");if(null==e?void 0:e.cleanUnused)if(this.isCacheResultUsed){let e=this.cache.caches.length,t=new Set;for(let e of this.matchedCacheIndices){let r=e.split(":"),n=Number.parseInt(r[r.length-1],10);Number.isNaN(n)||t.add(n)}this.cache.caches=this.cache.caches.filter((e,r)=>{let n=t.has(r),i=r>=this.cacheOriginalLength;return n||i});let r=e-this.cache.caches.length;r>0?an("cleaned %d unused cache record(s)",r):an("no unused cache to clean")}else an("skip cleaning: cache is not used for reading");try{let e=(0,tX.dirname)(this.cacheFilePath);(0,o_.existsSync)(e)||((0,o_.mkdirSync)(e,{recursive:!0}),an("created cache directory: %s",e));let t=[...this.cache.caches].sort((e,t)=>"plan"===e.type&&"locate"===t.type?-1:+("locate"===e.type&&"plan"===t.type)),r={...this.cache,caches:t},n=iK.Ay.dump(r,{lineWidth:-1});(0,o_.writeFileSync)(this.cacheFilePath,n),an("cache flushed to file: %s",this.cacheFilePath)}catch(e){ai(`write cache to file failed, path: ${this.cacheFilePath}, error: ${e}`)}}promptKey(e){return"string"==typeof e?e:JSON.stringify(e)}applyRecordInto(e,t){"plan"===t.type?e.yamlWorkflow=t.yamlWorkflow:(e.cache=t.cache,"xpaths"in e&&(e.xpaths=void 0))}updateOrAppendCacheRecord(e,t){if(t)t.updateFn(t=>{this.applyRecordInto(t,e)});else{var r;let t=`${e.type}:${this.promptKey(e.prompt)}`,n=null==(r=this.staleCacheIndices.get(t))?void 0:r.pop();void 0!==n&&this.cache.caches[n]?(an("replacing stale cache entry in place, type: %s, prompt: %s, index: %d",e.type,e.prompt,n),this.replaceCacheRecord(n,e)):this.appendCache(e)}}markLocateCacheStale(e){var t;let r=`locate:${this.promptKey(e)}`,n=null==(t=this.consumedCacheIndices.get(r))?void 0:t.pop();if(void 0===n)return;let i=this.staleCacheIndices.get(r)??[];i.push(n),this.staleCacheIndices.set(r,i),an("marked locate cache entry as stale, prompt: %s, index: %d",e,n)}replaceCacheRecord(e,t){let r=this.cache.caches[e];(tQ()(r.type===t.type,`cache record type mismatch on replace: expected ${t.type}, got ${r.type}`),this.applyRecordInto(r,t),this.readOnlyMode)?an("read-only mode, cache replaced in memory but not flushed to file"):this.flushCacheToFile()}constructor(e,t,r,n={}){var i;let o;if(ar(this,"cacheId",void 0),ar(this,"cacheFilePath",void 0),ar(this,"cache",void 0),ar(this,"isCacheResultUsed",void 0),ar(this,"cacheOriginalLength",void 0),ar(this,"readOnlyMode",void 0),ar(this,"writeOnlyMode",void 0),ar(this,"matchedCacheIndices",new Set),ar(this,"consumedCacheIndices",new Map),ar(this,"staleCacheIndices",new Map),tQ()(e,"cacheId is required"),void 0!==n.cacheDir&&("string"!=typeof n.cacheDir||!n.cacheDir.trim()))throw Error("cacheDir must be a non-empty string when provided");const a=null==(i=n.cacheDir)?void 0:i.trim();let s=(0,eQ.gV)(e);const l=eY.getEnvConfigValueAsNumber(eD.YK)??200;if(at.byteLength(s,"utf8")>l){const e=s.slice(0,32),t=(0,eQ.tD)(void 0,s);s=`${e}-${t}`}this.cacheId=s,this.cacheFilePath=eQ.ht||eQ.rS?void 0:r||(0,tX.join)(a||(0,iF.ZH)("cache"),`${this.cacheId}${ao}`);const A=!!(null==n?void 0:n.readOnly),c=!!(null==n?void 0:n.writeOnly);if(A&&c)throw Error("TaskCache cannot be both read-only and write-only");this.isCacheResultUsed=!c&&t,this.readOnlyMode=A,this.writeOnlyMode=c,this.cacheFilePath&&!this.writeOnlyMode&&(o=this.loadCacheFromFile()),o||(o={midsceneVersion:"1.10.4-beta-20260707113335.0",cacheId:this.cacheId,caches:[]}),this.cache=o,this.cacheOriginalLength=this.isCacheResultUsed?this.cache.caches.length:0}}class as{async append(e,t){await this.runner.append(e,t)}async appendAndRun(e,t){return this.runner.appendAndFlush(e,t)}async run(e){return this.runner.flush(e)}isInErrorState(){return this.runner.isInErrorState()}latestErrorTask(){return this.runner.latestErrorTask()}appendErrorPlan(e){return this.runner.appendErrorPlan(e)}getRunner(){return this.runner}constructor(e,t,r){!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"runner",void 0),this.runner=new i6(e,t,r)}}let al=(0,eT.a)("agent:usage-intent",{console:!0});function aA(e,t){if(e)return e.intent?(al(`intent is already set to "${e.intent}", skipping overwrite to "${t}"`),e):{...e,intent:t}}function ac(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let au=(0,eT.a)("agent:task-builder");function ad(e){return null!=e&&"object"==typeof e&&Object.keys(e).length>0}function ap(e){if("string"==typeof e)return{prompt:e};let{deepThink:t,...r}=e,n=r.deepLocate??t;return void 0===n?r:{...r,deepLocate:n}}function ah(e){return{type:"Locate",param:ap(e),thought:""}}class af{async build(e,t,r,n){let i=[],o={tasks:i,planningModel:t,defaultModel:r,cacheable:null==n?void 0:n.cacheable,deepLocate:null==n?void 0:n.deepLocate,abortSignal:null==n?void 0:n.abortSignal},a=new Map([["Locate",e=>this.handleLocatePlan(e,o)],["Finished",e=>this.handleFinishedPlan(e,o)]]),s=e=>this.handleActionPlan(e,o);for(let t of e){let e=a.get(t.type)??s;await e(t)}return{tasks:i}}handleFinishedPlan(e,t){let r={type:"Action Space",subType:"Finished",param:null,thought:e.thought,executor:async()=>{}};t.tasks.push(r)}async handleLocatePlan(e,t){let r=this.createLocateTask(e,e.param,t);t.tasks.push(r)}async handleActionPlan(e,t){let r=e.type,n=ro(r,this.actionSpace),i=e.param,o=rf(n.paramSchema),a=rf(n.paramSchema,!0);o.forEach(e=>{if(i[e]){let n=ah(i[e]);au("will prepend locate param for field",`action.type=${r}`,`param=${JSON.stringify(i[e])}`,`locatePlan=${JSON.stringify(n)}`,`hasLocatedPixelBbox=${o6(i[e])}`);let o=this.createLocateTask(n,i[e],t,t=>{i[e]=t});t.tasks.push(o)}else(0,eQ.vA)(!a.includes(e),`Required locate field '${e}' is not provided for action ${r}`),au(`field '${e}' is not provided for action ${r}`)});let s={type:"Action Space",subType:r,thought:e.thought,param:e.param,executor:async(e,t)=>{var i;let o=t.task.timing;au("executing action",r,e,`taskContext.element.center: ${null==(i=t.element)?void 0:i.center}`);let s=t.uiContext;(0,eQ.vA)(s,"uiContext is required for Action task"),a.forEach(t=>{(0,eQ.vA)(e[t],`field '${t}' is required for action ${r} but not provided. Cannot execute action ${r}.`)}),i7(o,"beforeInvokeActionHookStart");let l=n.delayBeforeRunner??200;try{await Promise.all([(async()=>{this.interface.beforeInvokeAction&&(au(`will call "beforeInvokeAction" for interface with action name ${n.name}`),await this.interface.beforeInvokeAction(n.name,e),au(`called "beforeInvokeAction" for interface with action name ${n.name}`))})(),l>0?oA(l):Promise.resolve()])}catch(t){let e=(null==t?void 0:t.message)||String(t);throw Error(`error in running beforeInvokeAction for ${n.name}: ${e}`,{cause:t})}i7(o,"beforeInvokeActionHookEnd");let{shrunkShotToLogicalRatio:A}=s;if(void 0===A)throw Error("shrunkShotToLogicalRatio is not defined in Action task");if(n.paramSchema)try{e=((e,t,r)=>{if(!t)return;let n=e??{},i=rf(t);if(0===i.length)return t.parse(n);let o={};for(let e of i)e in n&&(o[e]=n[e]);let a={};for(let e in n)i.includes(e)?a[e]={prompt:"_dummy_"}:a[e]=n[e];let s=t.parse(a),l=null==r?void 0:r.shrunkShotToLogicalRatio;for(let e in o){let t=o[e];void 0!==l&&1!==l&&t&&"object"==typeof t&&t.center&&t.rect&&(t={...t,center:[Math.round(t.center[0]/l),Math.round(t.center[1]/l)],rect:{...t.rect,left:Math.round(t.rect.left/l),top:Math.round(t.rect.top/l),width:Math.round(t.rect.width/l),height:Math.round(t.rect.height/l)}}),s[e]=t}return s})(e,n.paramSchema,{shrunkShotToLogicalRatio:A})}catch(t){throw Error(`Invalid parameters for action ${n.name}: ${t.message}
|
|
941
941
|
Parameters: ${JSON.stringify(e)}`,{cause:t})}i7(o,"callActionStart"),au("calling action",n.name);let c=n.call.bind(this.interface),u=await c(e,t);i7(o,"callActionEnd"),au("called action",n.name,"result:",u),i7(o,"afterInvokeActionHookStart");let d=n.delayAfterRunner??this.waitAfterAction??300;d>0&&await oA(d);try{this.interface.afterInvokeAction&&(au(`will call "afterInvokeAction" for interface with action name ${n.name}`),await this.interface.afterInvokeAction(n.name,e),au(`called "afterInvokeAction" for interface with action name ${n.name}`))}catch(t){let e=(null==t?void 0:t.message)||String(t);throw Error(`error in running afterInvokeAction for ${n.name}: ${e}`,{cause:t})}return i7(o,"afterInvokeActionHookEnd"),{output:u}}};t.tasks.push(s)}createLocateTask(e,t,r,n){let{cacheable:i,defaultModel:o,deepLocate:a,abortSignal:s}=r,l=ap(t);return void 0!==i&&(l={...l,cacheable:i}),a&&!l.deepLocate&&(l={...l,deepLocate:!0}),{type:"Planning",subType:"Locate",param:l,thought:e.thought,executor:async(e,t)=>{var r,i,a,l,A,c,u,d,p,h,f,g;let m,y,v,b,w,E,{task:k}=t,{uiContext:x}=t,S=o6(e)?e:void 0;(0,eQ.vA)((null==e?void 0:e.prompt)||S,`No prompt or id or position or locatedPixelBbox to locate, param=${JSON.stringify(e)}`),x||(x=await this.service.contextRetrieverFn()),(0,eQ.vA)(x,"uiContext is required for Service task");let{shrunkShotToLogicalRatio:C}=x;if(void 0===C)throw Error("shrunkShotToLogicalRatio is not defined in locate task");let I=e=>{var t,r,n,i,o,a,s;e&&(m=e,k.log={dump:e,rawResponse:null==(t=e.taskInfo)?void 0:t.rawResponse,rawChoiceMessage:null==(r=e.taskInfo)?void 0:r.rawChoiceMessage,searchAreaRawChoiceMessage:null==(n=e.taskInfo)?void 0:n.searchAreaRawChoiceMessage},k.usage=aA(null==(i=e.taskInfo)?void 0:i.usage,"default"),k.searchArea=null==(o=e.taskInfo)?void 0:o.searchArea,(null==(a=e.taskInfo)?void 0:a.searchAreaUsage)&&(k.searchAreaUsage=aA(e.taskInfo.searchAreaUsage,"default")),(null==(s=e.taskInfo)?void 0:s.reasoning_content)&&(k.reasoning_content=e.taskInfo.reasoning_content))},j=S?function(e){var t;if(e)return nU(nH(e.locatedPixelBbox),"string"==typeof e.prompt?e.prompt:(null==(t=e.prompt)?void 0:t.prompt)||"")}(S):void 0,O=e.deepLocate?void 0:j,P=!!O;if(!P&&e.xpath&&this.interface.rectMatchesCacheFeature)try{v=await this.interface.rectMatchesCacheFeature({xpaths:[e.xpath]})}catch{}let R=v?nU((c=v,1===C?c:{...c,left:Math.round(c.left*C),top:Math.round(c.top*C),width:Math.round(c.width*C),height:Math.round(c.height*C)}),"string"==typeof e.prompt?e.prompt:(null==(r=e.prompt)?void 0:r.prompt)||""):void 0,M=!!R,T=e.prompt,N=null==(i=this.taskCache)?void 0:i.matchLocateCache(T),D=null==N||null==(a=N.cacheContent)?void 0:a.cache,B=P||M?null:await o9({taskCache:this.taskCache,interfaceInstance:this.interface},D,T,e.cacheable),z=B?1===C?B:{...B,center:[Math.round(B.center[0]*C),Math.round(B.center[1]*C)],rect:{...B.rect,left:Math.round(B.rect.left*C),top:Math.round(B.rect.top*C),width:Math.round(B.rect.width*C),height:Math.round(B.rect.height*C)}}:void 0,L=!!z,F=t.task.timing;if(!M&&!L&&!P)try{i7(F,"callAiStart"),y=await this.service.locate(e,{context:x,planLocatedElement:j},o,s),I(y.dump),b=y.element}catch(e){throw e instanceof n2&&I(e.dump),e}finally{i7(F,"callAiEnd")}let K=O||R||z||b;if(K){let e=[null==(u=K.center)?void 0:u[0],null==(d=K.center)?void 0:d[1],null==(p=K.rect)?void 0:p.left,null==(h=K.rect)?void 0:h.top,null==(f=K.rect)?void 0:f.width,null==(g=K.rect)?void 0:g.height].some(e=>"number"!=typeof e||!Number.isFinite(e))?`Invalid locate result coordinates: ${JSON.stringify(K)}`:K.rect.width<=0||K.rect.height<=0?`Invalid locate result rect size: ${JSON.stringify(K)}`:void 0;if(e){if(m)throw new n2(e,m);throw Error(e)}}let U=ad(null==N||null==(l=N.cacheContent)?void 0:l.cache);if(K&&this.taskCache&&!L&&(!P||!U)&&(null==e?void 0:e.cacheable)!==!1)if(this.interface.cacheFeatureForPoint)try{let t=K.center;1!==C&&(t=[Math.round(K.center[0]/C),Math.round(K.center[1]/C)],au("Transformed coordinates for cacheFeatureForPoint: %o -> %o",K.center,t));let r=await this.interface.cacheFeatureForPoint(t,{targetDescription:"string"==typeof e.prompt?e.prompt:null==(A=e.prompt)?void 0:A.prompt,modelRuntime:o});ad(r)?(au("update cache, prompt: %s, cache: %o",T,r),w=r,this.taskCache.updateOrAppendCacheRecord({type:"locate",prompt:T,cache:r},N)):au("no cache data returned, skip cache update, prompt: %s",T)}catch(e){au("cacheFeatureForPoint failed: %s",e)}else au("cacheFeatureForPoint is not supported, skip cache update");if(!K){if(m)throw new n2(`Element not found : ${e.prompt}`,m);throw Error(`Element not found: ${e.prompt}`)}return P&&S?E={from:"Plan",context:{locatedPixelBbox:S.locatedPixelBbox}}:M?E={from:"User expected path",context:{xpath:e.xpath}}:L&&(E={from:"Cache",context:{cacheEntry:D,cacheToSave:w}}),null==n||n(K),{output:{element:{...K,dpr:x.deprecatedDpr}},hitBy:E}}}}constructor({interfaceInstance:e,service:t,taskCache:r,actionSpace:n,waitAfterAction:i}){ac(this,"interface",void 0),ac(this,"service",void 0),ac(this,"taskCache",void 0),ac(this,"actionSpace",void 0),ac(this,"waitAfterAction",void 0),this.interface=e,this.service=t,this.taskCache=r,this.actionSpace=n,this.waitAfterAction=i}}function ag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:150;return void 0===e?"":("object"==typeof e&&(e=JSON.stringify(e)),"number"==typeof e)?e.toString():"string"==typeof e&&e.length>t?`${e.slice(0,t)}...`:"string"==typeof e?e.trim():""}function am(e){return e.subType||e.type}function ay(e){if(!e)return"";if("string"==typeof e)return e;if("object"==typeof e){if("object"==typeof e.prompt&&null!==e.prompt&&e.prompt.prompt)return e.prompt.prompt;if("string"==typeof e.prompt)return e.prompt;if("string"==typeof e.description)return e.description}return""}function av(e){if(!e)return{content:""};let t=e=>{var t;return(null==e||null==(t=e.multimodalPrompt)?void 0:t.images)&&Array.isArray(e.multimodalPrompt.images)?e.multimodalPrompt.images:void 0},r=e=>"string"==typeof e?e:JSON.stringify(e);if(e.demand)return{content:r(e.demand),images:t(e)};if(e.assertion)return{content:r(e.assertion),images:t(e)};if(e.dataDemand){let{dataDemand:n}=e;if("string"==typeof n)return{content:n};if("object"==typeof n)return{content:r(n.demand||n),images:t(n)}}return{content:""}}function ab(e,t){return t?`${e} - ${t}`:e}function aw(e){var t,r,n,i,o,a,s,l,A,c,u;let d;if("Planning"===e.type&&(d="Locate"===e.subType?ay(null==e?void 0:e.param):(null==(t=e.output)?void 0:t.log)||(null==(r=e.param)?void 0:r.userInstructionDisplay)||((null==(n=e.param)?void 0:n.userInstruction)?rc(e.param.userInstruction):void 0)),"Insight"===e.type&&(d=av(null==e?void 0:e.param).content),"Action Space"===e.type){let t=null==e||null==(i=e.param)?void 0:i.locate,r=t?ay(t):"";(d=e.thought||"","number"==typeof(null==e||null==(o=e.param)?void 0:o.timeMs))?d=`${null==e||null==(a=e.param)?void 0:a.timeMs}ms`:"string"==typeof(null==e||null==(s=e.param)?void 0:s.scrollType)?d=(u=null==e?void 0:e.param)?`${u.direction||"down"}, ${u.scrollType||"singleAction"}, ${u.distance||"distance-not-set"}`:"":"string"==typeof(null==e||null==(l=e.param)?void 0:l.direction)&&(null==e?void 0:e.subType)==="PullGesture"?d=function(e){if(!e)return"";let t=[];return t.push(`direction: ${e.direction||"down"}`),e.distance&&t.push(`distance: ${e.distance}`),e.duration&&t.push(`duration: ${e.duration}ms`),t.join(", ")}(null==e?void 0:e.param):void 0!==(null==e||null==(A=e.param)?void 0:A.value)?d=null==e||null==(c=e.param)?void 0:c.value:(null==e?void 0:e.param)&&"object"==typeof(null==e?void 0:e.param)&&Object.keys((null==e?void 0:e.param)||{}).length>0&&(d=null==e?void 0:e.param),r&&(d=d&&"object"!=typeof d?`${r} - ${d}`:r)}if(void 0===d)return"";if("string"==typeof d)return d;if("object"==typeof d){let e=ay(d);if(e)return e;let t=Object.entries(d);if(0===t.length)return"";let r=e=>"string"==typeof e?e:null==e?String(e):"object"==typeof e?JSON.stringify(e):String(e);if(1===t.length){let[e,n]=t[0];return`${e}: ${r(n)}`}return t.map(e=>{let[t,n]=e;return`${t}: ${r(n)}`}).join(", ")}return String(d)}function aE(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let ak=(0,eT.a)("device-task-executor"),ax=(0,eT.a)("device-task-executor",{console:!0});class aS{get page(){return this.interface}createExecutionSession(e,t){return new as(e,()=>(null==t?void 0:t.uiContext)?Promise.resolve(t.uiContext):Promise.resolve(this.service.contextRetrieverFn()),{onTaskStart:this.onTaskStartCallback,tasks:null==t?void 0:t.tasks,onSnapshotChange:async(e,r)=>{var n,i,o;await (null==(i=this.hooks)||null==(n=i.onSnapshotChange)?void 0:n.call(i,e,r)),await (null==t||null==(o=t.onSnapshotChange)?void 0:o.call(t,e,r))},...(null==t?void 0:t.onTaskEvent)?{onTaskEvent:t.onTaskEvent}:{}})}getActionSpace(){return this.providedActionSpace}async emitProgress(e,t,r){var n,i;await (null==(i=this.hooks)||null==(n=i.onProgress)?void 0:n.call(i,e,t,r))}emitAiActProgress(e,t){return this.emitProgress("aiAct",e,t)}setPendingFeedbackMessage(e,t,r){e.pendingFeedbackMessage=r?`Time: ${t}, ${r}`:`Current time: ${t}`}collectPlanningFeedback(e){let t=e.flatMap(e=>{let{planningFeedback:t}=e;return t?[t.length<=500?t:`${t.slice(0,500)}
|
|
942
942
|
...[truncated, ${t.length-500} more characters]`]:[]});return t.length>0?t.join("\n\n"):void 0}async getTimeString(e){if(this.useDeviceTime)if(this.interface.getDeviceLocalTimeString)try{return await this.interface.getDeviceLocalTimeString(e)}catch(e){ax(`Failed to get device time string, falling back to runtime time: ${e}`)}else ax("useDeviceTime is enabled but getDeviceLocalTimeString is not implemented, falling back to runtime time.");return rm(e)}async convertPlanToExecutable(e,t,r,n){return this.taskBuilder.build(e,t,r,n)}async loadYamlFlowAsPlanning(e,t,r){let n=this.createExecutionSession(ab((null==r?void 0:r.type)||"Act",(null==r?void 0:r.prompt)||rc(e))),i={type:"Planning",subType:"LoadYaml",param:{userInstruction:e,...(null==r?void 0:r.prompt)?{userInstructionDisplay:r.prompt}:{}},executor:async(e,r)=>{let{uiContext:n}=r;return(0,eQ.vA)(n,"uiContext is required for Planning task"),{output:{actions:[],shouldContinuePlanning:!1,log:"",yamlString:t},cache:{hit:!0},hitBy:{from:"Cache",context:{yamlString:t}}}}},o=n.getRunner();return await n.appendAndRun(i),{runner:o}}async runPlans(e,t,r,n,i){let o=this.createExecutionSession(e,i),{tasks:a}=await this.convertPlanToExecutable(t,r,n),s=o.getRunner(),{output:l}=await o.appendAndRun(a)??{};return{output:l,runner:s}}async action(e,t,r,n,i,o,a,s,l,A,c,u,d){return aC(this.interface,A,async()=>this.runAction(e,t,r,n,i,o,a,s,l,c,u,d))}invalidateFailedCacheHitLocates(e,t){if(this.taskCache)for(let i=t;i<e.tasks.length;i++){var r,n;let t=e.tasks[i];if("Planning"===t.type&&"Locate"===t.subType&&(null==(r=t.hitBy)?void 0:r.from)==="Cache"){let e=null==(n=t.param)?void 0:n.prompt;e&&this.taskCache.markLocateCacheStale(e)}}}async runAction(e,t,r,n,i,o,a,s,l,A,c,u){let d,p,h,f=new rX,g=(null==u?void 0:u.prompt)||rc(e),m=this.createExecutionSession(ab((null==u?void 0:u.type)||"Act",g),{onTaskEvent:async e=>{await (null==d?void 0:d(e))}}),y=m.getRunner(),v=0,b=[],w=a??this.replanningCycleLimit;if(void 0===w)throw Error("replanningCycleLimit is required for TaskExecutor.action");await this.emitAiActProgress("start",{prompt:g,planLimit:w});let E=async(e,t)=>(await this.emitAiActProgress("failed",{...t?{planIndex:t}:{},planLimit:w,error:e}),m.appendErrorPlan(e)),k=0,x=0;if(null==c?void 0:c.aborted)return E(`Task aborted: ${c.reason||"abort signal received"}`);let S=await rd(ru(e));for(;;){let a,g=v+1;if(x=g,null==c?void 0:c.aborted)return E(`Task aborted: ${c.reason||"abort signal received"}`,g);let C=f.subGoalsToText()||void 0,I=f.memoriesToText()||void 0,j=await m.appendAndRun({type:"Planning",subType:"Plan",param:{userInstruction:e,...(null==u?void 0:u.prompt)?{userInstructionDisplay:u.prompt}:{},replanningCycleLimit:w,aiActContext:i,imagesIncludeCount:s,deepThink:l,...C?{subGoalStatus:C}:{},...I?{memoriesStatus:I}:{}},executor:async(e,r)=>{let i,{uiContext:o}=r;(0,eQ.vA)(o,"uiContext is required for Planning task");let a=r.task.timing;await this.emitAiActProgress("plan_thinking",{planIndex:g,planLimit:w,screenshot:o.screenshot});let A=this.getActionSpace();ak("actionSpace for this interface is:",A.map(e=>e.name).join(", ")),(0,eQ.vA)(Array.isArray(A),"actionSpace must be an array"),0===A.length&&console.warn(`ActionSpace for ${this.interface.interfaceType} is empty. This may lead to unexpected behavior.`);let u="custom"===t.adapter.planning.kind?t.adapter.planning.planFn:iz;try{i7(a,"callAiStart"),i=await u(e.userInstruction,{context:o,actionContext:e.aiActContext,actionSpace:A,modelRuntime:t,conversationHistory:f,includeLocateInPlanning:n,imagesIncludeCount:s,deepThink:l,referenceImageMessages:S,abortSignal:c})}catch(e){throw e instanceof tm&&(r.task.usage=aA(e.usage,"planning"),r.task.log={...r.task.log||{},rawResponse:e.rawResponse,rawChoiceMessage:e.rawChoiceMessage}),await this.emitAiActProgress("plan_failed",{planIndex:g,planLimit:w,error:oM(e)}),e}finally{i7(a,"callAiEnd")}ak("planResult",JSON.stringify(i,null,2));let{actions:d,thought:h,log:m,memory:y,error:v,usage:b,rawResponse:E,rawChoiceMessage:k,reasoning_content:x,finalizeSuccess:C,finalizeMessage:I,updateSubGoals:j,markFinishedIndexes:O}=i;if(p=I,r.task.log={...r.task.log||{},rawResponse:E,rawChoiceMessage:k},r.task.usage=aA(b,"planning"),r.task.reasoning_content=x,r.task.output={actions:d||[],log:m,thought:h,memory:y,yamlFlow:i.yamlFlow,output:I,shouldContinuePlanning:i.shouldContinuePlanning,updateSubGoals:j,markFinishedIndexes:O},r.uiContext=o,(m||h)&&await this.emitAiActProgress("plan_planned",{planIndex:g,planLimit:w,...m?{log:m}:{},...h?{thought:h}:{}}),v){let e=`Failed to continue: ${v}
|
|
943
943
|
${m||""}`;await this.emitAiActProgress("plan_failed",{planIndex:g,planLimit:w,error:e})}if((0,eQ.vA)(!v,`Failed to continue: ${v}
|
|
@@ -954,6 +954,6 @@ ${e}`)}return{result:t.result}}async evaluateJavaScript(e){return(0,eQ.vA)(this.
|
|
|
954
954
|
This is a panel for experimenting and testing Midscene.js features. You can use natural language instructions to operate the ${e}, such as clicking buttons, filling in forms, querying information, etc.
|
|
955
955
|
|
|
956
956
|
Please enter your instructions in the input box below to start experiencing.
|
|
957
|
-
`,loading:!1,result:void 0,replayScriptsInfo:null,replayCounter:0,loadingProgressText:"",verticalMode:!1}};si();let so={result:void 0,dump:null,reportHTML:null,error:null},sa="data:image/png;base64,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",ss="data:image/png;base64,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";function sl(e){return"object"==typeof e&&null!==e}let sA=e=>{let t=Math.round(e.center[0]),r=Math.round(e.center[1]),n=Math.ceil(4)-1;return{left:Math.max(t-n,0),top:Math.max(r-n,0),width:8,height:8}};function sc(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let su=(e,t,r)=>{let n,i=(n=e.width/e.height>=t/r?e.width:e.height/r*t)>400?.1:n>50?.2:.3,o=Math.min(t,n+t*i*2),a=Math.min(e.left-t*i,t-o);a=Math.max(a,0);let s=Math.min(e.top-r*i,r-r/t*o);return{left:Math.round(a),top:Math.round(s=Math.max(s,0)),width:Math.round(o)}},sd=(e,t)=>su({left:0,top:0,width:e,height:t},e,t),sp=(e,t,r)=>{var n;let i=null==e||null==(n=e.uiContext)?void 0:n.shotSize;return{width:(null==i?void 0:i.width)||t,height:(null==i?void 0:i.height)||r}},sh=e=>e.map((e,t)=>({execution:e,index:t})).sort((e,t)=>(Number.isFinite(e.execution.logTime)?e.execution.logTime:1/0)-(Number.isFinite(t.execution.logTime)?t.execution.logTime:1/0)||e.index-t.index).map(e=>{let{execution:t}=e;return t}),sf=e=>{var t,r;let n,i,o,a,s=e?Array.isArray(e.executions)?e:{sdkVersion:"",groupName:"Execution",modelBriefs:[],executions:[e]}:null;if(!s)return console.warn("[allScriptsFromDump] dump is empty"),{scripts:[],modelBriefs:[]};let l=(o=s.sdkVersion,a=[],(sh((null==(r=s.executions)?void 0:r.filter(Boolean))||[]).forEach(e=>{e.tasks.forEach(e=>{var t,r;let o=null==(t=e.uiContext)?void 0:t.shotSize;if(o){let e=o.width,t=o.height;n||(n=e,i=t)}if(e.usage){let{model_name:t,model_description:n,intent:i}=e.usage;r={intent:i,name:t,modelDescription:n},a.some(e=>e.intent===r.intent&&e.name===r.name&&e.modelDescription===r.modelDescription)||a.push(r)}})}),n&&i)?{width:n,height:i,sdkVersion:o,modelBriefs:a,deviceType:s.deviceType}:(console.warn("width or height is missing in dump file"),null));if(!l)return{scripts:[],sdkVersion:s.sdkVersion,modelBriefs:[]};let{width:A,height:c}=l,u=[],d=sh((null==(t=s.executions)?void 0:t.filter(Boolean))||[]);for(let e=0;e<d.length;e++){let t=sg(d[e],-1,A,c,e);t&&u.push(...t)}return{scripts:u.filter((e,t)=>t===u.length-1||"Done"!==e.title),width:A,height:c,sdkVersion:l.sdkVersion,modelBriefs:l.modelBriefs,deviceType:l.deviceType}},sg=function(e,t,r,n){let i,o;if(arguments.length>4&&void 0!==arguments[4]&&arguments[4],!e||!e.tasks.length||0===r||0===n)return null;let a=[];if(-1===t)a=e.tasks;else{let r=e.tasks.findIndex(e=>e===t);if(-1===r)return console.error("task not found, cannot generate animation scripts"),null;if(r===e.tasks.length-1)return null;for(let t=r;t<e.tasks.length&&(!(t>r)||"Planning"!==e.tasks[t].type||"Plan"!==e.tasks[t].subType);t++)a.push(e.tasks[t])}if(0===a.length)return null;let s=(e,t)=>{if(!t)return e;let r=sc({},e),n=null;return Object.defineProperty(r,"img",{get:()=>(null===n&&(n=t.base64),n),enumerable:!0}),r},l=[],A=!1,c="";a.forEach((e,t)=>{var u,d,p,h,f,g,m,y,v,b;let w=null==(b=a[t])?void 0:b.taskId;if(o=w,0===t&&(c=aw(e)),"Planning"===e.type){let t=[];if("Plan"===e.subType){let r=(null==(d=e.output)?void 0:d.actions)||[];if(r.length>0){let e=r[0],n=["locate","start","end"];if(e.param)for(let r in n.forEach(r=>{e.param[r]&&"object"==typeof e.param[r]&&"center"in(e.param[r]||{})&&t.push(e.param[r])}),e.param)!n.includes(r)&&"object"==typeof e.param[r]&&"center"in(e.param[r]||{})&&t.push(e.param[r])}}else"Locate"===e.subType&&(null==(u=e.output)?void 0:u.element)&&(t=[e.output.element]);let o=am(e),a=aw(e),c=e.uiContext,h=null==c?void 0:c.screenshot;if(c&&h){let{width:u,height:d}=sp(e,r,n);l.push(s({type:"img",duration:300,title:o,subTitle:a,imageWidth:u,imageHeight:d,taskId:w},h)),t.forEach(t=>{var r,n,p,f,g,m,y;let v,b=(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},t),n=n={center:[Math.round(t.center[0]),Math.round(t.center[1])],rect:sA(t)},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r);p=sc({},su(sA(b),u,d)),f=f={pointerLeft:b.center[0],pointerTop:b.center[1]},Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(f)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(f)).forEach(function(e){Object.defineProperty(p,e,Object.getOwnPropertyDescriptor(f,e))}),i=p,l.push(s({type:"insight",context:c,camera:i,highlightElement:b,searchArea:(null==e?void 0:e.searchArea)??(null==(m=sl(v=null==e?void 0:e.log)&&sl(y=v.dump)&&"string"==typeof y.type&&sl(y.taskInfo)?v.dump:null)||null==(g=m.taskInfo)?void 0:g.searchArea),duration:400,insightCameraDuration:800,title:o,subTitle:b.description||a,imageWidth:u,imageHeight:d,taskId:w},h)),A=!0})}if(e.recorder&&e.recorder.length>0){let t=null==(p=e.recorder[0])?void 0:p.screenshot,{width:i,height:o}=sp(e,r,n);l.push(s({type:"img",duration:900,title:am(e),subTitle:aw(e),imageWidth:i,imageHeight:o,taskId:w},t))}}else if("Action Space"===e.type){let t=am(e),i=aw(e);l.push({type:"spinning-pointer",duration:300,title:t,subTitle:i,taskId:w}),A&&(l.push({type:"clear-insight",duration:200,title:t,subTitle:i,taskId:w}),A=!1),l.push({type:"pointer",img:sa,duration:0,title:t,subTitle:i,taskId:w});let o=null==(f=e.recorder)||null==(h=f[0])?void 0:h.screenshot,{width:a,height:c}=sp(e,r,n);l.push(s({type:"img",duration:500,camera:"Sleep"===e.subType?sd(a,c):void 0,title:t,subTitle:i,imageWidth:a,imageHeight:c,taskId:w},o))}else{let t=am(e),i=aw(e),o=null==(m=e.recorder)||null==(g=m[e.recorder.length-1])?void 0:g.screenshot;if(o){let{width:a,height:A}=sp(e,r,n);l.push(s({type:"img",duration:900,camera:sd(a,A),title:t,subTitle:i,imageWidth:a,imageHeight:A,taskId:w},o))}}if("finished"!==e.status){let t=am(e),i=e.errorMessage||"unknown error",o=i.indexOf("NOT_IMPLEMENTED_AS_DESIGNED")>0?"Further actions cannot be performed in the current environment":i,a=null==(v=e.recorder)||null==(y=v[e.recorder.length-1])?void 0:y.screenshot,{width:A,height:c}=sp(e,r,n);l.push(s({type:"img",camera:sd(A,c),duration:900,title:t,subTitle:o,imageWidth:A,imageHeight:c,taskId:w},a))}}),A&&(l.push({type:"clear-insight",duration:200,title:"",subTitle:"",taskId:o}),A=!1);let u=a.length>0?sp(a[a.length-1],r,n):{width:r,height:n};return l.push({title:"End",subTitle:c,type:"img",duration:200,camera:sd(u.width,u.height),taskId:void 0}),l};function sm(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sy(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sm(o,n,i,a,s,"next",e)}function s(e){sm(o,n,i,a,s,"throw",e)}a(void 0)})}}function sv(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function sb(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function sw(e){var t;if(!e)return"";if("string"==typeof e)return e;if(null==e||null==(t=e.dump)?void 0:t.error)return e.dump.error;if(e.message)return String(e.message);try{return JSON.stringify(e)}catch(t){return String(e)}}function sE(e,t){return e?Array.isArray(null==e?void 0:e.executions)?sf(e):e.tasks&&Array.isArray(e.tasks)?sf({sdkVersion:"",groupName:"Playground Execution",modelBriefs:[],executions:[e],deviceType:t}):null:null}function sk(e){return"aiAct"===e||"runMarkdown"===e}function sx(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class sS{initDB(){return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.version);r.onerror=()=>t(r.error),r.onsuccess=()=>e(r.result),r.onupgradeneeded=e=>{let t=e.target.result;this.storeConfigs.forEach(e=>{let{name:r,keyPath:n}=e;t.objectStoreNames.contains(r)||t.createObjectStore(r,{keyPath:n}).createIndex("timestamp","timestamp",{unique:!1})})}})}async withTransaction(e,t,r){let n=(await this.dbPromise).transaction(e,t);return r(Array.isArray(e)?e.map(e=>n.objectStore(e)):n.objectStore(e))}promisifyRequest(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error)})}async put(e,t){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.put(t))})}async get(e,t){return this.withTransaction(e,"readonly",async e=>this.promisifyRequest(e.get(t)))}async getAll(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return this.withTransaction(e,"readonly",async e=>{let r=t?await this.promisifyRequest(e.index("timestamp").getAll()):await this.promisifyRequest(e.getAll());return t?r.sort((e,t)=>e.timestamp-t.timestamp):r})}async clear(e){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.clear())})}async delete(e,t){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.delete(t))})}async count(e){return this.withTransaction(e,"readonly",async e=>this.promisifyRequest(e.count()))}getDBPromise(){return this.dbPromise}constructor(e,t,r){sx(this,"dbPromise",void 0),sx(this,"dbName",void 0),sx(this,"version",void 0),sx(this,"storeConfigs",void 0),this.dbName=e,this.version=t,this.storeConfigs=r,this.dbPromise=this.initDB()}}let sC=async(e,t,r,n)=>{try{return await e()}catch(e){return console.error(t,e),e instanceof Error&&"QuotaExceededError"===e.name&&n&&(console.log("Storage quota exceeded, running cleanup..."),await n()),r}},sI=(e,t,r)=>async()=>{try{let n=await e.getAll(t);if(n.length>r){let i=n.sort((e,t)=>e.timestamp-t.timestamp).slice(0,n.length-r);await Promise.all(i.map(r=>e.delete(t,r.id)))}}catch(e){console.error(`Failed to cleanup ${t}:`,e)}};function sj(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sO(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sj(o,n,i,a,s,"next",e)}function s(e){sj(o,n,i,a,s,"throw",e)}a(void 0)})}}function sP(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sR(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){sP(e,t,r[t])})}return e}function sM(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}let sT="playground_messages",sN="playground_results";class sD{saveMessages(e){return sO(function*(){yield sC(()=>sO(function*(){yield this.dbManager.clear(sT);let t=e.slice(-100);yield Promise.all(t.map((e,t)=>{let r=sM(sR({},e),{result:"result"===e.type?void 0:e.result}),n={id:e.id||`msg-${t}`,data:r,timestamp:e.timestamp?e.timestamp.getTime():Date.now()+t};return this.dbManager.put(sT,n)}))}).call(this),"Failed to save messages to IndexedDB",void 0,this.messagesCleanup)}).call(this)}loadMessages(){return sO(function*(){return(yield sC(()=>sO(function*(){let e=yield this.dbManager.getAll(sT,!0);return 0===e.length?[]:Promise.all(e.map(e=>sO(function*(){let t=e.data,r=sM(sR({},t),{timestamp:new Date(t.timestamp)});if("result"===t.type&&t.id){let e=yield this.loadResult(t.id);e&&(r.result=e.result,r.replayScriptsInfo=e.replayScriptsInfo,r.replayCounter=e.replayCounter,r.verticalMode=e.verticalMode)}return r}).call(this)))}).call(this),"Failed to load messages from IndexedDB",[],this.messagesCleanup))||[]}).call(this)}clearMessages(){return sO(function*(){yield sC(()=>sO(function*(){yield Promise.all([this.dbManager.clear(sT),this.dbManager.clear(sN)])}).call(this),"Failed to clear messages from IndexedDB")}).call(this)}saveResult(e,t){return sO(function*(){yield sC(()=>sO(function*(){let r=this.compressResultForStorage(t),n={id:e,data:r,timestamp:Date.now(),size:JSON.stringify(r).length};yield this.dbManager.put(sN,n)}).call(this),"Failed to save result to IndexedDB",void 0,this.resultsCleanup)}).call(this)}loadResult(e){return sO(function*(){return(yield sC(()=>sO(function*(){let t=yield this.dbManager.get(sN,e);return(null==t?void 0:t.data)||null}).call(this),"Failed to load result from IndexedDB",null))||null}).call(this)}compressResultForStorage(e){let t=e.result,r=null==t?void 0:t.dump;return t&&r?Array.isArray(null==r?void 0:r.executions)?sM(sR({},e),{result:sM(sR({},t),{dump:sM(sR({},r),{executions:r.executions.map(e=>sM(sR({},e),{tasks:this.compressExecutionTasks(e.tasks)}))})})}):r.tasks?sM(sR({},e),{result:sM(sR({},t),{dump:sM(sR({},r),{tasks:this.compressExecutionTasks(r.tasks)})})}):e:e}compressExecutionTasks(e){return e.map(e=>{var t;return sM(sR({},e),{uiContext:e.uiContext?sM(sR({},e.uiContext),{screenshot:e.uiContext.screenshot}):e.uiContext,recorder:null==(t=e.recorder)?void 0:t.map(e=>sM(sR({},e),{screenshot:e.screenshot}))})})}compressScreenshotIfNeeded(e){if(!e)return e;if(e.length>1048576){let t=Math.round(e.length/1024);return`[COMPRESSED: ${t}KB screenshot removed for storage]`}return e}getStorageStats(){return sO(function*(){return(yield sC(()=>sO(function*(){let[e,t]=yield Promise.all([this.dbManager.count(sT),this.dbManager.count(sN)]);return{messageCount:e,resultCount:t}}).call(this),"Failed to get storage statistics",{messageCount:0,resultCount:0}))||{messageCount:0,resultCount:0}}).call(this)}cleanup(){return sO(function*(){yield Promise.all([this.messagesCleanup(),this.resultsCleanup()])}).call(this)}constructor(e="playground"){sP(this,"dbManager",void 0),sP(this,"namespace",void 0),sP(this,"messagesCleanup",void 0),sP(this,"resultsCleanup",void 0),this.namespace=e,this.dbManager=new sS(`midscene_playground_${e}`,1,[{name:sT,keyPath:"id"},{name:sN,keyPath:"id"}]),this.messagesCleanup=sI(this.dbManager,sT,100),this.resultsCleanup=sI(this.dbManager,sN,50)}}function sB(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sz(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sB(o,n,i,a,s,"next",e)}function s(e){sB(o,n,i,a,s,"throw",e)}a(void 0)})}}function sL(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sF(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){sL(e,t,r[t])})}return e}function sK(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class sU{checkStorageSpace(){try{let e="storage-test",t="x".repeat(102400);return localStorage.setItem(e,t),localStorage.removeItem(e),!0}catch(e){return!1}}saveMessages(e){return sz(function*(){try{this.checkStorageSpace()||(console.warn("Low storage space detected, clearing old data..."),yield this.handleQuotaExceeded());let t=e.slice(-this.maxStorageItems).map(e=>sK(sF({},e),{result:"result"===e.type?void 0:e.result})),r=JSON.stringify(t);localStorage.setItem(this.messagesKey,r)}catch(t){if(t instanceof DOMException&&"QuotaExceededError"===t.name){console.warn("LocalStorage quota exceeded, attempting to clear old data and retry..."),yield this.handleQuotaExceeded();try{let t=e.slice(-10).map(e=>sK(sF({},e),{result:"result"===e.type?void 0:e.result})),r=JSON.stringify(t);localStorage.setItem(this.messagesKey,r),console.info("Successfully saved recent messages after clearing storage")}catch(e){console.error("Failed to save even after clearing storage:",e),yield this.clearMessages()}}else console.error("Failed to save messages to localStorage:",t)}}).call(this)}loadMessages(){return sz(function*(){try{let e=localStorage.getItem(this.messagesKey);if(!e)return[];let t=JSON.parse(e);return yield Promise.all(t.map(e=>sz(function*(){if("result"===e.type&&e.id){let t=`${this.resultsKey}-${e.id}`,r=localStorage.getItem(t);if(r)try{let t=JSON.parse(r);return sF({},e,t)}catch(e){console.warn("Failed to parse stored result:",e)}}return e}).call(this)))}catch(e){return console.error("Failed to load messages from localStorage:",e),[]}}).call(this)}clearMessages(){return sz(function*(){try{localStorage.removeItem(this.messagesKey),Object.keys(localStorage).forEach(e=>{e.startsWith(this.resultsKey)&&localStorage.removeItem(e)})}catch(e){console.error("Failed to clear messages from localStorage:",e)}}).call(this)}saveResult(e,t){return sz(function*(){try{let r=`${this.resultsKey}-${e}`;localStorage.setItem(r,JSON.stringify(t))}catch(r){if(r instanceof DOMException&&"QuotaExceededError"===r.name){console.warn("LocalStorage quota exceeded when saving result, clearing old results..."),yield this.handleQuotaExceeded();try{let r=`${this.resultsKey}-${e}`;localStorage.setItem(r,JSON.stringify(t))}catch(e){console.error("Failed to save result even after clearing storage:",e)}}else console.error("Failed to save result to localStorage:",r)}}).call(this)}handleQuotaExceeded(){return sz(function*(){try{let e=Object.keys(localStorage),t=e.filter(e=>e.startsWith(this.resultsKey)),r=t.slice(0,Math.max(1,Math.floor(t.length/2)));r.forEach(e=>{localStorage.removeItem(e)}),console.info(`Cleared ${r.length} old result entries to free up storage space`);let n=e.filter(e=>e.includes("playground")||e.includes("agent")||e.startsWith("midscene"));if(n.length>10){let e=n.slice(0,Math.floor(n.length/3));e.forEach(e=>{e!==this.messagesKey&&localStorage.removeItem(e)}),console.info(`Cleared ${e.length} additional playground-related entries`)}}catch(e){console.error("Failed to handle quota exceeded:",e)}}).call(this)}constructor(e="playground"){sL(this,"messagesKey",void 0),sL(this,"resultsKey",void 0),sL(this,"maxStorageItems",50),this.messagesKey=`${e}-messages`,this.resultsKey=`${e}-results`}}class sQ{saveMessages(e){return sz(function*(){this.messages=[...e]}).call(this)}loadMessages(){return sz(function*(){return[...this.messages]}).call(this)}clearMessages(){return sz(function*(){this.messages=[],this.results.clear()}).call(this)}saveResult(e,t){return sz(function*(){this.results.set(e,t)}).call(this)}constructor(){sL(this,"messages",[]),sL(this,"results",new Map)}}class sZ{saveMessages(e){return sz(function*(){})()}loadMessages(){return sz(function*(){return[]})()}clearMessages(){return sz(function*(){})()}saveResult(e,t){return sz(function*(){})()}}function sJ(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"indexeddb",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"playground";switch(e){case"indexeddb":if("undefined"!=typeof indexedDB)return new sD(t);return console.warn("IndexedDB not available, falling back to localStorage"),sJ("localStorage",t);case"localStorage":if("undefined"!=typeof localStorage)return new sU(t);return console.warn("localStorage not available, falling back to memory storage"),sJ("memory",t);case"memory":return new sQ;case"none":return new sZ;default:throw Error(`Unknown storage type: ${e}`)}}function sX(){if("undefined"!=typeof indexedDB)try{return indexedDB.open("test",1).onerror=()=>{},"indexeddb"}catch(e){}if("undefined"!=typeof localStorage)try{return localStorage.setItem("test","test"),localStorage.removeItem("test"),"localStorage"}catch(e){}return"memory"}function sH(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sG(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sH(o,n,i,a,s,"next",e)}function s(e){sH(o,n,i,a,s,"throw",e)}a(void 0)})}}function sV(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function sq(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}let sW=e=>{var t;let r=e.highlightElements||[],n=e.highlightRect,i=null==(t=e.uiContext)?void 0:t.shotSize;if(!i)return(0,o.jsx)("div",{className:"blackboard",children:(0,o.jsx)("div",{className:"blackboard-main-content",style:{padding:"20px"},children:"No UI context available"})});let s=e.uiContext,l=i.width,A=i.height,c=a.useMemo(()=>(function(e){if(!(null==e?void 0:e.length))return[];let t=new Map;return e.forEach((e,r)=>{var n,i;if(!(null==e?void 0:e.rect)||!(null==e?void 0:e.center))return;let o="content"in e&&e.content?e.content:"description"in e&&e.description?e.description:void 0,a=["id"in e?e.id:"",o||"",(n=e.center,`${n[0]}:${n[1]}`),(i=e.rect,`${i.left}:${i.top}:${i.width}:${i.height}`)].join("|");t.has(a)||t.set(a,{key:"id"in e&&e.id||`${a||"highlight"}-${r}`,label:o,center:e.center,rect:e.rect})}),Array.from(t.values())})(r),[r]),u=a.useMemo(()=>{var e;return(null==s||null==(e=s.screenshot)?void 0:e.base64)||""},[s]),d=c.map(e=>sA(e)),p=null;return 1===d.length?p=(0,o.jsx)("div",{className:"bottom-tip",children:(0,o.jsxs)("div",{className:"bottom-tip-item",children:["Element: ",JSON.stringify(d[0])]})}):d.length>1&&(p=(0,o.jsx)("div",{className:"bottom-tip",children:(0,o.jsxs)("div",{className:"bottom-tip-item",children:["Element: ",JSON.stringify(d)]})})),(0,o.jsxs)("div",{className:"blackboard",children:[(0,o.jsxs)("div",{className:"blackboard-main-content",style:{width:"fit-content",maxWidth:"100%",position:"relative"},children:[u&&(0,o.jsx)("img",{src:u,alt:"screenshot",className:"blackboard-screenshot",draggable:!1}),(0,o.jsxs)("div",{className:"blackboard-overlay",style:{aspectRatio:`${l}/${A}`,"--ui-scale":Math.max(1,Math.sqrt(l/1920))},children:[n&&(0,o.jsx)("div",{className:"blackboard-rect blackboard-rect-search",style:{left:`${n.left/l*100}%`,top:`${n.top/A*100}%`,width:`${n.width/l*100}%`,height:`${n.height/A*100}%`},children:(0,o.jsx)("span",{className:"blackboard-rect-label",children:"Search Area"})}),c.map(e=>{let t=sA(e);return(0,o.jsx)("div",{className:"blackboard-rect blackboard-rect-highlight",style:{left:`${t.left/l*100}%`,top:`${t.top/A*100}%`,width:`${t.width/l*100}%`,height:`${t.height/A*100}%`}},`${e.key}-rect`)})]})]}),(0,o.jsx)("div",{className:"bottom-tip",style:{display:e.hideController?"none":"block"},children:p})]})};var sY=r(9783),s_=r(7294),s$=r(4985),s0=r(1090),s1=r(2946),s2=r(90),s3=r(3776);let s5=e=>{let{text:t,disabled:r=!1,speed:n=5,className:i="",colorTheme:a="blue"}=e,s={"--animation-duration":`${n}s`},l=`theme-${a}`;return(0,o.jsx)("div",{className:`shiny-text ${l} ${r?"disabled":""} ${i}`,style:s,children:t})},s7=(0,o.jsxs)("span",{children:["Don't worry, just one more step to launch the playground server.",(0,o.jsx)("br",{}),"Please run one of the commands under the midscene project directory:",(0,o.jsx)("br",{}),"a. ",(0,o.jsx)("strong",{children:"npx midscene-playground"}),(0,o.jsx)("br",{}),"b. ",(0,o.jsx)("strong",{children:"npx --yes @midscene/web"})]}),s4=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s7;return(0,o.jsx)("div",{className:"server-tip",children:(0,o.jsx)(y.A,{message:"Playground Server Not Ready",description:e,type:"warning"})})},s8=(0,o.jsx)("div",{className:"result-empty-tip",style:{textAlign:"center"},children:(0,o.jsx)(s5,{disabled:!0,text:"The result will be shown here"})});var s6=JSON.parse('{"content":[{"content":"Swag Labs","rect":{"left":895,"top":38,"width":130,"height":32,"zoom":1},"center":[960,54],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"d6c5e2f100","attributes":{"nodeType":"TEXT Node"},"indexId":0},{"content":"Username","rect":{"left":814,"top":154,"width":292,"height":40,"zoom":1},"center":[960,174],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'a9021f480e\']","id":"a9021f480e","attributes":{"class":".input_error.form_input","placeholder":"Username","type":"text","data-test":"username","id":"user-name","name":"user-name","autocorrect":"off","autocapitalize":"none","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":1},{"content":"Password","rect":{"left":814,"top":209,"width":292,"height":40,"zoom":1},"center":[960,229],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'580f3b761d\']","id":"580f3b761d","attributes":{"class":".input_error.form_input","placeholder":"Password","type":"password","data-test":"password","id":"password","name":"password","autocorrect":"off","autocapitalize":"none","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":2},{"content":"","rect":{"left":814,"top":253,"width":292,"height":45,"zoom":1},"center":[960,275],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'3e1faf0fd6\']","id":"3e1faf0fd6","attributes":{"class":".error-message-container","nodeType":"CONTAINER Node"},"indexId":3},{"content":"Login","rect":{"left":814,"top":303,"width":292,"height":49,"zoom":1},"center":[960,327],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'6db0b64062\']","id":"6db0b64062","attributes":{"type":"submit","class":".submit-button.btn_action","data-test":"login-button","id":"login-button","name":"login-button","value":"Login","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":4},{"content":"Accepted usernames are:","rect":{"left":570,"top":435,"width":221,"height":21,"zoom":1},"center":[680,445],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"5ca36a5942","attributes":{"nodeType":"TEXT Node"},"indexId":5},{"content":"standard_user","rect":{"left":570,"top":479,"width":109,"height":19,"zoom":1},"center":[624,488],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"fd2fe54174","attributes":{"nodeType":"TEXT Node"},"indexId":6},{"content":"locked_out_user","rect":{"left":570,"top":503,"width":126,"height":19,"zoom":1},"center":[633,512],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"403daee75b","attributes":{"nodeType":"TEXT Node"},"indexId":7},{"content":"problem_user","rect":{"left":570,"top":527,"width":101,"height":19,"zoom":1},"center":[620,536],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"2b34f1e161","attributes":{"nodeType":"TEXT Node"},"indexId":8},{"content":"performance_glitch_user","rect":{"left":570,"top":551,"width":193,"height":19,"zoom":1},"center":[666,560],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"6ae63a4d9e","attributes":{"nodeType":"TEXT Node"},"indexId":9},{"content":"error_user","rect":{"left":570,"top":575,"width":84,"height":19,"zoom":1},"center":[612,584],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"76030282f1","attributes":{"nodeType":"TEXT Node"},"indexId":10},{"content":"visual_user","rect":{"left":570,"top":599,"width":92,"height":19,"zoom":1},"center":[616,608],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"f34b057726","attributes":{"nodeType":"TEXT Node"},"indexId":11},{"content":"Password for all users:","rect":{"left":960,"top":435,"width":221,"height":21,"zoom":1},"center":[1070,445],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"e693f608cd","attributes":{"nodeType":"TEXT Node"},"indexId":12},{"content":"secret_sauce","rect":{"left":960,"top":477,"width":101,"height":19,"zoom":1},"center":[1010,486],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"cde9de9828","attributes":{"nodeType":"TEXT Node"},"indexId":13}],"size":{"width":1920,"height":1080},"screenshotBase64":"data:image/png;base64,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8xecP25c2/qkSycuun/hzOuuG3nIiEcWLlz56xfbBgYAAIBPMwEagO3AQ4sW9evb9/h3q2tdXd2EsWN/8eCDlbeXfPOKsy+84OBhww4YMmTrb108YUJ9fd3Io46ccMklZ5xy6ueHD6+s9+nd1Kd3U9thu/bdpbFHQ1EUpVJp3uzZzzz/3NAv/uV5Ey+dMHbsgP79t23gqqqqAf37V1VVVd7W19f1/9znKq//dKedpl151Xev/96Bo7647De/mTJpUmW9saHhntvn/tfLr3xp9PGTp0z5m+OOG3/m2MpHN98255Irrjjh6GMuu+jCmbfOOXz06AcffnjbBgMAAIBPki04ANgObNq0afYP5559+uk/vvvuoihOPOaYt9ata9vxefkrLxdFsf7tt2u6dNn6W2vWvrnnwD0+22/Xp5Y8PeywUa2trR9+leqqqjETxv/n88/X1NQseeaZR375y6OOOOKaG25o359lwzvvbNmyZff+/ZcuW3b131+3Q8+epVKptbX1C8MPbm1tnXvXneVyefkrL9/xk5+cfPzxN82eVRTFaytWvPXWuqIofnD77Xf/9KftOw8AAADkCNAAbB9u/dGPLvzyOQcNPeDRxY+PGzPmlttu27Jly4d/ZcYPbimXSzdMndqvb99Fjz9+2ZWTX1q+/EOO39zcvN/gwdOnTOnevfuGDe/s1NT06muvtffPUbyxZs3Y888//eSTr7rs8tdXrZo1d26lMg8a+Bc79Oz5DzfNbDtyS3Pze767+Mkn230eAAAAyBGgAdg+rFq9+q5/vHfcmDFda2t3auoz9647P/IrfZqarp0x4+rrruvT1HTjtGu+dtFXzrrwgqIoVq5evc+gQZVjamtrBw0ceO+CBZXjr7zssr867rjnli6tbC29zdO+tW7dpk2b+u6888pVqyp7QBel3z29cIfGxueWvnD6+HO6VFePOvTQ22fe/PN/+edfL1u29MVlL7z44hEnjK4cVl9XX1fX9b3n/Yh7uAEAAODTxR7QAGw3Zt465/BRo75+8cVz75y3bv36tvVyuVwul4uiKJXL5XK59G7qnTxx4pRJk+rr6tesXbvmzbUtLS2V9V88+OCIgw46eNiwno2NE8+/4E+6daus79q3b9farpUzHHX4EYcceFDbJUqlUrlcLhWl37149xK/z8aNGx9+7LFxY8bs0Nh44P77/+2J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QoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoCE6ZwSAAAInUlEQVQGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIOJ/AFTldxexlFiCAAAAAElFTkSuQmCC","screenshotBase64WithElementMarker":"data:image/png;base64,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vn9Zpk27K62tozJ7ztxMn/5g9t9vdGruvufebGqvPQen5nOf/1K+9e2L06mpqTE77NAv+++3X0495eTstNNOebVd8J9fy/cvuSwvpl+/fvnhD76fTgfsv1923nmnPPXUghz+pqNyyCFvSEPXrrlj6rQ899zz+dAH359vf+fivJj9998v69evz2lnvCvDhg5J//79M/ePf8xTTy1IfX19vvPtr6d//x2yse2375NzPvyhfO0b38qnJ3w2l1z2g4wZ84YsXbI00+68MytWrMzee++V17/+oAAAALDtqA8AAADbjPr6+vznBV/Orrvskttu+02m3XlX7pg6LTU77NAvJ580Pp/8xL+nqakxmxq178jMn/9kRreOysZGj25NTV1dkZEjhmdTp/3TKVm3bl2+9/3LMvPhWZn58Kz06NEjb37TEfnSFz+bL37pq7n7nnuzqeOPPy5fvfCirF69JnvvtWcqlUqq1WqWr1iRRx+dlwcffCg/nXh1fnLl5Rk6dEheTU8//UyefvqZvJiVq1ZnY926dcvEn/w4Hz7n3Myc+XBuvPGm1AwevEc+8R8fT+uoUfn2dy7Oixm8x+4596Mfzoc/8i+597778/Cs2amrKzJy5Ii8591n5vUHH5QX8oEPvDfb990+3734kjz11IL87Gc/T0337t0zfvwJ+cynPpGGhoYAAACw7ags3rC6GgAAALZJq1atyh//9EgG7rxT+vXrl83tySf/kuUrVmTI3nunrq7I/+RTn/lsfvazn+ezEz6dU045ORtbt25dzj3v47nttt/kiMP/IRd/95vZWqxZsyZ//OMj2WWXgenTp3derjVr1uZPf/pTXve616W5uWdeio6Ojvz1r4uyYMGC9OnTJ7vuukuKoggAAADbnvoAAACwzerevXtGt47KlrLLLgPzUt1yy22pOfbYo7OphoaGfOB9Z+W2236TeY89lq1JU1NTRo0amVeqqakx++47Mi9HURQZMKB/BgzoHwAAALZtRQAAAGArtF2vXqmZPWduXsjDD89KzfB99gkAAADwX+oDAAAAW6Gjj/7HfOe738v73n92xh1zVIYP3yev221Q5sz9Y+6774Hc/pvfpq6uLm95y7EBAAAA/kt9AAAAYCv0kQ9/MGvWrMlPJ/4sP7v6mvzs6muysZ49e+Rb3/ha3vCGgwMAAAD8l/oAAADAVqhSqeTf/+1f84EPvDd3/GFqnn7mmSxduiyDBu2avffeK4P32CONjQ0BAAAA/j/1AQAAgK1YS3Nzxo07OgAAAMD/rggAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEJ9AAC2pPaOpK092dCRakdHAAAAyqhSFEl9kXStS+qKAABsKfUBANhS1qxPZUNHGhsb06WpS+rq6gIAAFBG7e3tWb9+fdauXptqfZE0dQkAwJZQHwCALWFVW7rU1adHr+YAAACUXV1dXerq6tLY2JiVq1Zl/aq2pHvXAABsbkUAADa3NevTpa4+Pbp3DwAAwLamR/fu6VJXn6xZHwCAza0IAMDm1N6RyoaO9OjePQAAANuqHt27p7KhI2nvCADA5lQEAGBzamtPY2NjAAAAtnWNjY1JW3sAADanIgAAm9OGjnTp0iUAAADbui5duiQbOgIAsDkVAQDYjKodHamrqwsAAMC2rq6uLtWOjgAAbE5FAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohfoAAABsTSqVALymVKsBAADYWtQHAABga1OtBuA1oVIJAADA1qQIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCfQAAADaXSiUAAAAAbDlFAAAAAAAAACiFIgAAAFtaS0uqjz2WjB2bl2L9+vX55je/meXLl2dT3/ve9/L0008HAAAAgKQIAADAltTSkup116Wy2255qarVap566qm0t7dnUwsXLsy6desCAAAAQFIfAACALWXs2GTSpFQCAAAAwOZQHwAAgC1l8uTk619PJk1KJk/Oq23x4sW59tprs2DBguywww45+OCDM2rUqHS66667cv/99+f555/PLrvskje96U0ZOHBgaiZOnJgRI0Zk7ty5mT17ds4777zccMMNGTFiRB566KE88sgj6dmzZ4444oiMHDkyne6+++5MnTo1K1asyIABA3LMMcdk4MCB6ejoyEUXXZSjjjoqt912W55//vnsvvvuOfnkk3PHHXdk+vTpqVQq2X///XPEEUek07x58/L73/8+Tz31VPr27ZuDDjooo0ePDgAAAMBLUR8AAIAtZdCgZP78ZOzYbA7XX399+vXrl3e+851ZsGBBLr/88uy+++5pbm7OnXfemXvuuSennnpqWlpaMmPGjFx22WX5yEc+kt69e2fx4sWZNGlSxowZk3e9611pamrK4sWLc91112X8+PF561vfmvvvvz8TJ07MwIED07t378yePTu//vWv8573vCc77rhj7r777lx22WX59Kc/nZpFixbl9ttvzzve8Y5s2LAhEydOzIUXXpghQ4bknHPOycKFC/PjH/84AwYMyLBhw/KXv/wlEydOzIknnpg99tgj8+bNyzXXXJOuXbtm+PDhAQAAAPjfFAEAANhS5s/P5lStVvPss89m8eLFGTRoUD75yU+mR48eqbnrrrtyxBFHpLm5OdVqNSNHjswOO+yQWbNmpdOQIUMyduzYDBw4MEVRpGafffbJkCFD0tjYmDe84Q3p0aNHnnzyydQMGDAgZ599dnbcccesWLEiQ4YMSVtbWxYuXJhORxxxRHr37p1+/fpl9OjRWb16dY477rh069Yte+yxRwYPHpzHH388NdOnT88+++yTXXfdNevXr88uu+yS1tbWPPDAAwEAAAB4KeoDAACwlSuKIkVRZMOGDdlYtVrNhg0b0qVLl9ScfPLJue222/KDH/wgGzZsSGtra4488sjU/PWvf80vf/nLtLS0ZGNtbW3p1L9//2xqhx12SKdKpZK+fftm5cqVqalUKvnFL36RZcuWpaWlJZVKJTVr1qxJp759+6bT9ttvn549e6axsTGdtt9++yxbtiw1Tz/9dB577LE88cQT2VivXr0CAAAA8FLUBwAAYCtXX1+fAQMGZOHChenbt286Pffcc6lUKunfv386OjqyZs2avOUtb0lRFHnuuedy2WWXpW/fvjnwwAPTt2/fHH/88dlzzz3Tqb29PZVKJZ2KosimKpVKXsztt9+eXr165X3ve19q1q5dmwkTJmRjRVFkY5VKJS+mX79+2XXXXXPUUUelU0dHRwAAAABeqiIAAACvASNGjMgtt9ySRYsWpWbVqlWZNGlShg4dmrq6ulQqlVx66aWZOnVqarbbbrt069Yt7e3tqRk1alRuueWWrFq1KjWPP/54JkyYkOeffz6v1Pr167N+/fpUq9V0dHTkxhtvTKVSySs1YsSI3HfffXnqqadSs3z58lxwwQWZPn16AAAAAF6K+gAAALwGvPGNb8yGDRvy3e9+Nx0dHeno6Mjw4cNz4oknpqZSqeS0007LxIkTM3ny5HR0dGTXXXdNa2trag4//PCsXbs2F1xwQerr69PR0ZG3ve1t6du3b16pN7/5zbn88svzuc99Lh0dHdl///3Tv3//vFJ77LFHxo0blx//+MepVqtZvXp1Dj300IwePToAAAAAL0V9AAAAXiPe9KY35U1velOWLVuWnj17piiKbGyXXXbJxz/+8axcuTL19fVpbGxMp0qlknHjxuXoo4/OihUr0tLSko198IMfzKY++MEPZlPvfe97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3LuXoyeO4xZcsSKB5ctzN0d+/pl8m437VbFCBZ576mkSkhLZtW8fQYGB+JYqxelz50jPyKBW9er4+fpyN7du3ebnX07g5elFo/r1+D0XL18m6eZN7kdxb2/atmlDGb/S7D6wn8tXr9KkUSNu3brNz7+cwM3L04snW7agauXKnDl3ngOHD5GXn8+dqlSqROcXXsBms3PyzBl27d+H0+nExTAMmjdpwt3cSEgg5upVCioXEMATjzfH38+Pn45GceLUKZxOJ3fzWMNGWCxmjhw7hsPhQET+2MUjUZisnoiIiIg8LKYUW44TERERkYfEmZ5LjaZNkP+vj5a8T6cOHVj+yUpCQkMRERH5b1azWjVK+/nR65VX6PbSy1y4dImW7doiIiL/08UjUZisnoiIiIg8LBZERERERERERP4N40aMpFOHDrjt3r8fERERERER+c+wICIiIiJ/uQvRFzlwuDRXrsYiIiLy3+7ipWgOHjmMS0xsLPOXLEZERERERET+MyyIiIiIyF9uwdKlLFi6FBERkcLg3Q8+4N0PPkBERERERET+8wxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERET+cmX8/WncoAEPk4eHB61btMBsNiMiIv+ddm/ZQonixRERERERERG5VwYiIiIi8pd76okneG/2HB4mfz8/Nq2KwMvTExER+e9Txt+fOrVqYzKZEBEREREREblXFkRERESEzh07Uqt6deYuXIiIiBReJpOJqWPH0bZNG0oUL86Pe/cwY/580jMycAsKDGTGpEm0bNqM+MRENm7ZzPsrVuBmNpuZOnYcL7Rti2EYfPvDDyz+cDk3k5Nx6diuHZNGv0VKagpTQ0OZGzKNxxo2ZM0XXzBm6hRcggIDmTFpEi2bNiM+MZGNWzbz/ooVuG1aFUGDunUxmUx8t3ETdoeDK7FX6TV4MPeqjL8/U8eO46lWrUhJTWXL9m9ZsHQpBbVr8wyTRo+iaqXKXPvtN2YveJdvvv8elzatW9O/V29eGzQQtwG9+xAcVJGQ0FDcenTuTP9evQkKDGTn3j18+MknnDxzBregwEBmTJpEy6bNiE9MZOOWzby/YgUiIiIiIiLycFgQEREREZo/1oTbeXmIiEjh1rFtOzq2a8cr/d7AZrOxaO5chvUfwDuLFuLiY7WyaVUEW3fsYFZYGJWDggkNmYrNZmdZ+Me4zJs2nRbNmjFi4gTy8vOZ/NZbTJ8wkRETJ+Cy58ABLkRfYt3KlaxcupR1mzYxc/48EpKScPGxWtm0KoKtO3YwKyyMykHBhIZMxWazsyz8Y1zemvI2geXL8/WazxkydgxZ2dnk5eVxP8YOH46XlydPvdiRsmUCWBcezpFjx9h78CAuwRUrsmr5coaOG8vuffvo+tJLLJg1m+07d+JwOChRvASVgoMoqLSfH+XLlsWtU4cOvDNtOqMnT+Z89EV6vvIKHy1eQqvn25OXn4+P1cqmVRFs3bGDWWFhVA4KJjRkKjabnWXhHyMiIiIiIiIPngURERGRQsxkMjF17DjatmlDieLF+XHvHmbMn096RgYuHZ57jukTJlKlUiVS09J4qlUrXEJCQ/lx315crCVLEjo1hDatW2OxWNi1bx/jpoWQkZmJy6C+fTGZTJQtE0CXF1/kt/gbhEes5ouvv8KtSaNGTB03nnqPPMKps2fZf+gnCjIMg9FDhvJa1674ly7NqbNnGTt1ChcuXcIlsHx51q38hNu3bzNj/jx6du1G+2ef4UZ8As2efQYXP19fFsyaTcvHH+dGfDzhqyO4H21at6Z/r968NmggbgN69yE4qCIhoaG4mEwmpo4dR9s2bShRvDg/7t3DjPnzSc/IwC0oMJAZkybRsmkz4hMT2bhlM++vWIHbV6vXUNrPj4h1a7FYijC8f3/K+PtTp0VzEhITERF5mNIy0rFarVSrXJmfoqLoNXgwnsWK4fZki5Y4nU4i1q/DMAxir8URuXEjr3bpwrLwj7GYzXTv3ImXe/Xi2C+/4DJw1ChaNG2KYRg4HA4yMjPJyMwkOSWFU+fOEvb++xT0ZIuWOJ1OItavwzAMYq/FEblxI6926cKy8I9xiY2Lw2az4RJz9SoZmZncr7T0DOrWfoRKFYM4ceokzZ59BqfTiVtGZiatOzzP+ehofKxWNmzezLg3R9Ds0cf4KeoI9+LVrl1ZuOyffP3tN7hMf+cdDh4+QokSJUhOSeHJFi1xOp1ErF+HYRjEXosjcuNGXu3ShWXhHyMiIiIiIiIPngURERGRQqxj23Z0bNeOV/q9gc1mY9HcuQzrP4B3Fi3EZe/Bg7w2aCBTxowlOyeHxR8ux+VGfDxuc0OmUbFCedp17Yq3txcfzA+j64svsXLNalxK+/kxrF9/Pt+4gZ6DBtK6RUuWhoWxc89uUtLSKF+2LJ9/9DFbtm9nxvx5tG7RgrHDh3P5ylXcenTuzODXX6d7/34kJiXx9pixTBg1iv4jRuCSkJhI32FDmTJmLB8tXsL2nTt5beBA0tIzcIv86GNycnPpP+JNygWUZcLIkdyPEsVLUCk4iIJK+/lRvmxZ3Dq2bUfHdu14pd8b2Gw2Fs2dy7D+A3hn0UJcfKxWNq2KYOuOHcwKC6NyUDChIVOx2ewsC/8Yl1GTJ/Fi+/aMHzGSU2fPMm5aCIlJN0lJSUFE5GHbe/AgYUuWMHroMFZ92ICLl6KZOT+MXfv34VKndi18S5Xis2XLKchus+FSKTgYL08vzpw/j1taejrffP89d3P0+HHuVKd2LXxLleKzZcspyG6z8SAt/ehfGIaJD+bPp2KFChw4coRJM2dwJTYWl7T0dCa/9RZPt2qNzWbDZrfj7e1NubIB3Ku6tWrz4cpPcHM6nWzf+QNudWrXwrdUKT5btpyC7DYbIiIiIiIi8nBYEBERESnE0jLSsVqtVKtcmZ+ioug1eDCexYrhlpmVRWZWFhmZmWRmZXEpJoY7ffCvFSQkJZGdk0NxLy+2bN/Oi+3bs3LNatwys7KYPGsWdrudU2fP0qd7d55+8kk2fP01T7ZsicPhYNy0EBwOB8dPnuTRBg2pWKECbvt++ok2L7/Eb/Hx+JQsyZovvmD9ypUUK1aMW7dukW+zcSkmhl+vxVG3dm1GTZ5EQUGBgTRu0IDWHZ7n7IULuJTysRI6NYQHKS0jHavVSrXKlfkpKopegwfjWawYbk+2aInT6SRi/ToMwyD2WhyRGzfyapcuLAv/GJfYuDjOR0djLVmS4ePH8Vt8PCIif5UK5cqxaesWwldHUNzbm9FDh7I0LIy6LVvgdDqJvhzDxcuXad+tK25enl54ehbD5ddr18jLz6dKcDDnLl7EpWjRolSvUoVzFy/icDgoyOl0cqfoyzFcvHyZ9t264ubl6YWnZzEepIAyZViwdCmh771HQJky/DPsXd5+awwDR4/C5flnn+WpJ1rx5AsdyM7JwWw2c/XEL7jdTEkmwL8MZrMZu92Oy6MNG5CZlYXbpSsxVKlUiR/37cWtZrVqXL9xg6zsbKIvx3Dx8mXad+uKm5enF56exRAREREREZGHw0BERESkENt78CBhS5Yweugwon8+xo4NG2hUrz73w7eUL58s/SdRO39kc+Ra+vXqRbmAAAo6GHUEu92O2+UrVwgsVx6XGlWr8VNUFA6HA7f9h36ioPx8G6FTQzixdx+bI9eyKDQUT09PrCVLcqeo48e4U42qVUlNS+PshQu47T90iAdt78GDhC1Zwuihw4j++Rg7NmygUb36uNWpXQvfUqX4bNlyVi3/kFXLP6R7p8447Hbu9Ft8PL/FxyMi8ld6sV17voyIoIy/Pzm5uSTdvInD6cRtz8EDVAkO5o2ePSlisVAuIIAtkZG81P55XPLy8vh+1y5Cp4bg5+uLj9VK2MyZTBw1GofDgYvJZMIwDEwmEyaTCcMwMJlMuO05eIAqwcG80bMnRSwWygUEsCUykpfaP09BNxISSExK4qXnO1DKx4fi3t7cjxkTJzJv+nS8PL1IS08nLSMdh8OBW/UqVTGZTBiGQdGiRQkZNx4PDw/cDh89imEYDOjdG28vLzp16ECr5i0oaOuOHYwaMoQ6tWpRtGhR+vTowReffobT6cRlz8EDVAkO5o2ePSlisVAuIIAtkZG81P55RERERERE5OGwICIiIlKIVShXjk1btxC+OoLi3t6MHjqUpWFh1G3ZAqfTyf/GZDLxTkgIKz9fw2eRkbiMGjKE17p0pSCHw8nvufJrLJ1eeIGCGtdvQEEjBw8mJzeHxk+2xma381jDRmzfsIG7cTr5H678+iulfHwIrliR2Lg4XBrXb8D9uJmSTIB/GcxmM3a7HZdHGzYgMysLtwrlyrFp6xbCV0dQ3Nub0UOHsjQsjLotW+B0Oom+HMPFy5dp360rbl6eXnh6FuNOTqcTEZG/Wvia1TSoW5cD327HYrGQk5PD8AnjcTqduCQmJdFjQH+Whr3LnLenkJWdzZfbtvJp5Oe4DRs3lo8WL+HU/gPY7XYOHDnCuJCpuM0NmcbAPn1wWfLOPJa8M48Vn37KlDmzcUlMSqLHgP4sDXuXOW9PISs7my+3beXTyM8pyOFwMP/9JYweOoRFoaFcuHSJlu3acq9mzJ/PvGnTOXvoEBazmfPR0fQfMQK3iHVref7ZZ7l49Geys7NZ/9VX/Lh3L275Nhszw+YzavAQZk1+mxOnTzF34Xs0rFcPt3999hllywSwde06PDw8OHPuHCMmTiA7JweXxKQkegzoz9Kwd5nz9hSysrP5cttWPo38HBEREREREXk4LIiIiIgUYi+2a0/3zp14pV8/biYnk3TzJg6nkzudOH2KXt1eoVJQEKlpaeTk5JBvs2E2DCpXCsYwDFxqVqvGwD59yM7O4V4dOHyYedOmM3LwYFatXUur5s155h//IO76ddyqV61CSkoqJpOJUj4+TBk7ljsZhoHJZMLFMAycTidOpxOXmKtXiY2LY8qYscxe8C4B/mV4o2dP7sfho0cxDIMBvXuzev16nnvqKVo1b8E333+H24vt2tO9cyde6dePm8nJJN28icPpxG3PwQPMmTKFN3r2ZPW6dZT282P1in+x5osvWLlmNS6GYWCYDFwMw8DF4XAgIvJXyMvLY8jYMZjNZvz9ShOfmMCdjp88Sct2bfHz9SUtPR273U5B2Tk5vDZoIF6eXhiGiazsbAqaPGsmk2fN5I8cP3mSlu3a4ufrS1p6Ona7nbv5LDKSzyIjudOw/gOYNXkyd7p85QrNnn0Gl0sxMXR9vS9enl4U8yhKSloaBSWnpvJcl86U9vMjMyuL27dvc6dPP/+cVWvXUspqJTk1lbuZ9W4YoQvfw8dqJTklhTsdP3mSlu3a4ufrS1p6Ona7HREREREREXl4LIiIiIgUYuFrVtOgbl0OfLsdi8VCTk4OwyeMx+l0UtCW7dtp+3QbDm7fQdGiRek/YgRff/sNNrudkLlzCZ0ylZBx40lNS2PuwoWMGjyEe3X5yhWGjBnD/BkzCBk3nhsJCcyYN4/+vXvj9s6iRaz+cAWXjh3n1u3bTJkzm0cbNsDthbZt+fSfy3Dr3qkTZ86d48mOL+DidDrp3r8fq5Yv59juPeTk5jJ+2jQWzpnDvcq32ZgZNp9Rg4cwa/LbnDh9irkL36NhvXq4ha9ZTYO6dTnw7XYsFgs5OTkMnzAep9OJS2JSEj0G9Gdp2LvMeXsKWdnZfLltK59Gfo5LKR8foo/+jFvixWhcqjZuRHpGBiIifxW73U58YgJ/JDklhT+Sk5vDvys5JYU/I3x1BGs3buBOdoeDO+Xk5pCTm8PvuZmczB9xOBwkp6byR+x2O8kpKfyR5JQURERERERE5OEzpdhynIiIiIg8JM70XGo0bcJ/mtlsxt+vNPGJCfwZFrOZ0n6liU9M4N9RtkwA8YkJ/J5yAQEkJCXhcDj4s/xLlyY1NRWb3U5Bn//rI557+mnutGrtWsZMnYKbYRiUslpJTk3l95jNZvz9ShOfmMDv8fP1JS09HbvdjoiIiIiI/P9dPBKFyeqJiIiIyMNiQURERORvwG63E5+YwJ9ls9uJT0zg3xWfmMAfuZGQwL8r6eZN7mbQW6MpWqQId7p1O4+CHA4Hyamp/BG73U58YgJ/JDklBREREREREREREflrWRARERGRv4Ws7GxERERERERERESkcDMQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxEREZFCrE7t2rRu0YJ6jzzCw1Lc25tWzZvzoDVt3Bi/UqUQERERERERERERuVcGIiIiIoVYx7btGDloMJs/j2Rgnz48DFUqVWL9J5/yoC1fuJAmjR9FRERERERERERE5F5ZEBERESnE5i1ehMu7M2dRs1p15H/XuWNHalWvztyFCxEREREREREREZH/LhZERERE/gacODFhQv53zR9rwu28PEREREREREREROS/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2Wxw9PgJwldH4Fbaz4+lYe/SunlzihYtSv8RI/j622+4V6+/9hqjBg+hfNmynDh9im3ffUfDevXo9+abuFSrUoV506bzWKNGWMxmzkdH03/ECGKvxeHW+5XuTBw9ilJWH+KuX2f5Jyv5LDISlxfatuXTfy6joDPnzvFkxxcQEREREfm/7uKRKExWT0REREQeFlOKLceJiIiIyEPiTM+lRtMm/DfwL12a1NRUbHY7d+Pl6YVhmMjKzubP8vP1JS09Hbvdzt2ULFECu91Odk4OBQ3rP4BZkydzp8tXrtDs2WcoqGSJEthsdnJyc7gbT09PDJOJ7Jwc7lfsyVN4e3lxp0FvjWbTli24GYZBKauV5NRUfo+XpxfFPIqSkpbG7ynj709iUhIiIiIiIoXFxSNRmKyeiIiIiDwsFkRERETk/yfp5k3+SE5uDv+u5JQU/khGZiZ3E746grUbN3Anu8PBnTIyM/kjubm5/FkNW7fCxP+UlZ1NQQ6Hg+TUVP5ITm4OObk5/JHEpCRERERERERERETk3lkQERERkf/zbt++ze3bt/lPS01LQ0RERERERERERP7vMhARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgULIiIiIvJvqV2jBrm3bnH111+5m+Le3jRu0ACn08mps2dJS09HRERERERERERE5GGwICIiIiL/ljHD3+RK7FXmLlzI3fiXLs3IQYMp7edL2TIB1GnRHLvdjoiIiIiIiIiIiMiDZiAiIiIiD9WV2Fi6vt6Xrq+/Tmk/P3xLlUJERERERERERETkYTAQERERkb+E0+lERERERERERERE5GGyICIiIlKIbY1cy+TZs5g2YQKN6tXnl9OnmTJnNuejo3EJLF+edSs/4fbt28yYP4+eXbvR/tlnuBGfQLNnn8GluLc3oVND+McTT5Cfn893u3YxY9475OXn41aieAn+tWgxT7VqxZXYWN7/1wq27tjB/RjUty/dO3WmYmAgh48eZWbYfC7F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RERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMREREROSBKVq0KI8/9hitW7TAw8MDuX+B5cvTukULHn/sMYoWKcIfqVmtGkUsFh60IhYLrVu0oIjFgoiIiIiIiIiIyH8TAxERERF5IOo98ggXo47y7qzZTBk7FmvJksj9a1S/PiMHDWb5ewv51+Il/J4WTZtxYPsO3hw4iAfNarWyaVUEVqsVERERERERERGR/yYWREREROSB6NiuHTt27mTwmLeQP2/L9u1s2b6dl5/vwMRRo/g9p86e4cNPPmHLju38nt1bttDx1VfJzMpCRERERERERETk78CCiIiIiDwQ5cuWIyEpEXkwnE4nfyQzK4upoXP4PWX8/alTqzYmkwkREREREREREZG/CwsiIiIihdjWyLVMnj2LaRMm0KhefX45fZopc2ZzPjoat6DAQGZMmkTLps2IT0xk45bNvL9iBW5frV5DaT8/ItatxWIpwvD+/Snj70+dFs1JSEzkmX/8g5mTJlMuIACb3U6bJ/+BS5c+fYhPTMClVvXqhIwfT9PGj/LrtWt8vmED4asjcJs+YSLPPf00J8+cZv2XXxEaMpUaVasx6K3RbNqyhT1bt7Fh89e8OXAQu/ft45fTpxk5eDA79+5l+PhxuFhLliR0aghtWrfGYrGwa98+xk0LISMzE5dBfftiMpkoWyaALi++yG/xNwiPWM0XX3+Fm5+vL/OmTeeJxx8n7vp1tn3/He+vWIHT6cRtUN++dO/UmYqBgRw+epSZYfO5FBPDvSru7c17s+fwj1atyMvLIyMzE5fl4eGs/mI992L9J59QoVx5Ll+5wqC3RnPr1i0K2rQqggZ162Iymfhu4ybsDgdXYq/Sa/Bg3Px8fZk3bTpPPP44cdevs+3773h/xQqcTiduzR59lBGDBlE5KJivvtnG0o8+Iu76de5Fm9at6d+rN68NGojbgN59CA6qSEhoKC4mk4mpY8fRtk0bShQvzo979zBj/nzSMzJwCwoMZMakSbRs2oz4xEQ2btnM+ytW4PbV6jWU9vMjYt1aLJYiDO/fnzL+/tRp0ZyExEREREREREREROTvxTxx2pQZiIiIiDwst218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AFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAP5ve3BAAgAAgAAo+j+6H6ECFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwYYkQHKd0AqxtAAAAAElFTkSuQmCC","url":"https://www.saucedemo.com/"}');let s9=e=>{let{uiContextPreview:t,setUiContextPreview:r,showContextPreview:n}=e;return n?(0,o.jsxs)("div",{className:"form-part context-panel",children:[(0,o.jsx)("h3",{children:"UI Context"}),t?(0,o.jsx)(sW,{uiContext:t,hideController:!0}):(0,o.jsxs)("div",{children:[(e=>{switch(e){case"finished":case"passed":case"success":case"connected":return(0,o.jsx)("span",{style:{color:"#00AD4B"},children:(0,o.jsx)(sY.A,{})});case"finishedWithWarning":return(0,o.jsx)("span",{style:{color:"#f7bb05"},children:(0,o.jsx)(s_.A,{})});case"failed":case"closed":case"timedOut":case"interrupted":return(0,o.jsx)("span",{style:{color:"#FF0A0A"},children:(0,o.jsx)(s$.A,{})});case"pending":return(0,o.jsx)(s0.A,{});case"cancelled":case"skipped":return(0,o.jsx)("span",{style:{color:"#8c8c8c"},children:(0,o.jsx)(s1.A,{})});case"running":return(0,o.jsx)(s2.A,{});default:return(0,o.jsx)(s3.A,{})}})("failed")," No UI context",(0,o.jsx)(g.Ay,{type:"link",onClick:e=>{e.preventDefault(),r(s6)},children:"Load Demo"}),(0,o.jsx)("div",{children:"To load the UI context, you can either use the demo data above, or click the 'Send to Playground' in the report page."})]})]}):null};var le=r(4291);let lt=e=>{let{className:t=""}=e,{config:r}=X();return Object.keys(r||{}).length>=1?null:(0,o.jsxs)("div",{className:`env-config-reminder ${t}`,children:[(0,o.jsx)(le.A,{className:"reminder-icon"}),(0,o.jsx)("span",{className:"reminder-text",children:"Please set up your environment variables before using."}),(0,o.jsx)(q,{mode:"text",showTooltipWhenEmpty:!1})]})};var lr=r(7062),ln=r(6130),li=r(2297),lo=r(5862),la=r(7615),ls=r(2107),ll=r(4544),lA=r(3616),lc=r(1879),lu=r(9876),ld=r(1269);let lp=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:(0,o.jsx)("path",{fill:"currentColor",d:"M1.333 13v-2.5a.667.667 0 0 1 1.334 0V13c0 .184.149.333.333.333h2.5a.667.667 0 0 1 0 1.334H3c-.92 0-1.667-.746-1.667-1.667m12 0v-2.5a.667.667 0 0 1 1.334 0V13c0 .92-.746 1.667-1.667 1.667h-2.5a.667.667 0 0 1 0-1.334H13a.333.333 0 0 0 .333-.333m-12-7.5V3c0-.92.747-1.667 1.667-1.667h2.5a.667.667 0 0 1 0 1.334H3A.333.333 0 0 0 2.667 3v2.5a.667.667 0 0 1-1.334 0m12 0V3A.333.333 0 0 0 13 2.667h-2.5a.667.667 0 0 1 0-1.334H13c.92 0 1.667.747 1.667 1.667v2.5a.667.667 0 0 1-1.334 0M5.667 10.333h4.666V5.667H5.667zm6 .167c0 .644-.523 1.167-1.167 1.167h-5A1.167 1.167 0 0 1 4.333 10.5v-5c0-.644.523-1.167 1.167-1.167h5c.644 0 1.167.523 1.167 1.167z"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},lh=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:[(0,o.jsx)("path",{stroke:"currentColor",strokeLinejoin:"round",strokeWidth:1.333,d:"M11.333 13.667 14.667 8l-3.334-5.667H4.667L1.333 8l3.334 5.667z"}),(0,o.jsx)("path",{stroke:"currentColor",strokeLinejoin:"round",strokeWidth:1.333,d:"M8 9.667a1.667 1.667 0 1 0 0-3.334 1.667 1.667 0 0 0 0 3.334Z"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function lf(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lg(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function lm(e,t){return{left:0,top:0,width:e,pointerLeft:Math.round(e/2),pointerTop:Math.round(t/2)}}function ly(e,t,r,n){if(!t.img)return;e.img&&t.img!==e.img&&(e.prevImg=e.img,e.imageChanged=!0);let i=t.imageWidth||r,o=t.imageHeight||n,a=e.imgW!==i||e.imgH!==o;if(e.img=t.img,e.imgW=i,e.imgH=o,a){let t=lm(i,o);e.camera=lg({},t),e.prevCamera=lg({},t),e.pointerMoved=!1}}function lv(e,t){return Math.abs(e.pointerLeft-t.pointerLeft)>1||Math.abs(e.pointerTop-t.pointerTop)>1}function lb(e,t,r,n,i){let o=Math.round(n/2),a=Math.round(i/2);return e||Math.abs(t.pointerLeft-o)>1||Math.abs(t.pointerTop-a)>1||Math.abs(r.pointerLeft-o)>1||Math.abs(r.pointerTop-a)>1}function lw(e,t,r,n,i){let o=lm(r,n),a={img:"",imgW:r,imgH:n,camera:lg({},o),prevCamera:lg({},o),prevImg:null,insights:[],spinning:!1,spinningElapsedMs:0,pointerImg:sa,pointerVisible:!1,title:"",subTitle:"",taskId:void 0,frameInScript:0,scriptIndex:0,imageChanged:!1,pointerMoved:!1,rawProgress:0};for(let o=0;o<e.length;o++){var s,l;let A=e[o],c=A.startFrame+A.durationInFrames;if(0===A.durationInFrames){A.startFrame<=t&&("pointer"===A.type&&A.pointerImg&&(a.pointerImg=A.pointerImg,a.pointerVisible=!0),a.title=A.title||a.title,a.subTitle=A.subTitle||a.subTitle,a.taskId=null!=(s=A.taskId)?s:a.taskId,a.scriptIndex=o);continue}if(t<A.startFrame)break;switch(a.title=A.title||a.title,a.subTitle=A.subTitle||a.subTitle,a.taskId=null!=(l=A.taskId)?l:a.taskId,a.scriptIndex=o,a.frameInScript=t-A.startFrame,a.rawProgress=Math.min(a.frameInScript/A.durationInFrames,1),A.type){case"img":!function(e,t,r,n,i){ly(e,t,n,i);let o=t.startFrame+t.durationInFrames;t.cameraTarget?(e.prevCamera=lg({},e.camera),e.camera=lg({},t.cameraTarget),e.pointerMoved=lv(e.prevCamera,e.camera)):r>=o&&(e.pointerMoved=!1,e.imageChanged=!1),e.spinning=!1}(a,A,t,r,n);break;case"insight":!function(e,t,r,n,i){if(ly(e,t,n,i),e.insights.some(e=>e.highlightElement===t.highlightElement&&e.searchArea===t.searchArea)||e.insights.push({highlightElement:t.highlightElement,searchArea:t.searchArea,alpha:1}),t.cameraTarget&&void 0!==t.insightPhaseFrames){let n=t.startFrame+t.insightPhaseFrames;r>=n&&(e.prevCamera=lg({},e.camera),e.camera=lg({},t.cameraTarget),e.rawProgress=Math.min((r-n)/(t.cameraPhaseFrames||1),1),e.pointerMoved=lv(e.prevCamera,e.camera))}e.spinning=!1}(a,A,t,r,n);break;case"clear-insight":!function(e,t,r){let n=t.startFrame+t.durationInFrames,i=1-e.rawProgress;e.insights=e.insights.map(e=>{var t,r;return t=lg({},e),r=r={alpha:i},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t}),r>=n&&(e.insights=[]),e.spinning=!1}(a,A,t);break;case"spinning-pointer":a.spinning=!0,a.spinningElapsedMs=a.frameInScript/i*1e3;break;case"sleep":a.spinning=!1}t>=c&&("clear-insight"!==A.type&&(a.imageChanged=!1),a.pointerMoved=!1,a.rawProgress=1,A.cameraTarget&&(a.prevCamera=lg({},a.camera)))}if(!a.img){let t=e.find(e=>"img"===e.type&&e.img);t&&(a.img=t.img,a.imgW=t.imageWidth||r,a.imgH=t.imageHeight||n)}return{img:a.img,imageWidth:a.imgW,imageHeight:a.imgH,prevImg:a.imageChanged?a.prevImg:null,camera:a.camera,prevCamera:a.prevCamera,insights:a.insights,spinning:a.spinning,spinningElapsedMs:a.spinningElapsedMs,currentPointerImg:a.pointerImg,pointerVisible:a.pointerVisible,title:a.title,subTitle:a.subTitle,taskId:a.taskId,frameInScript:a.frameInScript,scriptIndex:a.scriptIndex,imageChanged:a.imageChanged,pointerMoved:a.pointerMoved,rawProgress:a.rawProgress}}function lE(e,t,r,n){let i=Math.min(e/r,t/n),o=r*i,a=n*i;return{offsetX:(e-o)/2,offsetY:(t-a)/2,contentWidth:o,contentHeight:a}}function lk(e,t){if(!Number.isFinite(e)||e<=0)throw Error(`${t} must be a positive finite number`)}function lx(e){return{scale:e,width:44*e,height:56*e,hotspotX:6*e,hotspotY:4*e,centerOffsetX:44*e/2,centerOffsetY:56*e/2}}function lS(e){return lk(e,"imageWidth"),lx(Math.max(1,Math.sqrt(e/1920)))}function lC(e){let t=e.height;return{size:t,centerOffset:t/2}}let lI=e=>{let{frameMap:t,autoZoom:r,frame:n,width:i,height:s,fps:l}=e,{scriptFrames:A,imageWidth:c,imageHeight:u}=t,d=(0,a.useMemo)(()=>lw(A,n,c,u,l),[A,n,c,u,l]);if(!d.img)return null;let{img:p,imageWidth:h,imageHeight:f,prevImg:g,camera:m,prevCamera:y,insights:v,spinning:b,spinningElapsedMs:w,currentPointerImg:E,pointerVisible:k,title:x,subTitle:S,frameInScript:C,imageChanged:I,pointerMoved:j,rawProgress:O}=d,P=r?j?Math.min(O/.375,1):O:1,R=j?O<=.375?0:Math.min((O-.375)/.625,1):O,M=y.pointerLeft+(m.pointerLeft-y.pointerLeft)*P,T=y.pointerTop+(m.pointerTop-y.pointerTop)*P,N=r?y.left+(m.left-y.left)*R:0,D=r?y.top+(m.top-y.top)*R:0,B=r?y.width+(m.width-y.width)*R:h,{offsetX:z,offsetY:L,contentWidth:F,contentHeight:K}=lE(i,s,h,f),U=h/B,Q=-(F/h*N),Z=-(K/f*D),J=`scale(${U}) translate(${Q}px, ${Z}px)`,X=f/h*B,H=(M-N)/B*F,G=(T-D)/X*K,V=lb(k,m,y,h,f),q=lS(h),W=lC(q),Y=q.scale,_=I?Math.min(C/10,1):1,$=b?(Math.sin(w/500-Math.PI/2)+1)/2*Math.PI*2:0;return(0,o.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"#000"},children:(0,o.jsx)("div",{style:{position:"absolute",left:z,top:L,width:F,height:K,overflow:"hidden"},children:(0,o.jsxs)("div",{style:{width:F,height:K,position:"relative",overflow:"hidden"},children:[I&&g&&_<1&&(0,o.jsx)("div",{style:{position:"absolute",width:F,height:K,overflow:"hidden",opacity:1-_},children:(0,o.jsx)("img",{alt:"",src:g,style:{width:F,height:K,transformOrigin:"0 0",transform:J}})}),(0,o.jsxs)("div",{style:{position:"absolute",width:F,height:K,overflow:"hidden",opacity:I?_:1},children:[(0,o.jsx)("img",{alt:"",src:p,style:{width:F,height:K,transformOrigin:"0 0",transform:J}}),(0,o.jsx)("div",{style:{position:"absolute",top:0,left:0,width:F,height:K,transformOrigin:"0 0",transform:J,pointerEvents:"none"},children:0===v.length?null:v.map((e,t)=>{let r=[];if(e.highlightElement){let n=sA(e.highlightElement);r.push((0,o.jsx)("div",{style:{position:"absolute",left:n.left,top:n.top,width:n.width,height:n.height,background:"rgba(253, 89, 7, 0.4)",border:`${2*Y}px solid #fd5907`,boxShadow:`${2*Y}px ${2*Y}px ${+Y}px rgba(51, 51, 51, 0.3)`,opacity:e.alpha,pointerEvents:"none"}},`highlight-${t}`))}if(e.searchArea){let n=e.searchArea;r.push((0,o.jsx)("div",{style:{position:"absolute",left:n.left,top:n.top,width:n.width,height:n.height,background:"rgba(2, 131, 145, 0.4)",border:`${2*Y}px solid #028391`,boxShadow:`${2*Y}px ${2*Y}px ${+Y}px rgba(51, 51, 51, 0.3)`,opacity:e.alpha,pointerEvents:"none"}},`search-${t}`))}return r})})]}),b&&(0,o.jsx)("img",{alt:"",src:ss,style:{position:"absolute",left:H-W.centerOffset,top:G-W.centerOffset,width:W.size,height:W.size,transform:`rotate(${$}rad)`,transformOrigin:"center center",filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.3))"}}),V&&!b&&(0,o.jsx)("img",{alt:"",src:E,style:{position:"absolute",left:H-q.hotspotX,top:G-q.hotspotY,width:q.width,height:q.height,filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.3))"}})]})})})};function lj(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lO(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){lj(o,n,i,a,s,"next",e)}function s(e){lj(o,n,i,a,s,"throw",e)}a(void 0)})}}let lP=!1;function lR(e){return new Promise((t,r)=>{let n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=r,n.src=e})}function lM(e,t,r){let n=r.contentWidth/r.imageWidth,i=r.contentHeight/r.imageHeight;return{left:r.offsetX+(e.left*n+t.tx)*t.zoom,top:r.offsetY+(e.top*i+t.ty)*t.zoom,width:e.width*n*t.zoom,height:e.height*i*t.zoom}}function lT(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lN(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){lT(o,n,i,a,s,"next",e)}function s(e){lT(o,n,i,a,s,"throw",e)}a(void 0)})}}function lD(e,t){let r=Math.floor(e/t),n=Math.floor(r/60);return`${String(n).padStart(2,"0")}:${String(r%60).padStart(2,"0")}`}function lB(e){var t,r,n,i;let s,{message:l}=p.A.useApp(),{autoZoom:A,setAutoZoom:c,playbackSpeed:u,setPlaybackSpeed:d,subtitleEnabled:f,setSubtitleEnabled:m}=R();(0,a.useEffect)(()=>{(null==e?void 0:e.autoZoom)!==void 0&&c(e.autoZoom)},[null==e?void 0:e.autoZoom,c]);let y=null==e?void 0:e.replayScripts,v=(0,a.useMemo)(()=>y&&0!==y.length?function(e,t){let r=(null==t?void 0:t.imageWidth)||1920,n=(null==t?void 0:t.imageHeight)||1080;for(let t of e)if(("img"===t.type||"insight"===t.type)&&t.img){r=t.imageWidth||r,n=t.imageHeight||n;break}let i=[],o=0;for(let t of e){var a,s,l,A;let e=t.duration;switch(t.type){case"sleep":{let r=Math.ceil(e/1e3*30);i.push({type:"sleep",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"img":{let l=Math.max(Math.ceil(e/1e3*30),1),A=t.camera,c=t.imageWidth||r,u=t.imageHeight||n,d={type:"img",startFrame:o,durationInFrames:l,img:t.img,imageWidth:c,imageHeight:u,title:t.title,subTitle:t.subTitle,taskId:t.taskId};A&&(d.cameraTarget={left:A.left,top:A.top,width:A.width,pointerLeft:null!=(a=A.pointerLeft)?a:Math.round(c/2),pointerTop:null!=(s=A.pointerTop)?s:Math.round(u/2)}),i.push(d),o+=l;break}case"insight":{let a=Math.max(Math.ceil(e/1e3*30),1),s=Math.ceil((t.insightCameraDuration||0)/1e3*30),c=a+s,u=t.imageWidth||r,d=t.imageHeight||n,p=t.camera,h={type:"insight",startFrame:o,durationInFrames:c,img:t.img,imageWidth:u,imageHeight:d,insightPhaseFrames:a,cameraPhaseFrames:s,highlightElement:t.highlightElement,searchArea:t.searchArea,title:t.title,subTitle:t.subTitle,taskId:t.taskId};p&&(h.cameraTarget={left:p.left,top:p.top,width:p.width,pointerLeft:null!=(l=p.pointerLeft)?l:Math.round(u/2),pointerTop:null!=(A=p.pointerTop)?A:Math.round(d/2)}),i.push(h),o+=c;break}case"clear-insight":{let r=Math.max(Math.ceil(e/1e3*30),1);i.push({type:"clear-insight",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"spinning-pointer":{let r=Math.max(Math.ceil(e/1e3*30),1);i.push({type:"spinning-pointer",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"pointer":i.push({type:"pointer",startFrame:o,durationInFrames:0,pointerImg:t.img,title:t.title,subTitle:t.subTitle,taskId:t.taskId})}}let c=Math.max(o,1);return{scriptFrames:i,totalDurationInFrames:c,fps:30,stepsDurationInFrames:c,imageWidth:r,imageHeight:n}}(y,{imageWidth:null==e?void 0:e.imageWidth,imageHeight:null==e?void 0:e.imageHeight}):null,[null==e?void 0:e.imageHeight,null==e?void 0:e.imageWidth,y]),b=(0,a.useRef)(null),w=(0,a.useRef)(null),E=(0,a.useRef)(null),[k,x]=(0,a.useState)({width:0,height:0});(0,a.useEffect)(()=>{let e=w.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let{width:e,height:r}=t.contentRect;x(t=>t.width===e&&t.height===r?t:{width:e,height:r})}});return t.observe(e),()=>t.disconnect()},[]);let S=function(e){var t,r;let{durationInFrames:n,fps:i,autoPlay:o=!1,loop:s=!1}=e,[l,A]=(0,a.useState)(0),[c,u]=(0,a.useState)(o),d=(0,a.useRef)(c),p=(0,a.useRef)(l),h=(0,a.useRef)(null!=(t=e.playbackRate)?t:1),f=(0,a.useRef)(n),g=(0,a.useRef)(i),m=(0,a.useRef)(s);d.current=c,p.current=l,h.current=null!=(r=e.playbackRate)?r:1,f.current=n,g.current=i,m.current=s,(0,a.useEffect)(()=>{let e;if(!c)return;let t=null,r=0,n=i=>{if(null!==t){let e=(i-t)*h.current;r+=e;let n=1e3/g.current;for(;r>=n;){r-=n;let e=p.current+1;if(e>=f.current)if(m.current)p.current=0,A(0);else{p.current=f.current-1,A(f.current-1),u(!1);return}else p.current=e,A(e)}}t=i,e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[c]);let y=()=>{p.current>=f.current-1&&(p.current=0,A(0))},v=(0,a.useCallback)(()=>{y(),u(!0)},[]),b=(0,a.useCallback)(()=>u(!1),[]);return{currentFrame:l,playing:c,play:v,pause:b,toggle:(0,a.useCallback)(()=>{d.current?u(!1):(y(),u(!0))},[]),seekTo:(0,a.useCallback)(e=>{let t=Math.max(0,Math.min(e,f.current-1));p.current=t,A(t)},[])}}({durationInFrames:Math.max(null!=(t=null==v?void 0:v.totalDurationInFrames)?t:1,1),fps:null!=(r=null==v?void 0:v.fps)?r:30,autoPlay:null==(n=null==e?void 0:e.autoPlay)||n,loop:!1,playbackRate:u}),C=(0,a.useMemo)(()=>{if(!v)return 0;for(let e=v.scriptFrames.length-1;e>=0;e--){let t=v.scriptFrames[e];if(t.taskId)return t.startFrame+t.durationInFrames-1}return Math.max(0,v.totalDurationInFrames-1)},[v]),I=(0,a.useCallback)(()=>{var e;S.playing?S.pause():(e=S.currentFrame,C>0&&e>=C&&S.seekTo(0),S.play())},[C,S.currentFrame,S.pause,S.play,S.playing,S.seekTo]);(0,a.useEffect)(()=>{!v||S.playing||!(S.currentFrame<v.totalDurationInFrames-1)&&C>0&&S.seekTo(C)},[C,v,S.currentFrame,S.playing,S.seekTo]),(0,a.useEffect)(()=>{if(!v||!(null==e?void 0:e.onTaskChange))return;if(!S.playing){null!==E.current&&(E.current=null,e.onTaskChange(null));return}let t=function(e,t){let r=null;for(let o of e){var n,i;if(0===o.durationInFrames){o.startFrame<=t&&(r=null!=(n=o.taskId)?n:r);continue}if(t<o.startFrame)break;r=null!=(i=o.taskId)?i:r}return r}(v.scriptFrames,S.currentFrame);t!==E.current&&(E.current=t,e.onTaskChange(t))},[v,null==e?void 0:e.onTaskChange,S.currentFrame,S.playing]);let j=(0,a.useMemo)(()=>{var e;let t;return v?(e=S.currentFrame,(t=lw(v.scriptFrames,e,v.imageWidth,v.imageHeight,v.fps)).img?t:null):null},[v,S.currentFrame]),O=(0,a.useCallback)(()=>lN(function*(){if(null==e?void 0:e.reportFileContent)try{var t,r;yield(t={content:e.reportFileContent,onDownloadReport:e.onDownloadReport},(r=function*(){let{content:e,defaultFileName:r="midscene_report.html",onDownloadReport:n,documentRef:i,urlRef:o,blobFactory:a,scheduleRevoke:s}=t;if(n)return void(yield n({content:e,defaultFileName:r}));let l=null!=i?i:globalThis.document;if(!l)throw Error("Report download requires a document context.");let A=null!=o?o:globalThis.URL;if(!(null==A?void 0:A.createObjectURL)||!(null==A?void 0:A.revokeObjectURL))throw Error("Report download requires URL.createObjectURL support.");let c=(null!=a?a:(e,t)=>new Blob(e,t))([e],{type:"text/html"}),u=A.createObjectURL(c),d=l.createElement("a");d.href=u,d.download=r,d.style.display="none",l.body.appendChild(d);try{d.click()}finally{l.body.removeChild(d),(null!=s?s:e=>setTimeout(e,0))(()=>{A.revokeObjectURL(u)})}},function(){var e=this,t=arguments;return new Promise(function(n,i){var o=r.apply(e,t);function a(e){lf(o,n,i,a,s,"next",e)}function s(e){lf(o,n,i,a,s,"throw",e)}a(void 0)})})())}catch(e){G(e,{title:"Failed to download report"})}})(),[null==e?void 0:e.onDownloadReport,null==e?void 0:e.reportFileContent]),P=(0,a.useMemo)(()=>j&&(j.title||j.subTitle)?{title:j.title,subTitle:j.subTitle}:null,[j]),[M,T]=(0,a.useState)(!1),[N,D]=(0,a.useState)(0),B=(0,a.useRef)(!1),[z,L]=(0,a.useState)(!0),F=(0,a.useRef)(null),K=(0,a.useCallback)(()=>{L(!0),F.current&&clearTimeout(F.current),M||(F.current=setTimeout(()=>L(!1),3e3))},[M]),U=(0,a.useCallback)(()=>{L(!0),F.current&&clearTimeout(F.current)},[]),Q=(0,a.useCallback)(()=>{F.current&&clearTimeout(F.current),M||(F.current=setTimeout(()=>L(!1),1e3))},[M]);(0,a.useEffect)(()=>{M&&(L(!0),F.current&&(clearTimeout(F.current),F.current=null))},[M]),(0,a.useEffect)(()=>{let e=e=>{var t;let r=null==(t=e.target)?void 0:t.tagName;"INPUT"!==r&&"TEXTAREA"!==r&&"SELECT"!==r&&"Space"===e.code&&(e.preventDefault(),I())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[I]);let Z=(0,a.useRef)(null),J=(0,a.useCallback)(e=>{if(!v||!Z.current)return;let t=Z.current;t.setPointerCapture(e.pointerId);let r=e=>{let r=t.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e-r.left)/r.width));S.seekTo(Math.round(n*C))};r(e.clientX);let n=e=>r(e.clientX),i=()=>{t.removeEventListener("pointermove",n),t.removeEventListener("pointerup",i)};t.addEventListener("pointermove",n),t.addEventListener("pointerup",i)},[v,S,C]),[X,H]=(0,a.useState)(!1),V=(0,a.useCallback)(()=>{let e=b.current;e&&(document.fullscreenElement?document.exitFullscreen().then(()=>H(!1)):e.requestFullscreen().then(()=>H(!0)))},[]);(0,a.useEffect)(()=>{let e=()=>H(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[]);let q=(0,a.useCallback)(()=>lN(function*(){if(v&&!B.current){B.current=!0,T(!0),D(0);try{var e,t;yield(e={autoZoom:A},t=e=>D(Math.round(100*e)),lO(function*(){if(lP)throw Error("Video export is already in progress");lP=!0;try{var r,n,i;yield(r=v,n=e,i=t,lO(function*(){var e;let{totalDurationInFrames:t,fps:o}=r,a=null==(e=null==n?void 0:n.autoZoom)||e,s=new Set;for(let e of r.scriptFrames)e.img&&s.add(e.img);let l=new Map;yield Promise.all([...s].map(e=>lO(function*(){try{l.set(e,(yield lR(e)))}catch(e){}})()));let A=new Set([sa]);for(let e of r.scriptFrames)e.pointerImg&&A.add(e.pointerImg);let c=new Map;yield Promise.all([...A].map(e=>lO(function*(){try{c.set(e,(yield lR(e)))}catch(e){}})()));let u=null;try{u=yield lR(ss)}catch(e){}let d=document.createElement("canvas");d.width=960,d.height=540;let p=d.getContext("2d"),h=d.captureStream(o),f=new MediaRecorder(h,{mimeType:"video/webm"}),g=[];return f.ondataavailable=e=>{e.data.size>0&&g.push(e.data)},new Promise((e,n)=>{let s=null,A=!1,d=0,m=performance.now(),y=m,v=null,b=null,w=1e3/o,E=()=>{v&&clearTimeout(v),b&&clearTimeout(b),document.removeEventListener("visibilitychange",x),h.getTracks().forEach(e=>e.stop())},k=e=>{A||s||(s=e,"inactive"!==f.state?f.stop():(E(),A=!0,n(e)))},x=()=>{document.hidden&&k(Error("Video export was interrupted because the report tab was hidden"))};f.onerror=()=>{k(Error("MediaRecorder error"))},f.onstop=()=>{if(E(),A)return;if(A=!0,s)return void n(s);if(0===g.length)return void n(Error("No video data"));let t=new Blob(g,{type:"video/webm"}),r=URL.createObjectURL(t),i=document.createElement("a");i.href=r,i.download="midscene_replay.webm",i.click(),setTimeout(()=>URL.revokeObjectURL(r),1e3),e()},document.addEventListener("visibilitychange",x),f.start();let S=e=>{if(!A&&"inactive"!==f.state){if(d>0&&e-y>Math.max(2e3,10*w))return void k(Error("Video export was interrupted because rendering stalled"));y=e,p.clearRect(0,0,960,540),function(e,t,r,n,i,o,a){var s,l,A,c,u,d,p,h,f,g,m,y,v,b,w,E,k;let x,{scriptFrames:S,imageWidth:C,imageHeight:I,fps:j}=r,O=lw(S,t,C,I,j);if(!O.img)return;let{img:P,prevImg:R,imageWidth:M,imageHeight:T,camera:N,prevCamera:D,pointerMoved:B,imageChanged:z,rawProgress:L,frameInScript:F,spinning:K,spinningElapsedMs:U,currentPointerImg:Q,pointerVisible:Z,insights:J}=O,X=a?B?Math.min(L/.375,1):L:1,{camLeft:H,camTop:G,camWidth:V}=(h=D,f=N,g=M,m=B?L<=.375?0:Math.min((L-.375)/.625,1):L,a?{camLeft:(y=h.left,v=f.left,y+(v-y)*m),camTop:(b=h.top,w=f.top,b+(w-b)*m),camWidth:(E=h.width,k=f.width,E+(k-E)*m)}:{camLeft:0,camTop:0,camWidth:g}),q=(l=D.pointerLeft,A=N.pointerLeft,l+(A-l)*X),W=(c=D.pointerTop,u=N.pointerTop,c+(u-c)*X),Y=M/V,{offsetX:_,offsetY:$,contentWidth:ee,contentHeight:et}=lE(960,540,M,T),er=-(ee/M*H),en=-(et/T*G),ei=z?Math.min(Math.max(F/10,0),1):1;e.fillStyle="#000",e.fillRect(0,0,960,540);let eo=(t,r)=>{let i=n.get(t);i&&!(r<=0)&&(e.save(),e.globalAlpha=r,e.beginPath(),e.rect(0,0,960,540),e.clip(),e.translate(_+er*Y,$+en*Y),e.scale(Y,Y),e.drawImage(i,0,0,ee,et),e.restore())};z&&R&&ei<1&&eo(R,1-ei),eo(P,z?ei:1),J.length>0&&function(e,t,r,n){for(let i of(e.save(),e.beginPath(),e.rect(n.offsetX,n.offsetY,n.contentWidth,n.contentHeight),e.clip(),t))if(!(i.alpha<=0)){if(e.save(),e.globalAlpha*=i.alpha,i.highlightElement){let t=lM(sA(i.highlightElement),r,n);e.fillStyle="rgba(253, 89, 7, 0.4)",e.fillRect(t.left,t.top,t.width,t.height),e.strokeStyle="#fd5907",e.lineWidth=1,e.strokeRect(t.left,t.top,t.width,t.height),e.shadowColor="rgba(51, 51, 51, 0.4)",e.shadowBlur=2,e.shadowOffsetX=4,e.shadowOffsetY=4,e.strokeRect(t.left,t.top,t.width,t.height),e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0}if(i.searchArea){let t=lM(i.searchArea,r,n);e.fillStyle="rgba(2, 131, 145, 0.4)",e.fillRect(t.left,t.top,t.width,t.height),e.strokeStyle="#028391",e.lineWidth=1,e.strokeRect(t.left,t.top,t.width,t.height)}e.restore()}e.restore()}(e,J,{zoom:Y,tx:er,ty:en},{offsetX:_,offsetY:$,contentWidth:ee,contentHeight:et,imageWidth:M,imageHeight:T});let ea=T/M*V,es=_+(q-H)/V*ee,el=$+(W-G)/ea*et,eA=(lk(ee,"contentWidth"),lx(lS(M).scale*(ee/M))),ec=lC(eA),eu=null!=(s=i.get(Q))?s:i.get(sa),ed=lb(Z,N,D,M,T);K&&o&&(d=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},eA),p=p={width:ec.size,height:ec.size,centerOffsetX:ec.centerOffset,centerOffsetY:ec.centerOffset},Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(p)).forEach(function(e){Object.defineProperty(d,e,Object.getOwnPropertyDescriptor(p,e))}),x=(Math.sin(U/500-Math.PI/2)+1)/2*Math.PI*2,e.save(),e.translate(es,el),e.rotate(x),e.drawImage(o,-d.centerOffsetX,-d.centerOffsetY,d.width,d.height),e.restore()),!K&&ed&&eu&&e.drawImage(eu,es-eA.hotspotX,el-eA.hotspotY,eA.width,eA.height)}(p,d,r,l,c,u,a),null==i||i((d+1)/t),(d+=1)<t?(m+=w,b=setTimeout(()=>{requestAnimationFrame(S)},Math.max(0,m-performance.now()))):v=setTimeout(()=>{"inactive"!==f.state&&f.stop()},2*w)}};requestAnimationFrame(e=>{y=e,m=e,S(e)})})})())}finally{lP=!1}})()),l.success("Video exported")}catch(e){console.error("Export failed:",e),G(e,{title:"Video export failed"})}finally{B.current=!1,T(!1),D(0)}}})(),[A,v]),W=(0,a.useMemo)(()=>{if(!v||C<=0)return[];let e=[];for(let t of v.scriptFrames){if("img"!==t.type&&"insight"!==t.type||0===t.durationInFrames)continue;let r=t.startFrame,n=r/C*100;if(n>1&&n<99){let i=[t.title,t.subTitle].filter(Boolean);e.push({percent:n,title:i.length>0?i.join(": "):`Chapter ${e.length+1}`,frame:r})}}return e},[v,C]),Y=null!=(i=null==e?void 0:e.reportFileContent)?i:null,_=(null==e?void 0:e.canDownloadReport)!==!1;if(!y||0===y.length||!v)return Y&&_?(0,o.jsx)("div",{className:"player-container player-container-empty",children:(0,o.jsxs)("div",{className:"player-empty-state",children:[(0,o.jsx)("span",{className:"player-empty-text",children:"No replay available"}),(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(lr.A,{}),onClick:()=>{O()},children:"Download report"})]})}):null;let $=(null==j?void 0:j.imageWidth)||v.imageWidth,ee=(null==j?void 0:j.imageHeight)||v.imageHeight,et=ee>$,er=C>0?Math.min(100,S.currentFrame/C*100):0;return(0,o.jsx)("div",{className:"player-container","data-fit-mode":null==e?void 0:e.fitMode,children:(0,o.jsxs)("div",{className:"canvas-container",ref:b,onMouseMove:K,onMouseEnter:U,onMouseLeave:Q,children:[(0,o.jsx)("div",{className:"player-wrapper","data-portrait":et?"":void 0,style:{aspectRatio:`${$}/${ee}`},children:(0,o.jsx)("div",{ref:w,style:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%",overflow:"hidden"},onClick:I,children:(s=k.width>0&&k.height>0?Math.min(k.width/$,k.height/ee):1,(0,o.jsx)("div",{style:{width:$*s,height:ee*s,flexShrink:0,position:"relative",overflow:"hidden"},children:(0,o.jsx)("div",{style:{width:$,height:ee,transformOrigin:"0 0",transform:`scale(${s})`},children:(0,o.jsx)(lI,{frameMap:v,autoZoom:A&&S.playing,frame:S.currentFrame,width:$,height:ee,fps:v.fps})})}))})}),f&&P&&(0,o.jsxs)("div",{className:"player-subtitle",children:[P.title&&(0,o.jsx)("span",{className:"player-subtitle-badge",children:P.title}),P.subTitle&&(0,o.jsx)("span",{className:"player-subtitle-text",children:P.subTitle})]}),!(null==e?void 0:e.hideControls)&&(0,o.jsxs)("div",{className:`control-bar ${z?"":"hidden"}`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("div",{className:"status-icon",onClick:I,children:S.playing?(0,o.jsx)(ln.A,{}):(0,o.jsx)(li.A,{})}),(0,o.jsxs)("span",{className:"time-display",children:[lD(Math.min(S.currentFrame,C),v.fps)," ","/ ",lD(C+1,v.fps)]}),(0,o.jsxs)("div",{className:"seek-bar-track",ref:Z,onPointerDown:J,children:[(0,o.jsx)("div",{className:"seek-bar-fill",style:{width:`${er}%`}}),(0,o.jsx)("div",{className:"seek-bar-knob",style:{left:`${er}%`}}),W.map(e=>(0,o.jsx)(h.A,{title:e.title,overlayClassName:"chapter-tooltip",children:(0,o.jsx)("div",{className:"chapter-marker",style:{left:`${e.percent}%`},onClick:t=>{t.stopPropagation(),S.seekTo(e.frame)}})},e.percent))]}),(0,o.jsxs)("div",{className:"player-custom-controls",children:[Y&&_?(0,o.jsx)(h.A,{title:"Download Report",children:(0,o.jsx)("div",{className:"status-icon",onClick:()=>{O()},children:(0,o.jsx)(lr.A,{})})}):null,(0,o.jsx)(lc.A,{trigger:["hover","click"],placement:"topRight",overlayStyle:{minWidth:"148px"},dropdownRender:()=>(0,o.jsxs)("div",{className:"player-settings-dropdown",children:[(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",gap:"4px",height:"32px",padding:"0 8px",borderRadius:"4px",cursor:M?"not-allowed":"pointer",opacity:M?.5:1},onClick:M?void 0:q,children:[(0,o.jsx)("span",{style:{width:16,height:16,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:M?(0,o.jsx)(lu.A,{type:"circle",percent:N,size:16,strokeWidth:14,showInfo:!1,strokeColor:"#1677ff",trailColor:"rgba(0, 0, 0, 0.12)"}):(0,o.jsx)(lo.A,{style:{width:"16px",height:"16px"}})}),(0,o.jsx)("span",{className:"player-export-label",children:M?`Exporting ${N}%`:"Export video"})]}),(0,o.jsx)("div",{className:"player-settings-divider"}),(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",justifyContent:"space-between",height:"32px",padding:"0 8px",borderRadius:"4px"},children:[(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[(0,o.jsx)(lp,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px",marginRight:"16px"},children:"Focus on cursor"})]}),(0,o.jsx)(ld.A,{size:"small",checked:A,onChange:e=>c(e)})]}),(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",justifyContent:"space-between",height:"32px",padding:"0 8px",borderRadius:"4px"},children:[(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[(0,o.jsx)(la.A,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px",marginRight:"16px"},children:"Subtitle"})]}),(0,o.jsx)(ld.A,{size:"small",checked:f,onChange:e=>m(e)})]}),(0,o.jsx)("div",{className:"player-settings-divider"}),(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px",height:"32px",padding:"0 8px"},children:[(0,o.jsx)(ls.A,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px"},children:"Playback speed"})]}),[.5,1,1.5,2].map(e=>(0,o.jsxs)("div",{onClick:()=>d(e),style:{height:"32px",lineHeight:"32px",padding:"0 8px 0 28px",fontSize:"14px",cursor:"pointer",borderRadius:"4px"},className:`player-speed-option${u===e?" active":""}`,children:[e,"x"]},e))]}),menu:{items:[]},children:(0,o.jsx)("div",{className:"status-icon",children:(0,o.jsx)(lh,{style:{width:"16px",height:"16px"}})})}),(0,o.jsx)("div",{className:"status-icon",onClick:V,children:X?(0,o.jsx)(ll.A,{}):(0,o.jsx)(lA.A,{})})]})]})]})})}let lz=e=>{let{result:t,loading:r,serverValid:n,serviceMode:i,replayScriptsInfo:a,replayCounter:s,loadingProgressText:l,verticalMode:A=!1,notReadyMessage:c,fitMode:u,autoZoom:d,actionType:p,canDownloadReport:h,onDownloadReport:f}=e,g="result-wrapper";A&&(g+=" vertical-mode-result"),a&&A&&(g+=" result-wrapper-compact");let m=s8,y=p&&i0.includes(p);if(n||"Server"!==i)if(r)m=(0,o.jsxs)("div",{className:"loading-container",children:[(0,o.jsx)(en.A,{spinning:r,indicator:(0,o.jsx)(a8.A,{spin:!0})}),(0,o.jsx)("div",{className:"loading-progress-text loading-progress-text-progress",children:(0,o.jsx)(s5,{text:l,speed:3})})]});else if(null==t?void 0:t.error){let e=(0,o.jsx)("pre",{style:{color:"#ff4d4f",whiteSpace:"pre-wrap"},children:null==t?void 0:t.error});m=t.reportHTML||a?(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto",maxHeight:"40%",overflow:"auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Error:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{replayScripts:null==a?void 0:a.scripts,imageWidth:null==a?void 0:a.width,imageHeight:null==a?void 0:a.height,reportFileContent:t.reportHTML||null,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]}):e}else if(y&&(null==t?void 0:t.result)!==void 0&&a){let e="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}),r=(null==t?void 0:t.reportHTML)||null;m=(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Output:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{replayScripts:a.scripts,imageWidth:a.width,imageHeight:a.height,reportFileContent:r,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]})}else if(a){let e=(null==t?void 0:t.reportHTML)||null;m=(0,o.jsx)(lB,{replayScripts:a.scripts,imageWidth:a.width,imageHeight:a.height,reportFileContent:e,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)}else if(y&&(null==t?void 0:t.result)!==void 0&&(null==t?void 0:t.reportHTML)){let e="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)});m=(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Output:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{reportFileContent:t.reportHTML,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]})}else y&&(null==t?void 0:t.result)!==void 0?m="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}):(null==t?void 0:t.reportHTML)?m=(0,o.jsx)(lB,{reportFileContent:t.reportHTML,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s):(null==t?void 0:t.result)!==void 0&&(m="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}));else m=s4(c);return(0,o.jsx)("div",{className:g,style:{height:"100%",display:"flex",flexDirection:"column",flex:"1 1 auto",justifyContent:"center"},children:m})},lL=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"none","aria-label":"Playground",viewBox:"0 0 20 20"},e),r=r={children:[(0,o.jsx)("rect",{width:20,height:20,fill:"#2B83FF",rx:10}),(0,o.jsx)("path",{fill:"#2B83FF",stroke:"#fff",strokeLinejoin:"round",strokeWidth:1.125,d:"M6.866 5.882a.56.56 0 0 1 .667-.078l3.248 1.875 3.247 1.875a.563.563 0 0 1 0 .974l-3.247 1.875-3.248 1.875a.563.563 0 0 1-.784-.74l1.749-3.497-1.75-3.498a.56.56 0 0 1 .118-.661Z"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function lF(){return(0,a.createElement)("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,focusable:!1},(0,a.createElement)("path",{d:"M3 7.99984L6.33333 11.3332L13 4.6665",stroke:"#188F4D",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}))}let lK="ZodOptional",lU="ZodDefault",lQ="ZodNullable",lZ="ZodObject",lJ="midscene_location_field_flag",lX=e=>"object"==typeof e&&null!==e&&("shape"in e||"ZodObject"===e.type),lH=e=>{var t,r,n;if((null==(t=e._def)?void 0:t.typeName)===lZ){let t;if(e._def.shape&&(t="function"==typeof e._def.shape?e._def.shape():e._def.shape),!t&&e.shape&&(t=e.shape),t&&lJ in t)return!0;let n=(null==(r=e._def)?void 0:r.description)||e.description||"";if("string"==typeof n&&n.toLowerCase().includes("input field"))return!0}if("object"==typeof e&&null!==e){let t=e.description||(null==(n=e._def)?void 0:n.description)||"";if("string"==typeof t){let e=t.toLowerCase();if(e.includes("input field")||e.includes("element")||e.includes("locate"))return!0}if("ZodObject"===e.typeName||"ZodObject"===e.type)return"string"==typeof t&&t.toLowerCase().includes("input field")}return!1},lG=e=>{var t,r,n,i,o;let a=e,s=!1,l=!1;for(;(null==(t=a._def)?void 0:t.typeName)===lK||(null==(r=a._def)?void 0:r.typeName)===lU||(null==(n=a._def)?void 0:n.typeName)===lQ;)(null==(i=a._def)?void 0:i.typeName)===lK&&(s=!0),(null==(o=a._def)?void 0:o.typeName)===lU&&(l=!0),a=a._def.innerType||a;return{actualField:a,isOptional:s,hasDefault:l}},lV=(e,t)=>{var r,n;if(!(null==e?void 0:e.length)||!t)return null;let i=e.find(e=>e.interfaceAlias===t||e.name===t);if(!(null==i?void 0:i.paramSchema)||!lX(i.paramSchema))return null;let o=i.paramSchema.shape||{},a=Object.keys(o);if(1!==a.length)return null;let[s]=a,{actualField:l}=lG(o[s]),A=lH(l);if(!("ZodString"===(null==(r=l._def)?void 0:r.typeName)||A))return null;let c=(null==(n=l._def)?void 0:n.description)||l.description||(A?"Describe the element you want to interact with":`Enter ${s}`);return{name:s,placeholder:c}};var lq=r(8460),lW=r(3896),lY=r(3246),l_=r(1631),l$=r(4665);let l0=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:6,height:10,fill:"none",viewBox:"0 0 6 10"},e),r=r={children:(0,o.jsx)("path",{fill:"#000",fillOpacity:.25,fillRule:"evenodd",d:"M.195 9.138a.667.667 0 0 1 0-.943l3.529-3.528L.195 1.138a.667.667 0 0 1 .943-.943l4 4c.26.26.26.683 0 .943l-4 4a.667.667 0 0 1-.943 0",clipRule:"evenodd"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},l1=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:[(0,o.jsx)("path",{stroke:"#878787",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.33,d:"M1.505 4.164c-2.862 6.126 2.197 10.501 6.063 10.501a7 7 0 1 0-6.063-10.5"}),(0,o.jsx)("path",{stroke:"#878787",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.33,d:"M7.57 3.465v4.203l2.967 2.968"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};var l2={};l2.d=(e,t)=>{for(var r in t)l2.o(t,r)&&!l2.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l2.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l2.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l3={};function l5(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}l2.r(l3),l2.d(l3,{create:()=>v.vt});let{create:l7}=l3,l4="midscene-prompt-history-v2",l8="midscene-last-selected-type",l6=l7((e,t)=>{let r;return{history:(r=localStorage.getItem(l4))?JSON.parse(r):{},lastSelectedType:localStorage.getItem(l8)||"aiAct",clearHistory:r=>{let n=l5({},t().history);delete n[r],e({history:n}),localStorage.setItem(l4,JSON.stringify(n))},addHistory:r=>{var n,i;let{type:o}=r,a=t().history,s=a[o]||[],l=JSON.stringify({prompt:r.prompt,params:r.params}),A=[r,...s.filter(e=>JSON.stringify({prompt:e.prompt,params:e.params})!==l)];A.length>10&&(A.length=10);let c=(n=l5({},a),i=i={[o]:A},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))}),n);e({history:c}),localStorage.setItem(l4,JSON.stringify(c))},getHistoryForType:e=>t().history[e]||[],setLastSelectedType:t=>{e({lastSelectedType:t}),localStorage.setItem(l8,t)}}}),l9=e=>{if(!e)return"";if("aiAct"===e)return"Action";let t=e.startsWith("ai")?e.slice(2):e;if(t.startsWith("IOS"))return t.substring(3).replace(/([A-Z])/g," $1").replace(/^/,"IOS").trim();let r=t.replace(/([A-Z])/g," $1").trim(),n=r.split(" ");return(n.length>3?n.slice(-3).join(" "):r).replace(/\b\w/g,e=>e.toUpperCase())};function Ae(e){return{supportsImeStrategy:"android"===e,supportsKeyboardDismissStrategy:"android"===e||"harmony"===e,supportsAutoDismissKeyboard:"android"===e||"ios"===e||"harmony"===e,supportsAlwaysRefreshScreenInfo:"android"===e}}function At(e){return Object.values(Ae(e)).some(Boolean)}var Ar=r(6356);let An=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:27,height:27,fill:"none",viewBox:"0 0 27 27"},e),r=r={children:(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.333,d:"M19.527 8.855h-2M14.86 7.522v2.667M14.86 8.855H7.527M10.194 13.522H7.527M12.86 12.189v2.666M20.193 13.522H12.86M19.527 18.189h-2M14.86 16.855v2.667M14.86 18.189H7.527"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Ai=e=>{let t,{showDeepLocateOption:r=!1,showDeepThinkOption:n=!1,enableTracking:i=!1,showDataExtractionOptions:a=!1,hideDomAndScreenshotOptions:s=!1,deviceType:l,trigger:A,popupPlacement:c="bottomRight"}=e,u=X(e=>e.forceSameTabNavigation),d=X(e=>e.setForceSameTabNavigation),p=X(e=>e.deepLocate),f=X(e=>e.setDeepLocate),g=X(e=>e.deepThink),m=X(e=>e.setDeepThink),y=X(e=>e.screenshotIncluded),v=X(e=>e.setScreenshotIncluded),b=X(e=>e.domIncluded),w=X(e=>e.setDomIncluded),E=X(e=>e.imeStrategy),k=X(e=>e.setImeStrategy),x=X(e=>e.autoDismissKeyboard),S=X(e=>e.setAutoDismissKeyboard),C=X(e=>e.keyboardDismissStrategy),I=X(e=>e.setKeyboardDismissStrategy),j=X(e=>e.alwaysRefreshScreenInfo),O=X(e=>e.setAlwaysRefreshScreenInfo),P=Ae(l),R=At(l);if(!i&&!r&&!n&&!a&&!R)return null;let M=(t=[],i&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>d(e.target.checked),checked:u,children:"Limit popup to current tab"}),key:"track-config"}),r&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>{f(e.target.checked)},checked:p,children:"Deep Locate"}),key:"deep-locate-config"}),n&&t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Deep Think"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:g,onChange:e=>m(e.target.value),children:[(0,o.jsx)(h.A,{title:"Controlled by MIDSCENE_MODEL_REASONING_ENABLED env variable",children:(0,o.jsx)(l$.A,{value:"unset",children:"Auto"})}),(0,o.jsx)(l$.A,{value:!0,children:"On"}),(0,o.jsx)(l$.A,{value:!1,children:"Off"})]})]}),key:"deep-think-config"}),a&&!s&&(t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>{v(e.target.checked)},checked:y,children:"Include screenshot in request"}),key:"screenshot-included-config"}),t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Include DOM info in request"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:b,onChange:e=>w(e.target.value),children:[(0,o.jsx)(l$.A,{value:!1,children:"Off"}),(0,o.jsx)(l$.A,{value:!0,children:"All"}),(0,o.jsx)(l$.A,{value:"visible-only",children:"Visible only"})]})]}),key:"dom-included-config"})),P.supportsImeStrategy&&(t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"IME strategy"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:E,onChange:e=>k(e.target.value),children:[(0,o.jsx)(l$.A,{value:"always-yadb",children:"Always YADB"}),(0,o.jsx)(l$.A,{value:"yadb-for-non-ascii",children:"YADB for non-ASCII"})]})]}),key:"ime-strategy-config"}),P.supportsAutoDismissKeyboard&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>S(e.target.checked),checked:x,children:st}),key:"auto-dismiss-keyboard-config"}),P.supportsKeyboardDismissStrategy&&t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Keyboard dismiss strategy"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:C,onChange:e=>I(e.target.value),children:[(0,o.jsx)(l$.A,{value:"esc-first",children:"ESC first"}),(0,o.jsx)(l$.A,{value:"back-first",children:"Back first"})]})]}),key:"keyboard-dismiss-strategy-config"}),P.supportsAlwaysRefreshScreenInfo&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>O(e.target.checked),checked:j,children:"Always refresh screen info"}),key:"always-refresh-screen-info-config"})),!P.supportsImeStrategy&&P.supportsAutoDismissKeyboard&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>S(e.target.checked),checked:x,children:st}),key:"auto-dismiss-keyboard-config"}),t),T=null!=A?A:(0,o.jsx)("button",{"aria-label":"Open run configuration",className:"selector-trigger-button",type:"button",children:(0,o.jsx)(An,{width:24,height:24})});return(0,o.jsx)("div",{className:"selector-trigger",children:(0,o.jsx)(lc.A,{getPopupContainer:e=>e.ownerDocument.body,menu:{items:M},overlayClassName:"config-selector-dropdown",overlayStyle:{zIndex:10010},placement:c,trigger:["click"],children:T})})};var Ao=r(7991),Aa=r(2752);let{TextArea:As}=m.A,Al=(e,t)=>`${e}${t?" (Optional)":""}`,AA=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=a||`Enter ${t}`;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`Please input ${t}`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(m.A,{placeholder:s})},t)},Ac=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=a||`Describe the ${t}, use natural language`;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`The ${t} is required`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(As,{rows:2,placeholder:s})},t)},Au=e=>{var t;let{name:r,label:n,fieldSchema:i,isRequired:a,marginBottom:s,placeholder:l}=e,A=((null==(t=i._def)?void 0:t.values)||[]).map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)}));return(0,o.jsx)(aF.A.Item,{name:["params",r],label:n,rules:a?[{required:!0,message:`Please select ${r}`}]:[],style:{marginBottom:s},colon:!1,children:(0,o.jsx)(Ao.A,{placeholder:l||`Select ${r}`,options:A})},r)},Ad=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=500*("distance"===t),l=a&&Number(a)||s,A="distance"===t?1e4:void 0;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:`${r}${"distance"===t?" (px)":""}`,rules:n?[{required:!0,message:`Please input ${t}`},{type:"number",min:0,message:`${r} must be at least 0`}]:[{type:"number",min:0,message:`${r} must be at least 0`}],style:{flex:"distance"===t?1:void 0,marginBottom:i},colon:!1,children:(0,o.jsx)(Aa.A,{placeholder:l.toString(),min:0,max:A,step:"distance"===t?10:1,style:{width:"100%"}})},t)},Ap=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`Please select ${t}`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(Ao.A,{placeholder:a||`Select ${t}`,options:[{value:!0,label:"True"},{value:!1,label:"False"}]})},t)};var Ah=r(316);let Af=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:18,height:16,fill:"none",viewBox:"0 0 18 16"},e),r=r={children:(0,o.jsx)("path",{stroke:"#333",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.333,d:"m3.124 2.667 11.162 10.666M3.124 13.333 14.286 2.667"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Ag=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:25,height:25,fill:"none",viewBox:"0 0 25 25"},e),r=r={children:[(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.33,d:"M6.63 9.021c-2.862 6.126 2.197 10.501 6.063 10.501a7 7 0 1 0-6.063-10.5"}),(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.33,d:"M12.695 8.322v4.203l2.967 2.968"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Am=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:19,height:19,fill:"none",viewBox:"0 0 19 19"},e),r=r={children:[(0,o.jsxs)("g",{stroke:"currentColor",strokeLinejoin:"round",strokeOpacity:.65,strokeWidth:1.5,clipPath:"url(#magnifying-glass_svg__a)",children:[(0,o.jsx)("path",{d:"M8.397 14.29a6.375 6.375 0 1 0 0-12.75 6.375 6.375 0 0 0 0 12.75Z"}),(0,o.jsx)("path",{strokeLinecap:"round",d:"M10.519 5.42a3 3 0 0 0-2.122-.88 3 3 0 0 0-2.121.88M12.98 12.499l3.182 3.182"})]}),(0,o.jsx)("defs",{children:(0,o.jsx)("clipPath",{id:"magnifying-glass_svg__a",children:(0,o.jsx)("path",{fill:"#fff",d:"M.522.04h18v18h-18z"})})})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},{Text:Ay}=u.A,Av=e=>{let{onSelect:t,history:r,currentType:n,trigger:i,popupPlacement:s="bottom",title:l="History",showClear:A=!0,onClear:c,searchPlaceholder:u="Search",emptyText:d="No history record",noMatchText:p="No matching history record",renderItemActions:h,renderItemLabel:f,overlayClassName:y,popupWidth:v=320,popupHeight:b=400,portalContainerSelector:w}=e,[E,k]=(0,a.useState)(!1),[x,S]=(0,a.useState)(""),[C,I]=(0,a.useState)(0),j=l6(e=>e.clearHistory),O=(0,a.useRef)(null),P=(0,a.useRef)(null),[R,M]=(0,a.useState)(null),[T,N]=(0,a.useState)(null),[D,B]=(0,a.useState)(!1),z=(0,a.useMemo)(()=>{let e=Date.now(),t=e-6048e5,n=e-31536e6,i=r.filter(e=>e.prompt.toLowerCase().includes(x.toLowerCase()));return{recent7Days:i.filter(e=>e.timestamp>=t),recent1Year:i.filter(e=>e.timestamp<t&&e.timestamp>=n),older:i.filter(e=>e.timestamp<n)}},[r,x]),L=()=>{k(!1)};(0,a.useEffect)(()=>{if(!E)return;let e=()=>{var e,t;if(!P.current)return;let r=P.current.getBoundingClientRect(),n=w?P.current.closest(w):null,i=null==n?void 0:n.getBoundingClientRect(),o=null!=(e=null==i?void 0:i.width)?e:window.innerWidth,a=null!=(t=null==i?void 0:i.height)?t:window.innerHeight,l=i?r.right-i.left:r.right,A=i?r.top-i.top:r.top,c=i?r.bottom-i.top:r.bottom,u=Math.max(16,o-v-16),d=Math.max(16,a-b-16);M({left:Math.min(Math.max(16,l-v),u),top:Math.min(Math.max(16,"top"===s?A-b-8:c+8),d)}),N(null!=n?n:document.body),B(!!n)},t=e=>{O.current&&!O.current.contains(e.target)&&P.current&&!P.current.contains(e.target)&&k(!1)};e();let r=setTimeout(()=>{document.addEventListener("click",t)},100);return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{clearTimeout(r),document.removeEventListener("click",t),window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[E,b,s,v,w]);let F=(e,r)=>0===r.length?null:(0,o.jsxs)("div",{className:"history-group",children:[(0,o.jsx)("div",{className:"history-group-title",children:e}),r.map((e,r)=>(0,o.jsxs)("div",{className:"history-item",onClick:()=>{t(e),k(!1)},children:[(0,o.jsx)("span",{className:"history-item-label",children:f?f(e,{close:L}):e.prompt}),h?(0,o.jsx)("span",{className:"history-item-actions",onClick:e=>e.stopPropagation(),children:h(e,{close:L,scrollVersion:C})}):null]},`${e.timestamp}-${r}`))]},e);return(0,o.jsxs)("div",{className:"history-selector-wrapper",children:[(0,o.jsx)("div",{className:"selector-trigger",onClick:()=>k(e=>!e),ref:P,children:null!=i?i:(0,o.jsx)(Ag,{width:24,height:24})}),E&&R&&T&&(0,Ah.createPortal)((0,o.jsx)("div",{className:y?`history-modal-overlay ${y}${D?" history-modal-overlay-in-container":""}`:`history-modal-overlay${D?" history-modal-overlay-in-container":""}`,ref:O,style:R,children:(0,o.jsxs)("div",{className:"history-modal-container",children:[(0,o.jsxs)("div",{className:"history-modal-header",children:[(0,o.jsxs)(Ay,{strong:!0,style:{fontSize:"16px"},children:[l," (",r.length,")"]}),(0,o.jsx)(g.Ay,{size:"small",type:"text",icon:(0,o.jsx)(Af,{width:16,height:16}),onClick:()=>k(!1),className:"close-button"})]}),(0,o.jsx)("div",{className:"history-search-section",children:(0,o.jsxs)("div",{className:"search-input-wrapper",children:[(0,o.jsx)(m.A,{placeholder:u,value:x,onChange:e=>S(e.target.value),prefix:(0,o.jsx)(Am,{width:18,height:18}),className:"search-input",allowClear:!0}),A?(0,o.jsx)(g.Ay,{type:"link",onClick:()=>{c?c():j(n),S(""),k(!1)},className:"clear-button",disabled:0===r.length,children:"Clear"}):null]})}),(0,o.jsx)("div",{className:"history-content",onScroll:()=>{I(e=>e+1)},children:0===r.length?(0,o.jsx)("div",{className:"no-results",children:(0,o.jsx)(Ay,{type:"secondary",children:d})}):(0,o.jsxs)(o.Fragment,{children:[F("Last 7 days",z.recent7Days),F("Last 1 year",z.recent1Year),F("Earlier",z.older),x&&0===z.recent7Days.length&&0===z.recent1Year.length&&0===z.older.length&&(0,o.jsx)("div",{className:"no-results",children:(0,o.jsx)(Ay,{type:"secondary",children:p})})]})})]})}),T)]})};function Ab(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let{TextArea:Aw}=m.A,AE=e=>{var t,r,n,i,s,l,A;let{runButtonEnabled:c,form:u,serviceMode:d,selectedType:p,dryMode:f,stoppable:y,loading:v,onRun:b,onStop:w,clearPromptAfterRun:E=!0,actionSpace:k,hideDomAndScreenshotOptions:x=!1,deviceType:S,chrome:C}=e,[I,j]=(0,a.useState)(!1),[O,P]=(0,a.useState)(""),R="aiQuery"===p?"What do you want to query?":"aiAssert"===p?"What do you want to assert?":"aiTap"===p?"What element do you want to tap?":"aiDoubleClick"===p?"What element do you want to double-click?":"aiHover"===p?"What element do you want to hover over?":"aiInput"===p?"Format: <value> | <element>\nExample: hello world | search box":"aiRightClick"===p?"What element do you want to right-click?":"aiKeyboardPress"===p?"Format: <key> | <element (optional)>\nExample: Enter | text field":"aiScroll"===p?"Format: <direction> <amount> | <element (optional)>\nExample: down 500 | main content":"aiLocate"===p?"What element do you want to locate?":"aiBoolean"===p?"What do you want to check (returns true/false)?":"aiNumber"===p?"What number do you want to extract?":"aiString"===p?"What text do you want to extract?":"aiAsk"===p?"What do you want to ask?":"aiWaitFor"===p?"What condition do you want to wait for?":"What do you want to do?",M=(null==C?void 0:C.variant)==="minimal",T=(null==C?void 0:C.placeholder)||R,N=(A=null==C?void 0:C.primaryActionLabel)?A:l9(p)||"Action",D=(0,a.useRef)(null),B=(0,a.useRef)(null),z=aF.A.useWatch("params",u),L=(0,a.useRef)(null),F=l6(e=>e.history),K=l6(e=>e.lastSelectedType),U=l6(e=>e.addHistory),Q=l6(e=>e.setLastSelectedType),Z=(0,a.useMemo)(()=>F[p]||[],[F,p]),{markExplicitSelection:J,skipNextRestore:X,shouldSkipRestoreOnce:H}=function(e){let{enabled:t,form:r,selectedType:n,onAfterReset:i,defaultType:o="aiAct"}=e,[s,l]=(0,a.useState)(!1),A=(0,a.useRef)(!1);(0,a.useEffect)(()=>{t&&!s&&n&&n!==o&&(A.current=!1,r.setFieldsValue({type:o,prompt:"",params:{}}),null==i||i())},[t,s,n,o,r,i]);let c=(0,a.useCallback)(()=>{t&&l(!0)},[t]),u=(0,a.useCallback)(()=>{A.current=!0},[]),d=(0,a.useCallback)(()=>!!A.current&&(A.current=!1,!0),[]);return(0,a.useMemo)(()=>({markExplicitSelection:c,skipNextRestore:u,shouldSkipRestoreOnce:d}),[c,u,d])}({enabled:M,form:u,selectedType:p,onAfterReset:(0,a.useCallback)(()=>{L.current=null,P("")},[])}),G=(0,a.useMemo)(()=>{if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);return!!(null==e?void 0:e.paramSchema)&&(!lX(e.paramSchema)||Object.keys(e.paramSchema.shape||{}).length>0)}return!1},[p,k]),V=(0,a.useMemo)(()=>{if(k&&k.length>0){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if(e){if(e.paramSchema&&lX(e.paramSchema)){let t=e.paramSchema.shape||{};return Object.keys(t).some(e=>{let{isOptional:r}=lG(t[e]);return!r})}return!!e.paramSchema}}return!0},[p,k]),q=(0,a.useMemo)(()=>["aiQuery","aiBoolean","aiNumber","aiString","aiAsk","aiAssert"].includes(p),[p]),W=(0,a.useMemo)(()=>{if("aiAct"===p||"aiLocate"===p)return!0;if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t=e.paramSchema.shape||{};return Object.keys(t).some(e=>{let{actualField:r}=lG(t[e]);return lH(r)})}}return!1},[p,k]),Y=(0,a.useMemo)(()=>"aiAct"===p,[p]),_=(0,a.useMemo)(()=>{let e="In-Browser-Extension"===d,t=q&&!x,r=At(S);return e||W||Y||t||r},[d,W,Y,q,x,S]),$=(0,a.useMemo)(()=>(e=>{let t=Object.keys(sr);if(!(null==e?void 0:e.length))return t;let r=e.map(e=>e.interfaceAlias||e.name),n=new Set;return t.forEach(e=>{let t=sr[e];"aiAct"===e||(null==t?void 0:t.group)==="extraction"||(null==t?void 0:t.group)==="validation"?n.add(e):r.includes(e)&&n.add(e)}),r.forEach(e=>{n.add(e)}),Array.from(n)})(k),[k]),ee=(0,a.useMemo)(()=>$.filter(e=>!sn.includes(e)),[$]),et=(0,a.useCallback)(e=>{J(),u.setFieldValue("type",e)},[u,J]),er=(0,a.useMemo)(()=>[{key:"interaction-group",label:"Interaction APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="interaction"}},{key:"extraction-group",label:"Data Extraction APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="extraction"}},{key:"validation-group",label:"Validation APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="validation"}},{key:"device-specific-group",label:"Device-Specific APIs",match:e=>!sr[e]}],[]),en=(0,a.useCallback)(e=>{var t;return{key:e,label:l9(e),title:(null==(t=sr[e])?void 0:t.title)||"",onClick:()=>et(e)}},[et]),ei=(0,a.useMemo)(()=>{let e=[];for(let t of er){let r=ee.filter(t.match);0!==r.length&&e.push({key:t.key,type:"group",label:t.label,children:r.map(en)})}return e},[er,ee,en]),eo=(0,a.useMemo)(()=>{let e=sn.filter(e=>$.includes(e)),t=[];return e.length>0&&t.push({key:"primary-group",type:"group",label:"Primary APIs",children:e.map(en)}),t.push(...ei),{items:t}},[$,en,ei]),ea=(0,a.useMemo)(()=>({items:ei}),[ei]),es=(0,a.useCallback)(()=>{if(!G||!k)return{};let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t={},r=e.paramSchema.shape||{};return Object.keys(r).forEach(e=>{let n=(e=>{var t;let r=e;for(;null==(t=r._def)?void 0:t.innerType;){if(r._def.typeName===lU){if("function"==typeof r._def.defaultValue)return r._def.defaultValue();if(void 0!==r._def._serializedDefaultValue)return r._def._serializedDefaultValue}r=r._def.innerType}})(r[e]);void 0!==n&&(t[e]=n)}),t}return{}},[p,G,k]);(0,a.useEffect)(()=>{M||u.getFieldValue("type")||!K||u.setFieldValue("type",K)},[u,M,K]),(0,a.useEffect)(()=>{!M&&p&&p!==K&&Q(p)},[p,M,K,Q]);let el=(0,a.useCallback)(()=>{let e=B.current;if(!e)return;let t=null,r=e.querySelector(".ant-radio-button-wrapper-checked"),n=e.querySelector(".more-apis-button.selected-from-dropdown");if(r?t=r:n&&(t=n),t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=n.left-r.left+e.scrollLeft,o=n.width,a=r.width;e.scrollTo({left:Math.max(0,i-(a-o)/2),behavior:"smooth"})}},[]);(0,a.useEffect)(()=>{if(H())return;if(M){let e=es();u.setFieldsValue({prompt:"",params:e}),P(""),L.current=null;return}let e=Z[0];if(!e||!L.current||e.timestamp!==L.current.timestamp)if(e)u.setFieldsValue({type:e.type,prompt:e.prompt||"",params:e.params}),P(e.prompt||""),L.current=e;else{let e=es();u.setFieldsValue({prompt:"",params:e}),P(""),L.current=null}},[p,Z,u,es,M,H]),(0,a.useEffect)(()=>{let e=setTimeout(()=>{el()},100);return()=>clearTimeout(e)},[p,el]);let eA=aF.A.useWatch("prompt",u);(0,a.useEffect)(()=>{eA!==O&&P(eA||"")},[eA,O]);let ec=(0,a.useCallback)(e=>{J(),e.type!==p&&X(),u.setFieldsValue({prompt:e.prompt,type:e.type,params:e.params}),P(e.prompt)},[u,J,p,X]),eu=(0,a.useCallback)(e=>{P(e.target.value)},[]),ed=(0,a.useMemo)(()=>{if(!G||!k)return!1;let e=k.find(e=>e.interfaceAlias===p||e.name===p);return!!((null==e?void 0:e.paramSchema)&&lX(e.paramSchema))&&1===Object.keys(e.paramSchema.shape||{}).length},[p,G,k]),ep=(0,a.useMemo)(()=>M?lV(k,p):null,[k,M,p]),eh=(0,a.useMemo)(()=>((e,t,r,n,i,o)=>{if(!e)return!1;if(!(()=>{if(n){let e=n.find(e=>e.interfaceAlias===i||e.name===i);if(e){if(!e.paramSchema)return!1;if("object"==typeof e.paramSchema&&"shape"in e.paramSchema)return Object.keys(e.paramSchema.shape||{}).length>0}}return!0})())return!0;if(t){let e=r||{},t=null==n?void 0:n.find(e=>e.interfaceAlias===i||e.name===i);if((null==t?void 0:t.paramSchema)&&lX(t.paramSchema)){let r=t.paramSchema.shape||{};return Object.keys(r).every(t=>{let{isOptional:n}=lG(r[t]),i=e[t];return n||void 0!==i&&""!==i&&null!==i})}return!0}return o.trim().length>0})(c,!!G,z,k,p,O),[c,G,p,k,O,z]),ef=(0,a.useCallback)(()=>{let e=u.getFieldsValue(),t="";if(G&&e.params&&k){let r=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==r?void 0:r.paramSchema)&&lX(r.paramSchema)){let n="",i=[],o=r.paramSchema.shape||{};Object.keys(o).forEach(t=>{var r;let a=null==(r=e.params)?void 0:r[t];if(null!=a&&""!==a){let{actualField:e}=lG(o[t]);lH(e)?n=String(a):"distance"===t?i.push(`${a}`):i.push(String(a))}});let a=i.join(" ");t=n?`${n} - ${a}`:a}else t=e.prompt||""}else t=e.prompt||"";let r={type:e.type,prompt:t,params:e.params,timestamp:Date.now()};if(U(r),b(),E)if(L.current=r,P(""),G){let e=es();u.setFieldValue("params",e)}else u.setFieldValue("prompt","")},[u,U,b,G,p,E,k,es]),eg=(0,a.useCallback)(e=>{"Enter"===e.key&&e.metaKey&&eh?(ef(),e.preventDefault(),e.stopPropagation()):"Enter"===e.key&&setTimeout(()=>{if(D.current){var e;let t=null==(e=D.current.resizableTextArea)?void 0:e.textArea;if(t){let e=t.selectionStart,r=t.value.lastIndexOf("\n");(-1===r||e>r)&&(t.scrollTop=t.scrollHeight)}}},0)},[ef,eh]),em=(0,a.useCallback)(e=>{"Enter"===e.key&&e.metaKey&&eh&&(ef(),e.preventDefault(),e.stopPropagation())},[ef,eh]),ey=(0,a.useCallback)(()=>{if(!G)return null;if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t=e.paramSchema.shape||{},r=Object.keys(t);if(1===r.length){let e=r[0],{actualField:n}=lG(t[e]),i=lH(n),a=(()=>{var t,r;if(null==(t=n._def)?void 0:t.description)return n._def.description;if(n.description)return n.description;if(k){let t=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==t?void 0:t.paramSchema)&&"object"==typeof t.paramSchema&&"shape"in t.paramSchema){let n=(t.paramSchema.shape||{})[e];if(null==n||null==(r=n._def)?void 0:r.description)return n._def.description;if(null==n?void 0:n.description)return n.description}}return i?"Describe the element you want to interact with":"keyName"===e?"Enter key name or text to type":"value"===e?"Enter text to input":`Enter ${e}`})();return(0,o.jsx)(aF.A.Item,{name:["params",e],style:{margin:0},children:(0,o.jsx)(m.A.TextArea,{className:"main-side-console-input-textarea",rows:3,placeholder:a,autoFocus:!0,onKeyDown:em})})}let n=[],i=r.sort((e,r)=>{let n=t[e],i=t[r],{isOptional:o}=lG(n),{isOptional:a}=lG(i);return!o&&a?-1:o&&!a?1:0});if(i.forEach((e,r)=>{var a,s,l;let{actualField:A,isOptional:c}=lG(t[e]),u=lH(A),d=e.charAt(0).toUpperCase()+e.slice(1),h=12*(r!==i.length-1),f=(()=>{var t,r;if(null==(t=A._def)?void 0:t.description)return A._def.description;if(A.description)return A.description;if(k){let t=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==t?void 0:t.paramSchema)&&"object"==typeof t.paramSchema&&"shape"in t.paramSchema){let n=(t.paramSchema.shape||{})[e];if(null==n||null==(r=n._def)?void 0:r.description)return n._def.description;if(null==n?void 0:n.description)return n.description}}if(u)return"Describe the element you want to interact with"})(),g={name:e,label:d,fieldSchema:A,isRequired:!c,marginBottom:h,placeholder:f};u?n.push((0,o.jsx)(Ac,Ab({},g),e)):(null==(a=A._def)?void 0:a.typeName)==="ZodEnum"?n.push((0,o.jsx)(Au,Ab({},g),e)):(null==(s=A._def)?void 0:s.typeName)==="ZodNumber"?n.push((0,o.jsx)(Ad,Ab({},g),e)):(null==(l=A._def)?void 0:l.typeName)==="ZodBoolean"?n.push((0,o.jsx)(Ap,Ab({},g),e)):n.push((0,o.jsx)(AA,Ab({},g),e))}),"aiScroll"===p){let e=n.find(e=>a.isValidElement(e)&&"direction"===e.props.name),t=n.find(e=>a.isValidElement(e)&&"distance"===e.props.name),r=n.filter(e=>a.isValidElement(e)&&"direction"!==e.props.name&&"distance"!==e.props.name);if(e&&t)return(0,o.jsxs)("div",{className:"structured-params",children:[(0,o.jsxs)("div",{style:{display:"flex",gap:12,marginBottom:12},children:[e,t]}),r]})}return(0,o.jsx)("div",{className:"structured-params",children:n})}}return null},[p,G,k,em]),ev=(0,a.useCallback)(()=>{j(!0)},[]),eb=(0,a.useCallback)(()=>{j(!1)},[]),ew=(0,a.useCallback)(()=>{let e=e=>(0,o.jsx)(g.Ay,{type:"primary",icon:(0,o.jsx)(lq.A,{}),style:{borderRadius:20,zIndex:999},onClick:ef,disabled:!eh,loading:v,children:e});return f?"aiAct"===p?(0,o.jsx)(h.A,{title:"Start executing until some interaction actions need to be performed. You can see the process of planning and locating.",children:e("Dry Run")}):e("Run"):y?(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(lW.A,{}),onClick:w,style:{borderRadius:20,zIndex:999},children:"Stop"}):e("Run")},[f,v,ef,w,eh,p,y]),eE=(0,a.useCallback)(()=>{let e=e=>(0,o.jsx)(g.Ay,{"aria-label":e,className:"minimal-run-trigger",type:"primary",icon:(0,o.jsx)(lY.A,{}),onClick:ef,disabled:!eh,loading:v});return f?"aiAct"===p?(0,o.jsx)(h.A,{title:"Start executing until some interaction actions need to be performed. You can see the process of planning and locating.",children:e("Dry run")}):e("Run"):y?(0,o.jsx)(g.Ay,{"aria-label":"Stop running",className:"minimal-run-trigger minimal-run-trigger-stop",icon:(0,o.jsx)(lW.A,{}),onClick:w}):e("Run")},[f,v,ef,eh,w,p,y]),ek=V?G?ep?(0,o.jsx)(aF.A.Item,{name:["params",ep.name],style:{margin:0},children:(0,o.jsx)(Aw,{className:"main-side-console-input-textarea",disabled:!c,rows:3,placeholder:"prompt"===ep.name?T:ep.placeholder,autoFocus:!0,onKeyDown:em})}):ed?ey():(0,o.jsx)("div",{className:"structured-params-container",children:ey()}):(0,o.jsx)(aF.A.Item,{name:"prompt",style:{margin:0},children:(0,o.jsx)(Aw,{className:"main-side-console-input-textarea",disabled:!c,rows:3,placeholder:T,autoFocus:!0,onKeyDown:eg,onChange:eu,ref:D})}):(0,o.jsxs)("div",{className:"no-input-method",children:['Click "Run" to execute ',l9(p)]}),ex=null!=(s=null==C||null==(t=C.icons)?void 0:t.action)?s:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAASdJREFUeAHtlt3NgjAUhg8/CVx+G8gGX5xAnUDdQMcgkIgJBLbQEXQD3MAR6gZewgXgOUn9iRp6vAC96JM07YG36Zv+nBZAwySO4ymWgUoXRdEfaYGJyRElSbKyLGuHJVdpHcc5khb7RMCAZcA0TU82PYZ8IPsoZ4ttoEu0ga8bMB6DNE1X8H6jTUBuLmQL7SxkLbDkzz/ruhZBEKxfDGRZNm2aZgc9UFXVLAzDPbVvS1AUxQGrE3SPwHK8BganBy7NBuTU+r5vKLSNbG5RuwQF+hRoA9rA76RifMl4+JjI4Z5yu0KUZTnE8c4U3GbAdd3/HgYnPNu2R9eg98uIvmOGfL2M2tCpWBv4BQPiqW7j9IGWZ4CODT7X5pRAVFrUjEn7eNQ0bVwAyWpjMDlJKpAAAAAASUVORK5CYII=",eS=null==C||null==(r=C.icons)?void 0:r.actionChevron,eC=null!=(l=null==C||null==(n=C.icons)?void 0:n.settings)?l:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAaFJREFUeAHtlt9tgzAQxi8EJa/pBMkIHYENygalG7RvSQQKlfjz2I5ANkg3oBukG6QbtI9IIPq5ihHQOBXmFImqPwnZBvtsf9ydTfQPA77vz4IguCENDGJgOp3ux+PxLgxDnzrCsgAw/zZmGPOO48iUFci4wE42xITKXlEUO9d1X34s4NjZISZU9qCSjeKqastKWZYpMaKyNxqNto02MRDHcXmsJqvV6q7LWBYnxK4+SBOTeHDw2HAwn4aGlg9EUfQE2e+xYwchtaUeaPmAmFyUyH4W9aThA9jZ7alOiN39crl8O/FpoRpzjrq96hcgj2/wwVcNQlxb6/X6VdRrYaeNtGfUVvXbgE9iRNprOCHktPF/Z+3OeZ4fPM9LZbumgHjX2Qnr9rSioE/ma6MVBZDvWWQ/cbLR0GE5jEQoQhFLpGIkpvcuY1nOAkyeiBKJSRSXPw37UCkgbrWmaSZwsBkxoLInHBgJ6EG2KwUgn801+Tl78hyRVApkWfaIexxp4rRfqOzBUdN6+29cyYAMvQN1hCUMIbc1mUyu4VzDz4wX5wvRfah9kIOcwwAAAABJRU5ErkJggg==",eI=null==C||null==(i=C.icons)?void 0:i.history;return M?(0,o.jsxs)("div",{className:"prompt-input-wrapper prompt-input-wrapper-minimal",children:[(0,o.jsx)(aF.A.Item,{hidden:!0,name:"type",style:{margin:0},children:(0,o.jsx)(m.A,{})}),(0,o.jsxs)("div",{className:`main-side-console-input minimal-main-side-console-input ${!c?"disabled":""} ${v?"loading":""}`,children:[ek,(0,o.jsxs)("div",{className:"minimal-toolbar-row",children:[(0,o.jsxs)("div",{className:"minimal-toolbar-left",children:[(0,o.jsx)(lc.A,{menu:eo,placement:"topLeft",trigger:["click"],disabled:!c,overlayClassName:"more-apis-dropdown",children:(0,o.jsxs)("button",{"aria-label":`Select action type (current: ${N})`,className:"minimal-action-trigger",disabled:!c,type:"button",children:[(0,o.jsx)("img",{alt:"",className:"minimal-action-icon",src:ex}),(0,o.jsx)("span",{className:"minimal-action-label",children:N}),eS?(0,o.jsx)("img",{alt:"",className:"minimal-action-chevron",src:eS}):(0,o.jsx)(l0,{"aria-hidden":"true",className:"minimal-action-chevron",focusable:"false"})]})}),(0,o.jsx)(Av,{onSelect:ec,history:Z,currentType:p,popupPlacement:"top",trigger:(0,o.jsx)("button",{"aria-label":"Open prompt history",className:"minimal-icon-trigger",type:"button",children:eI?(0,o.jsx)("img",{alt:"",className:"minimal-toolbar-icon minimal-toolbar-icon-history",src:eI}):(0,o.jsx)(l1,{"aria-hidden":"true",className:"minimal-toolbar-icon minimal-toolbar-icon-history",focusable:"false"})})}),_?(0,o.jsx)("div",{className:I?"settings-wrapper settings-wrapper-hover":"settings-wrapper",onMouseEnter:ev,onMouseLeave:eb,children:(0,o.jsx)(Ai,{enableTracking:"In-Browser-Extension"===d,showDeepLocateOption:W,showDeepThinkOption:Y,showDataExtractionOptions:q,hideDomAndScreenshotOptions:x,deviceType:S,popupPlacement:"topRight",trigger:(0,o.jsx)("button",{"aria-label":"Open run configuration",className:"minimal-icon-trigger",type:"button",children:(0,o.jsx)("img",{alt:"",className:"minimal-toolbar-icon",src:eC})})})}):null]}),(0,o.jsxs)("div",{className:"form-controller-wrapper",children:[null==C?void 0:C.inputActions,eE()]})]})]})]}):(0,o.jsxs)("div",{className:"prompt-input-wrapper",children:[(0,o.jsxs)("div",{className:"mode-radio-group-wrapper",children:[(0,o.jsxs)("div",{className:"mode-radio-group",ref:B,children:[(0,o.jsx)(aF.A.Item,{name:"type",style:{margin:0},children:(0,o.jsx)(l$.A.Group,{buttonStyle:"solid",disabled:!c,children:sn.map(e=>{var t;return(0,o.jsx)(h.A,{title:(null==(t=sr[e])?void 0:t.title)||"",children:(0,o.jsx)(l$.A.Button,{value:e,children:l9(e)})},e)})})}),(0,o.jsx)(lc.A,{menu:ea,placement:"bottomLeft",trigger:["click"],disabled:!c,overlayClassName:"more-apis-dropdown",children:(0,o.jsxs)(g.Ay,{className:`more-apis-button ${!sn.includes(p)?"selected-from-dropdown":""}`,children:[p&&!sn.includes(p)?l9(p):"more",(0,o.jsx)(l_.A,{style:{fontSize:"10px",marginLeft:"2px"}})]})})]}),(0,o.jsxs)("div",{className:"action-icons",children:[(0,o.jsx)(Av,{onSelect:ec,history:Z,currentType:p}),_&&(0,o.jsx)("div",{className:I?"settings-wrapper settings-wrapper-hover":"settings-wrapper",onMouseEnter:ev,onMouseLeave:eb,children:(0,o.jsx)(Ai,{enableTracking:"In-Browser-Extension"===d,showDeepLocateOption:W,showDeepThinkOption:Y,showDataExtractionOptions:q,hideDomAndScreenshotOptions:x,deviceType:S})})]})]}),(0,o.jsxs)("div",{className:`main-side-console-input ${!c?"disabled":""} ${v?"loading":""}`,children:[ek,(0,o.jsxs)("div",{className:"form-controller-wrapper",children:[null==C?void 0:C.inputActions,ew()]})]})]})};function Ak(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function Ax(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){Ak(o,n,i,a,s,"next",e)}function s(e){Ak(o,n,i,a,s,"throw",e)}a(void 0)})}}let{Text:AS}=u.A,AC=new Set;function AI(e){let{error:t}=e;if(!t)return null;let r=t.replace(/^(Error:\s*)+/,"Error: ");return(0,o.jsx)(y.A,{message:(0,o.jsx)("span",{style:{color:"#ff4d4f"},children:r}),type:"error",showIcon:!0})}function Aj(e){var t,r,n;let{playgroundSDK:i,storage:s,contextProvider:l,config:A={},branding:c={},className:u="",dryMode:d=!1,showContextPreview:p=!0}=e,[h]=aF.A.useForm(),{config:f}=X(),[m,y]=(0,a.useState)(!1),v=(0,a.useRef)(null);(0,a.useEffect)(()=>{Ax(function*(){if(i&&"function"==typeof i.checkStatus)try{yield i.checkStatus(),y(!0)}catch(e){console.warn("Failed to initialize SDK, using default namespace:",e),y(!0)}else y(!0)})()},[i]);let b=(0,a.useMemo)(()=>{if(!1===A.persistMessages)return null;if(s)return s;if(!m)return null;let e=A.storageNamespace||(i&&i.id&&"string"==typeof i.id?`agent-${i.id}`:"playground-default"),t=sX();return console.log(`Using ${t} storage for namespace: ${e}`),sJ(t,e)},[s,m,A.storageNamespace,A.persistMessages,i]),{loading:w,setLoading:E,infoList:k,setInfoList:x,actionSpace:S,actionSpaceLoading:C,uiContextPreview:I,setUiContextPreview:j,showScrollToBottomButton:O,verticalMode:P,replayCounter:R,setReplayCounter:M,messagesInitialized:T,infoListRef:N,currentRunningIdRef:D,interruptedFlagRef:B,clearInfoList:z,handleScrollToBottom:L}=function(e,t,r,n){let i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],[o,s]=(0,a.useState)(!1),[l,A]=(0,a.useState)([]),[c,u]=(0,a.useState)([]),[d,p]=(0,a.useState)(!0),[h,f]=(0,a.useState)(),[g,m]=(0,a.useState)(!1),[y,v]=(0,a.useState)(!0),b=(0,a.useRef)(0),[w,E]=(0,a.useState)(!1),[k,x]=(0,a.useState)(0),S=(0,a.useRef)(null),C=(0,a.useRef)(null),I=(0,a.useRef)({}),j=(0,a.useRef)(),[,O]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=!1,r=null!=t?t:null,o=t=>{e||A(t)};return j.current!==r&&(t||0===l.length)&&sG(function*(){let a=sq(sV({},si(n)),{id:"welcome",timestamp:new Date});if(null==t?void 0:t.loadMessages)try{let e=yield t.loadMessages();0===e.length&&(e=yield sG(function*(){if(!i)return[];let e=sJ(sX(),"playground-default");try{if(null==e?void 0:e.loadMessages){let r=yield e.loadMessages();if(r.length>1)return console.log("Found data in old namespace, migrating..."),(null==t?void 0:t.saveMessages)&&(yield t.saveMessages(r)),e.clearMessages&&(yield e.clearMessages()),r}}catch(e){console.debug("No data found in old namespace:",e)}return[]})()),e.some(e=>"welcome"===e.id)?o(e):o([a,...e])}catch(e){console.error("Failed to load messages:",e),o([a])}else o([a]);e||(j.current=r,O(e=>e+1))})(),()=>{e=!0}},[i,t]),(0,a.useEffect)(()=>{(null==t?void 0:t.saveMessages)&&l.length>1&&t.saveMessages(l).catch(e=>{e instanceof DOMException&&"QuotaExceededError"===e.name?console.warn("Storage quota exceeded - some messages may not be saved persistently"):console.error("Failed to save messages:",e)})},[l,t]),(0,a.useEffect)(()=>{(null==r?void 0:r.getUIContext)&&!h&&r.getUIContext().then(e=>f(e)).catch(e=>{console.error("Failed to get UI context:",e)})},[r,h]),(0,a.useEffect)(()=>{sG(function*(){p(!0);try{var t;if(!e)return void u([]);let n=h||(yield null==r||null==(t=r.getUIContext)?void 0:t.call(r)),i=yield e.getActionSpace(n);u(i||[])}catch(e){console.error("Failed to load action space:",e),u([])}finally{p(!1)}})()},[e,h,r]),(0,a.useEffect)(()=>{E(window.innerWidth<750);let e=()=>{E(window.innerWidth<750)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let P=(0,a.useCallback)(()=>{setTimeout(()=>{S.current&&(S.current.scrollTop=S.current.scrollHeight)},100)},[]),R=(0,a.useCallback)(()=>{if(S.current){let{scrollTop:e,scrollHeight:t,clientHeight:r}=S.current,n=e+r>=t-10;m(!n);let i=e<b.current;b.current=e,n?v(!0):i&&v(!1)}},[]),M=(0,a.useCallback)(()=>{S.current&&(S.current.scrollTo({top:S.current.scrollHeight,behavior:"smooth"}),m(!1),v(!0))},[]);(0,a.useEffect)(()=>{l.length>0&&y&&P()},[l,P,y]),(0,a.useEffect)(()=>{let e=S.current;if(e)return e.addEventListener("scroll",R),R(),()=>{e.removeEventListener("scroll",R)}},[R]);let T=(0,a.useCallback)(()=>sG(function*(){if(A([sq(sV({},si(n)),{id:"welcome",timestamp:new Date})]),null==t?void 0:t.clearMessages)try{yield t.clearMessages()}catch(e){console.error("Failed to clear stored messages:",e)}})(),[t,n]),N=(0,a.useCallback)(()=>sG(function*(){if(null==r?void 0:r.refreshContext)try{let e=yield r.refreshContext();f(e)}catch(e){console.error("Failed to refresh context:",e)}})(),[r]);return{loading:o,setLoading:s,infoList:l,setInfoList:A,messagesInitialized:j.current===(null!=t?t:null),actionSpace:c,actionSpaceLoading:d,uiContextPreview:h,setUiContextPreview:f,showScrollToBottomButton:g,verticalMode:w,replayCounter:k,setReplayCounter:x,infoListRef:S,currentRunningIdRef:C,interruptedFlagRef:I,clearInfoList:T,refreshContext:N,handleScrollToBottom:M,scrollToBottom:P}}(i,b,l,c.targetName,!1!==A.persistMessages&&!A.storageNamespace),{handleRun:F,handleStop:K,canStop:U}=function(e){let{playgroundSDK:t,storage:r,actionSpace:n,loading:i,setLoading:o,setInfoList:s,replayCounter:l,setReplayCounter:A,verticalMode:c,currentRunningIdRef:u,interruptedFlagRef:d,deviceType:p}=e,{deepLocate:h,deepThink:f,screenshotIncluded:g,domIncluded:m,imeStrategy:y,autoDismissKeyboard:v,keyboardDismissStrategy:b,alwaysRefreshScreenInfo:w}=X(),E=(0,a.useCallback)(function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sy(function*(){if(!t)return void console.warn("PlaygroundSDK is not available");let i=Date.now(),a=e.type,E=n.displayContent||`${e.type}: ${e.prompt||JSON.stringify(e.params)}`,k={id:`user-${Date.now()}`,type:"user",content:E,timestamp:new Date};s(e=>[...e,k]),o(!0);let x=sv({},so),S={id:`system-${i}`,type:"system",content:"",timestamp:new Date,loading:!0,loadingProgressText:""};s(e=>[...e,S]);try{u.current=i,d.current[i]=!1,t.onDumpUpdate&&t.onDumpUpdate((e,t)=>{var r;if(d.current[i]||!(null==t||null==(r=t.tasks)?void 0:r.length))return;let n=t.tasks.map((e,t)=>{var r;let n,o;return{id:`progress-${i}-task-${t}`,type:"progress",content:(n=am(e),(o=aw(e))?`${n} - ${o}`:n),actionKind:am(e),timestamp:new Date((null==(r=e.timing)?void 0:r.start)||Date.now()),result:e.error?{error:sw(e.error),result:null}:void 0}});s(e=>{let t=e.findIndex(e=>e.id===`system-${i}`);if(-1===t)return e;let r=e.filter(e=>!("progress"===e.type&&e.id.startsWith(`progress-${i}-`)));return[...r.slice(0,t+1),...n,...r.slice(t+1)]})}),sk(a)||!0!==f||console.warn("[Playground] Non-aiAct action will be executed without deepThink. deepThink is only forwarded for aiAct and runMarkdown.",{actionType:a,requestId:i.toString()});let r="unset"===f?void 0:f,o=sv(sb(sv({requestId:i.toString(),deepLocate:h},sk(a)&&void 0!==r?{deepThink:r}:{}),{screenshotIncluded:g,domIncluded:m,deviceOptions:{imeStrategy:y,autoDismissKeyboard:v,keyboardDismissStrategy:b,alwaysRefreshScreenInfo:w}}),n.reportDisplay?{reportDisplay:n.reportDisplay}:{});if(x.result=yield t.executeAction(a,e,o),"object"==typeof x.result&&null!==x.result){let e=x.result;e.dump&&(x.dump=e.dump),e.reportHTML&&(x.reportHTML=e.reportHTML),e.error&&(x.error=sw(e.error)),"result"in e&&(x.result=e.result)}}catch(e){x.error=sw(e),console.error("Playground execution error:",e),"object"==typeof e&&null!==e&&(e.dump&&(x.dump=e.dump),e.reportHTML&&(x.reportHTML=e.reportHTML))}if(d.current[i])return;o(!1),u.current=null;let C=null,I=l;if(null==x?void 0:x.dump){let e=sE(x.dump,p);e&&(A(e=>e+1),C=e,I=l+1)}s(e=>e.map(e=>e.id===`system-${i}`?sb(sv({},e),{content:"",loading:!1,loadingProgressText:""}):e));let j={id:`result-${i}`,type:"result",content:"Execution result",timestamp:new Date,result:x,loading:!1,replayScriptsInfo:C,replayCounter:I,loadingProgressText:"",verticalMode:c,actionType:a};if(s(e=>[...e,j]),null==r?void 0:r.saveResult)try{yield r.saveResult(j.id,j)}catch(e){console.error("Failed to save result:",e)}let O={id:`separator-${i}`,type:"separator",content:"New Session",timestamp:new Date};s(e=>[...e,O])})()},[t,r,n,o,s,l,A,c,u,d,h,f,g,m,p,y,v,b,w]),k=(0,a.useCallback)(()=>sy(function*(){let e=u.current;if(e&&t&&t.cancelExecution)try{let r=yield t.cancelExecution(e.toString()),n=null;if(r)n=r;else if(t.getCurrentExecutionData)try{n=yield t.getCurrentExecutionData()}catch(e){console.error("Failed to get execution data before stop:",e)}if(d.current[e]=!0,o(!1),t.onProgressUpdate&&t.onProgressUpdate(()=>{}),t.onDumpUpdate&&t.onDumpUpdate(()=>{}),s(t=>t.map(t=>t.id===`system-${e}`?sb(sv({},t),{content:"",loading:!1,loadingProgressText:""}):t)),n&&(n.dump||n.reportHTML)){let t=null,r=l;(t=sE(n.dump,p))&&(A(e=>e+1),r=l+1);let i={id:`stop-result-${e}`,type:"result",content:"Execution stopped by user",timestamp:new Date,result:{result:null,dump:n.dump,reportHTML:n.reportHTML,error:null},loading:!1,verticalMode:c,replayScriptsInfo:t,replayCounter:r};s(e=>[...e,i])}else{let t={id:`stop-${e}`,type:"system",content:"Operation stopped",timestamp:new Date,loading:!1};s(e=>[...e,t])}let i={id:`separator-${e}`,type:"separator",content:"New Session",timestamp:new Date};s(e=>[...e,i])}catch(e){console.error("Failed to stop execution:",e)}})(),[t,u,d,o,s,c,l,p]);return{handleRun:E,handleStop:k,canStop:i&&!!u.current&&!!t&&!!t.cancelExecution}}({playgroundSDK:i,storage:b,actionSpace:S,loading:w,setLoading:E,setInfoList:x,replayCounter:R,setReplayCounter:M,verticalMode:P,currentRunningIdRef:D,interruptedFlagRef:B,deviceType:A.deviceType});(0,a.useEffect)(()=>{(null==i?void 0:i.overrideConfig)&&f&&i.overrideConfig(f).catch(e=>{console.error("Failed to override SDK config:",e),G(e,{title:"Failed to apply AI configuration"})})},[i,f]);let Q=(0,a.useCallback)(()=>Ax(function*(){try{let e=h.getFieldsValue();yield F(e)}catch(e){G(e,{title:"Execution failed"})}})(),[h,F]);(0,a.useEffect)(()=>{let e=A.externalRunRequest;if(e&&function(e){let{request:t,handledRequestIds:r,lastRequestId:n,sdkReady:i,messagesInitialized:o}=e;return!!(t&&t.id!==n&&!(null==r?void 0:r.has(t.id))&&i&&o)}({request:e,handledRequestIds:AC,lastRequestId:v.current,sdkReady:m,messagesInitialized:T})){if(v.current=e.id,AC.add(e.id),AC.size>100){let e=AC.values().next().value;e&&AC.delete(e)}F(e.value,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({displayContent:e.displayContent},e.reportDisplay?{reportDisplay:e.reportDisplay}:{})).catch(e=>{G(e,{title:"Execution failed"})})}},[A.externalRunRequest,F,T,m]);let Z=Object.keys(f||{}).length>=1,J=A.serverMode||!d&&!C&&Z,H=aF.A.useWatch("type",h)||sn["0"],V=(0,a.useMemo)(()=>i&&"function"==typeof i.getServiceMode?i.getServiceMode():"Server",[i]),q=p&&!1!==A.showContextPreview,W=A.layout||"vertical",Y=!1!==A.showVersionInfo,_=A.deviceType,$=null!=(t=A.executionFlow)?t:{},ee=!0===$.collapsible,et=null!=(r=$.label)?r:"Execution Flow",[er,en]=(0,a.useState)(()=>new Set),ei=(0,a.useCallback)(e=>{en(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),{firstInProgressGroup:eo,visibleInfoList:ea}=(0,a.useMemo)(()=>{let e=new Set,t=[],r=null,n=k.length>1;for(let i of k)if(!n||"welcome"!==i.id)if("progress"===i.type){if(null===r){r=i.id,e.add(i.id),t.push(i);continue}ee&&er.has(r)||t.push(i)}else r=null,t.push(i);return{firstInProgressGroup:e,visibleInfoList:t}},[er,ee,k]),es=(0,a.useMemo)(()=>{for(let e=k.length-1;e>=0;e--)if("progress"===k[e].type)return k[e].id;return null},[k]),el=void 0!==A.emptyState&&1===ea.length&&(null==(n=ea[0])?void 0:n.id)==="welcome",eA=(0,a.useMemo)(()=>el&&((e,t)=>{if(!(null==e?void 0:e.length)||!t||lV(e,t))return!1;let r=e.find(e=>e.interfaceAlias===t||e.name===t);return!!(null==r?void 0:r.paramSchema)&&!!lX(r.paramSchema)&&Object.keys(r.paramSchema.shape||{}).length>1})(S,H),[S,el,H]);(0,a.useEffect)(()=>{if(!eA)return;let e=()=>{let e=N.current;if(!e)return;let t=e.querySelector(".playground-empty-state-wrapper"),r=null==t?void 0:t.querySelector("[data-playground-empty-state-content-start]"),n=null==t?void 0:t.querySelector("[data-playground-empty-state-content-end]");if(!(r instanceof HTMLElement)||!(n instanceof HTMLElement))return;let i=e.getBoundingClientRect(),o=r.getBoundingClientRect(),a=n.getBoundingClientRect(),s=function(e){let{currentScrollTop:t,maxScrollTop:r,containerTop:n,containerBottom:i,contentStartTop:o,contentEndBottom:a,topSafeMargin:s=24,bottomSafeMargin:l=24}=e;return Math.max(0,Math.round(Math.min(t+a-(i-l),t+o-(n+s),r)))}({currentScrollTop:e.scrollTop,maxScrollTop:Math.max(0,e.scrollHeight-e.clientHeight),containerTop:i.top,containerBottom:i.bottom,contentStartTop:o.top,contentEndBottom:a.bottom});e.scrollTo({top:s,behavior:"auto"})},t=window.requestAnimationFrame(e),r=window.setTimeout(e,160);return()=>{window.cancelAnimationFrame(t),window.clearTimeout(r)}},[N,H,eA]);let ec=["playground-empty-state-wrapper",eA?"playground-empty-state-wrapper-offset-for-prompt":""].filter(Boolean).join(" ");return(0,o.jsx)("div",{className:`playground-container ${W}-mode ${u}`.trim(),children:(0,o.jsxs)(aF.A,{form:h,onFinish:Q,className:"command-form",initialValues:{type:sn["0"]},children:[q&&(0,o.jsx)("div",{className:"context-preview-section",children:(0,o.jsx)(s9,{uiContextPreview:I,setUiContextPreview:j,showContextPreview:q})}),(0,o.jsxs)("div",{className:"middle-dialog-area",children:[!1!==A.showClearButton&&k.length>1&&(0,o.jsx)("div",{className:"clear-button-container",children:(0,o.jsx)(g.Ay,{size:"small",icon:(0,o.jsx)(a7.A,{}),onClick:z,type:"text",className:"clear-button"})}),(0,o.jsx)("div",{ref:N,className:"info-list-container",children:el?(0,o.jsx)("div",{className:ec,children:A.emptyState}):(0,o.jsx)(se.A,{itemLayout:"vertical",dataSource:ea,renderItem:e=>{var t,r,n;let i,s,l,u,d,p,h,f=ee&&eo.has(e.id),g=f&&er.has(e.id);return(0,o.jsxs)(se.A.Item,{className:"list-item",children:[f?(0,o.jsxs)("button",{type:"button",className:`progress-group-toggle ${er.has(e.id)?"is-collapsed":"is-expanded"}`,"aria-expanded":!er.has(e.id),onClick:()=>ei(e.id),children:[(0,o.jsx)("span",{className:"progress-group-toggle-label",children:et}),(0,o.jsx)(a4.A,{className:"progress-group-toggle-chevron"})]}):null,g?null:"user"===e.type?(0,o.jsx)("div",{className:"user-message-container",children:(0,o.jsx)("div",{className:"user-message-bubble",children:e.content})}):"progress"===e.type?(0,o.jsx)("div",{children:(s=null==(t=(i=e.content.split(" - "))[0])?void 0:t.trim(),l=i.slice(1).join(" - ").trim(),u=e.id===es,h="completed"==(p=(d=w&&u)?"loading":(null==(r=e.result)?void 0:r.error)?"error":"completed")?function(e,t){if(!e)return null;if(t){let r=t(e);if(void 0!==r)return r}return(0,a.createElement)(lF)}(e.actionKind,$.resolveActionIcon):null,(0,o.jsxs)("div",{className:"progress-row",children:[s?(0,o.jsx)("span",{className:`progress-status-icon ${p}`,children:"loading"===p?(0,o.jsx)(a8.A,{spin:!0}):"error"===p?"✗":null!==h?h:"✓"}):null,(0,o.jsxs)("div",{className:"progress-row-content",children:[s?(0,o.jsx)("span",{className:"progress-action-item",children:s}):null,l?(0,o.jsx)("div",{className:"progress-description-wrap",children:(0,o.jsx)(s5,{text:l,className:"progress-description",disabled:!d})}):null,(null==(n=e.result)?void 0:n.error)&&(0,o.jsx)(AI,{error:e.result.error})]})]}))}):"separator"===e.type?(0,o.jsxs)("div",{className:"new-conversation-separator",children:[(0,o.jsx)("div",{className:"separator-line"}),(0,o.jsx)("div",{className:"separator-text-container",children:(0,o.jsx)(AS,{type:"secondary",className:"separator-text",children:e.content})})]}):(0,o.jsxs)("div",{className:"system-message-container",children:[!1!==A.showSystemMessageHeader&&(0,o.jsxs)("div",{className:"system-message-header",children:[(0,o.jsx)(a6.A,{component:c.icon||lL,style:{fontSize:20}}),(0,o.jsx)("span",{className:"system-message-title",children:c.title||"Playground"})]}),(e.content||e.result)&&(0,o.jsx)("div",{className:"system-message-content",children:"result"===e.type?(0,o.jsx)(lz,{result:e.result||null,loading:e.loading||!1,serverValid:!0,serviceMode:V,replayScriptsInfo:e.replayScriptsInfo||null,replayCounter:e.replayCounter||0,loadingProgressText:e.loadingProgressText||"",verticalMode:e.verticalMode||!1,fitMode:"width",actionType:e.actionType,onDownloadReport:A.onDownloadReport}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"system-message-text",children:e.content}),e.loading&&e.loadingProgressText&&(0,o.jsx)("div",{className:"loading-progress-text",children:(0,o.jsx)("span",{children:e.loadingProgressText})})]})})]})]},e.id)}})}),O&&!1!==A.enableScrollToBottom&&(0,o.jsx)(g.Ay,{className:"scroll-to-bottom-button",type:"primary",shape:"circle",icon:(0,o.jsx)(a9.A,{}),onClick:L,size:"large"})]}),(0,o.jsxs)("div",{className:"bottom-input-section",children:[A.showEnvConfigReminder?(0,o.jsx)(lt,{}):null,(0,o.jsx)(AE,{runButtonEnabled:J,form:h,serviceMode:V,selectedType:H,dryMode:d,stoppable:U,loading:w,onRun:Q,onStop:K,actionSpace:S,chrome:A.promptInputChrome,deviceType:_})]}),Y&&c.version&&(0,o.jsx)("div",{className:"version-info-section",children:(0,o.jsxs)("span",{className:"version-text",children:["Midscene.js version: ",c.version]})})]})})}let AO=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:(0,o.jsx)("path",{stroke:"#333",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.333,d:"m12 6-4 4-4-4"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},AP=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:55,height:52,fill:"none",viewBox:"0 0 55 52"},e),r=r={children:[(0,o.jsxs)("mask",{id:"midscene-logo_svg__a",width:55.371,height:52.35,x:-.202,y:-.201,fill:"#000",maskUnits:"userSpaceOnUse",children:[(0,o.jsx)("path",{fill:"#fff",d:"M-.202-.201h55.371v52.35H-.202z"}),(0,o.jsx)("path",{fillRule:"evenodd",d:"M35.38 1.812c1.168 0 1.762 1.405.948 2.244l-.83.853a23.38 23.38 0 0 1 13.968 14.069c2.56 2.523 3.834 6.176 3.714 13.116-.083 4.799-1.883 7.946-4.24 9.99-2.23 1.933-4.832 2.754-6.322 3.224l-.069.022-.088.029q-.675.212-1.328.378a23.22 23.22 0 0 1-13.634 4.399 23.22 23.22 0 0 1-13.632-4.399q-.653-.165-1.328-.379l-.09-.028-.067-.022c-1.49-.47-4.092-1.29-6.323-3.224-2.357-2.044-4.157-5.191-4.24-9.99C1.7 25.154 2.975 21.5 5.535 18.978a23.39 23.39 0 0 1 14.02-14.089l-.81-.833c-.814-.839-.22-2.244.948-2.244zM20.254 6.747A21.4 21.4 0 0 0 7.25 20.086C5.046 22.067 3.68 25.032 3.803 32.06c.146 8.506 6.254 10.434 9.244 11.378l.09.029q.811.256 1.586.437A21.24 21.24 0 0 0 27.5 48.152l.001-.001a21.24 21.24 0 0 1-12.776-4.247 22 22 0 0 1-1.586-.437l-.09-.029c-2.99-.944-9.097-2.872-9.243-11.379-.122-7.027 1.243-9.992 3.447-11.973a21.4 21.4 0 0 1 13.003-13.34m11.359 41.007q.128-.023.255-.05h.002zm.88-.191.215-.051.002-.001zM21.084 6.465h.001",clipRule:"evenodd"})]}),(0,o.jsx)("path",{fill:"#3A4953",fillRule:"evenodd",d:"M35.38 1.812c1.168 0 1.762 1.405.948 2.244l-.83.853a23.38 23.38 0 0 1 13.968 14.069c2.56 2.523 3.834 6.176 3.714 13.116-.083 4.799-1.883 7.946-4.24 9.99-2.23 1.933-4.832 2.754-6.322 3.224l-.069.022-.088.029q-.675.212-1.328.378a23.22 23.22 0 0 1-13.634 4.399 23.22 23.22 0 0 1-13.632-4.399q-.653-.165-1.328-.379l-.09-.028-.067-.022c-1.49-.47-4.092-1.29-6.323-3.224-2.357-2.044-4.157-5.191-4.24-9.99C1.7 25.154 2.975 21.5 5.535 18.978a23.39 23.39 0 0 1 14.02-14.089l-.81-.833c-.814-.839-.22-2.244.948-2.244zM20.254 6.747A21.4 21.4 0 0 0 7.25 20.086C5.046 22.067 3.68 25.032 3.803 32.06c.146 8.506 6.254 10.434 9.244 11.378l.09.029q.811.256 1.586.437A21.24 21.24 0 0 0 27.5 48.152l.001-.001a21.24 21.24 0 0 1-12.776-4.247 22 22 0 0 1-1.586-.437l-.09-.029c-2.99-.944-9.097-2.872-9.243-11.379-.122-7.027 1.243-9.992 3.447-11.973a21.4 21.4 0 0 1 13.003-13.34m11.359 41.007q.128-.023.255-.05h.002zm.88-.191.215-.051.002-.001zM21.084 6.465h.001",clipRule:"evenodd"}),(0,o.jsx)("path",{fill:"#3A4953",d:"m36.328 4.056 1.3 1.263zm-.83.853L34.2 3.646l-1.95 2.006 2.628.96zm13.968 14.069-1.707.609.14.39.295.291zm3.714 13.116 1.812.031zm-4.24 9.99 1.187 1.369zm-6.322 3.224.543 1.73.002-.002zm-.069.022-.543-1.729-.012.004zm-.088.029.546 1.727.01-.003zm-1.328.378-.446-1.757-.335.086-.28.202zm-13.634 4.399v1.812zm-13.632-4.399 1.06-1.47-.28-.202-.334-.084zm-1.328-.379-.55 1.727.004.001zm-.09-.028-.55 1.727zm-.067-.022.55-1.726-.005-.002zm-6.323-3.224-1.187 1.369zm-4.24-9.99-1.811.031zm3.715-13.116 1.272 1.29.295-.29.14-.391zm14.02-14.089.618 1.704 2.636-.955-1.954-2.011zm-.81-.833-1.3 1.262zm.948-2.244V0zm.563 4.935.615 1.704-1.23-3.409zM7.25 20.086l1.211 1.347.357-.32.151-.456zM3.803 32.06l-1.812.03zm9.244 11.378.55-1.726-.004-.002zm.09.029-.55 1.727h.004zm1.586.437 1.087-1.45-.304-.227-.369-.087zM27.5 48.152v1.812h.75l.532-.531zm.001-.001 1.282 1.281 3.093-3.093H27.5zm-12.776-4.247 1.087-1.45-.304-.227-.369-.087zm-1.586-.437-.55 1.727h.004zm-.09-.029.55-1.726-.004-.002zM3.805 32.06l-1.812.032zm3.447-11.973 1.211 1.347.357-.32.151-.456zm24.043 27.727.32 1.784-.64-3.567zm-.573.096-.271-1.792.542 3.584zm.892-.155-.348-1.778.695 3.557zm.255-.05.37 1.774.23-.048.21-.105zm.002 0 .81 1.62-1.179-3.395zm.623-.141L32.07 45.8l.845 3.524zm.215-.051.441 1.757.192-.048.177-.089zm.002-.001.81 1.62-1.251-3.378zM21.084 6.465V4.653h-.278l-.266.084zm-.572.191-.593-1.712 1.186 3.424zm.573-.19.545 1.728-.545-3.54zM35.38 1.811v1.812a.49.49 0 0 1-.351-.83l1.3 1.262 1.3 1.262C39.558 3.33 38.15 0 35.379 0zm.949 2.244-1.3-1.264-.829.854 1.3 1.263 1.298 1.263.83-.853zm-.83.853-.621 1.702a21.57 21.57 0 0 1 12.882 12.976l1.707-.61 1.706-.608A25.2 25.2 0 0 0 36.12 3.207zm13.968 14.069-1.272 1.29c2.043 2.015 3.29 5.063 3.174 11.795l1.812.03 1.812.032c.123-7.147-1.178-11.405-4.254-14.438zm3.714 13.116-1.812-.031c-.074 4.3-1.658 6.955-3.615 8.651l1.187 1.37 1.187 1.369c2.758-2.391 4.773-6.03 4.865-11.328zm-4.24 9.99-1.187-1.37c-1.919 1.663-4.188 2.395-5.68 2.866l.545 1.728.545 1.728c1.488-.469 4.421-1.379 6.964-3.583zm-6.322 3.224-.543-1.728-.069.021.543 1.729.544 1.729.068-.022zm-.069.022-.555-1.725-.089.029.556 1.724.556 1.725.088-.028zm-.088.029-.546-1.728q-.626.197-1.228.35l.446 1.756.445 1.756q.704-.178 1.429-.407zm-1.328.378-1.06-1.47a21.4 21.4 0 0 1-12.574 4.057v3.624c5.48 0 10.562-1.759 14.694-4.742zm-13.634 4.399v-1.812a21.4 21.4 0 0 1-12.571-4.056l-1.06 1.469-1.061 1.47a25.03 25.03 0 0 0 14.692 4.74zm-13.632-4.399.446-1.757q-.602-.151-1.228-.35l-.546 1.728-.546 1.728q.723.229 1.429.407zm-1.328-.379.55-1.726-.09-.029-.55 1.727-.55 1.727.09.028zm-.09-.028.55-1.727-.067-.021-.55 1.726-.55 1.727.067.022zm-.067-.022.545-1.728c-1.492-.47-3.762-1.202-5.681-2.866l-1.187 1.37-1.187 1.369c2.543 2.204 5.477 3.114 6.964 3.583zm-6.323-3.224 1.187-1.37c-1.957-1.696-3.54-4.35-3.615-8.651l-1.811.03-1.812.032c.091 5.297 2.106 8.937 4.864 11.328zm-4.24-9.99 1.812-.031c-.116-6.733 1.13-9.78 3.175-11.795l-1.272-1.29-1.272-1.29C1.185 20.72-.115 24.977.008 32.124zm3.715-13.116 1.707.609A21.57 21.57 0 0 1 20.172 6.593l-.617-1.704-.618-1.703a25.2 25.2 0 0 0-15.11 15.183zm14.02-14.089 1.3-1.262-.81-.834-1.3 1.263-1.3 1.262.811.834zm-.81-.833 1.3-1.263a.49.49 0 0 1-.351.831V1.812L19.691 0c-2.771 0-4.177 3.332-2.247 5.318zm.948-2.244v1.812H35.38V0H19.692zm.563 4.935-.616-1.705A23.2 23.2 0 0 0 5.53 19.514l1.72.572 1.72.571a19.58 19.58 0 0 1 11.9-12.206zM7.25 20.086l-1.212-1.348C3.27 21.228 1.866 24.83 1.99 32.091l1.812-.032 1.811-.03c-.117-6.794 1.208-9.122 2.847-10.596zM3.803 32.06l-1.812.03c.082 4.753 1.861 7.854 4.18 9.864 2.236 1.938 4.852 2.746 6.33 3.212l.546-1.728.546-1.728c-1.511-.477-3.445-1.105-5.047-2.494-1.519-1.316-2.867-3.433-2.932-7.188zm9.244 11.378-.55 1.727.09.029.55-1.727.55-1.727-.09-.028zm.09.029-.546 1.728q.875.276 1.718.474l.414-1.765.414-1.764q-.706-.164-1.454-.401zm1.586.437-1.086 1.45a23.05 23.05 0 0 0 13.862 4.61V46.34a19.43 19.43 0 0 1-11.69-3.886zM27.5 48.152l1.282 1.281v-.001l-1.28-1.281-1.282-1.282-.001.001zm.001-.001v-1.812a19.43 19.43 0 0 1-11.69-3.885l-1.086 1.45-1.086 1.45A23.05 23.05 0 0 0 27.5 49.964zm-12.776-4.247.414-1.764c-.472-.11-.954-.243-1.454-.401l-.546 1.728-.546 1.728q.875.276 1.718.474zm-1.586-.437.55-1.727-.09-.028-.55 1.726-.55 1.727.09.029zm-.09-.029.546-1.728c-1.511-.477-3.444-1.105-5.047-2.494-1.518-1.316-2.866-3.433-2.93-7.188l-1.812.032-1.812.03c.082 4.752 1.86 7.853 4.18 9.864 2.235 1.938 4.85 2.745 6.33 3.212zM3.805 32.06l1.811-.03c-.117-6.794 1.208-9.122 2.847-10.596l-1.211-1.347-1.212-1.348c-2.767 2.49-4.172 6.092-4.047 13.353zm3.447-11.973 1.72.571A19.58 19.58 0 0 1 20.87 8.451l-.615-1.704-.616-1.705A23.2 23.2 0 0 0 5.532 19.514zm24.043 27.727-.32-1.783q-.266.048-.524.087l.271 1.792.271 1.791q.319-.048.622-.103zm-.573.096.272 1.791q.316-.048.622-.103l-.32-1.784-.321-1.783a20 20 0 0 1-.524.087zm.892-.155.347 1.779c.061-.012.179-.034.278-.055l-.37-1.774-.369-1.774c-.071.015-.124.025-.234.046zm.255-.05.81 1.621h.003l-.81-1.622-.811-1.62h-.002zm.002 0-.369-1.775-.235.047.347 1.778.347 1.779.28-.056zm.623-.141.422 1.762c.023-.006.159-.037.234-.056l-.441-1.757-.441-1.758-.197.047zm.215-.051.81 1.62h.002l-.81-1.621-.81-1.621h-.002zm.002-.001-.441-1.758-.199.047.423 1.763.422 1.762.236-.057zM21.084 6.465l-.544-1.728q-.325.104-.621.207l.593 1.712.593 1.712q.273-.095.524-.174zm-.572.191.594 1.712q.27-.093.524-.174l-.545-1.729-.544-1.728q-.323.103-.622.207zm.573-.19V4.652zv1.812z",mask:"url(#midscene-logo_svg__a)"}),(0,o.jsx)("mask",{id:"midscene-logo_svg__b",width:53,height:50,x:1,y:1,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"},children:(0,o.jsx)("path",{fill:"#F0F0F0",fillRule:"evenodd",d:"M24.214 12.537a4.63 4.63 0 0 0 6.64 0l6.608-6.805a23.4 23.4 0 0 1 12 13.247c2.56 2.524 3.833 6.176 3.714 13.114-.083 4.8-1.883 7.947-4.24 9.991-2.231 1.934-4.833 2.755-6.322 3.225l-.158.05q-.675.213-1.328.378a23.22 23.22 0 0 1-13.632 4.399 23.22 23.22 0 0 1-13.632-4.399q-.654-.165-1.33-.378l-.157-.05c-1.49-.47-4.092-1.291-6.322-3.225-2.358-2.044-4.157-5.192-4.24-9.99-.12-6.941 1.155-10.593 3.716-13.117a23.4 23.4 0 0 1 12.05-13.27zM35.38 1.812c1.168 0 1.763 1.406.949 2.244l-6.895 7.1c-.52.534-1.21.8-1.899.8h-.012a2.65 2.65 0 0 1-1.536-.503 2.7 2.7 0 0 1-.35-.299L19.552 4.89l.001-.001-.808-.833c-.814-.838-.22-2.244.949-2.244z",clipRule:"evenodd"})}),(0,o.jsxs)("g",{mask:"url(#midscene-logo_svg__b)",children:[(0,o.jsx)("path",{fill:"#fff",d:"M-4.044-9.086h63.087V65.49H-4.044z"}),(0,o.jsx)("g",{filter:"url(#midscene-logo_svg__c)",opacity:.8,children:(0,o.jsx)("path",{fill:"#005EEC",fillOpacity:.01,d:"M41.85 43.36c-.378-.748-3.453.67-7.362 2.242s-7.175 2.702-6.798 3.45c.378.746 3.853.078 7.763-1.494s6.773-3.452 6.396-4.199"})})]}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__d)",d:"M5.773 18.412h43.601v24.223H5.773z"}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__e)",d:"M5.773 18.473h43.086v24.454H5.773z"}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__f)",d:"M5.926 18.075h43.092v24.457H5.926z"}),(0,o.jsx)("foreignObject",{width:27.157,height:19.138,x:21.193,y:36.687,children:(0,o.jsx)("div",{xmlns:"http://www.w3.org/1999/xhtml",style:{backdropFilter:"blur(2.96px)",clipPath:"url(#midscene-logo_svg__g)",height:"100%",width:"100%"}})}),(0,o.jsx)("path",{fill:"#3A4953",fillRule:"evenodd",stroke:"#3A4953",strokeWidth:.514,d:"m14.619 40.412.082.025c2.186.657 4.053.825 6.578.932.365.016.704-.127.932-.363l3.08-5.674c.94-1.735 3.484-1.735 4.426 0l3.08 5.674c.227.236.566.379.931.363 2.525-.107 4.392-.275 6.578-.932l.082-.025c1.384-.416 3.235-.984 4.774-2.253 1.475-1.216 2.74-3.144 2.8-6.483.066-3.66-.372-5.858-1.066-7.316-.672-1.411-1.641-2.254-2.965-3.093-1.305-.828-2.922-1.54-4.435-1.54H37.44c-1.566 0-3.128.159-4.66.473l-.265.055a24.45 24.45 0 0 1-10.02-.043 22 22 0 0 0-4.582-.484h-2.402c-1.895 0-3.3.818-4.435 1.539-1.359.862-2.325 1.704-2.988 3.106-.686 1.45-1.11 3.637-1.043 7.303.06 3.339 1.325 5.267 2.8 6.483 1.539 1.269 3.39 1.837 4.774 2.253Zm17.133 1.319-3.146-5.796c-.463-.854-1.742-.854-2.205 0l-3.146 5.796a2.48 2.48 0 0 1-2.03.901c-2.556-.11-4.549-.282-6.888-.985l-.082-.024c-2.74-.824-8.339-2.505-8.473-9.924-.136-7.494 1.7-9.65 4.617-11.5 1.164-.738 2.832-1.735 5.112-1.735h2.402c1.63 0 3.256.172 4.847.512 3.127.67 6.368.683 9.5.04l.266-.054a24.5 24.5 0 0 1 4.914-.498h2.056c1.865 0 3.727.857 5.112 1.736 2.852 1.808 4.753 4.005 4.618 11.499-.135 7.419-5.733 9.1-8.474 9.924l-.082.024c-2.339.703-4.332.876-6.888.985a2.48 2.48 0 0 1-2.03-.901Z",clipRule:"evenodd","data-figma-bg-blur-radius":5.911}),(0,o.jsxs)("defs",{children:[(0,o.jsx)("pattern",{id:"midscene-logo_svg__d",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__h",transform:"scale(.00483 .0087)"})}),(0,o.jsx)("pattern",{id:"midscene-logo_svg__e",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__i",transform:"scale(.009 .01587)"})}),(0,o.jsx)("pattern",{id:"midscene-logo_svg__f",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__j",transform:"scale(.009 .01587)"})}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__h",width:207,height:115,preserveAspectRatio:"none"}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__i",width:111,height:63,preserveAspectRatio:"none"}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__j",width:111,height:63,preserveAspectRatio:"none"}),(0,o.jsx)("clipPath",{id:"midscene-logo_svg__g",transform:"translate(-21.193 -36.687)",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"m14.619 40.412.082.025c2.186.657 4.053.825 6.578.932.365.016.704-.127.932-.363l3.08-5.674c.94-1.735 3.484-1.735 4.426 0l3.08 5.674c.227.236.566.379.931.363 2.525-.107 4.392-.275 6.578-.932l.082-.025c1.384-.416 3.235-.984 4.774-2.253 1.475-1.216 2.74-3.144 2.8-6.483.066-3.66-.372-5.858-1.066-7.316-.672-1.411-1.641-2.254-2.965-3.093-1.305-.828-2.922-1.54-4.435-1.54H37.44c-1.566 0-3.128.159-4.66.473l-.265.055a24.45 24.45 0 0 1-10.02-.043 22 22 0 0 0-4.582-.484h-2.402c-1.895 0-3.3.818-4.435 1.539-1.359.862-2.325 1.704-2.988 3.106-.686 1.45-1.11 3.637-1.043 7.303.06 3.339 1.325 5.267 2.8 6.483 1.539 1.269 3.39 1.837 4.774 2.253m17.133 1.319-3.146-5.796c-.463-.854-1.742-.854-2.205 0l-3.146 5.796a2.48 2.48 0 0 1-2.03.901c-2.556-.11-4.549-.282-6.888-.985l-.082-.024c-2.74-.824-8.339-2.505-8.473-9.924-.136-7.494 1.7-9.65 4.617-11.5 1.164-.738 2.832-1.735 5.112-1.735h2.402c1.63 0 3.256.172 4.847.512 3.127.67 6.368.683 9.5.04l.266-.054a24.5 24.5 0 0 1 4.914-.498h2.056c1.865 0 3.727.857 5.112 1.736 2.852 1.808 4.753 4.005 4.618 11.499-.135 7.419-5.733 9.1-8.474 9.924l-.082.024c-2.339.703-4.332.876-6.888.985a2.48 2.48 0 0 1-2.03-.901",clipRule:"evenodd"})}),(0,o.jsxs)("filter",{id:"midscene-logo_svg__c",width:27.157,height:19.138,x:21.193,y:36.687,colorInterpolationFilters:"sRGB",filterUnits:"userSpaceOnUse",children:[(0,o.jsx)("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),(0,o.jsx)("feBlend",{in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),(0,o.jsx)("feGaussianBlur",{result:"effect1_foregroundBlur_8049_134028",stdDeviation:3.212})]})]})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function AR(e){var t;return null==e||null==(t=e.platformSelector)?void 0:t.fieldKey}function AM(){return(0,o.jsx)(AO,{"aria-hidden":"true",className:"session-setup-select-icon"})}let AT="Create Agent";function AN(e){var t,r,n,i;let{form:a,sessionSetup:s,sessionSetupError:l,sessionViewState:A,sessionLoading:c,sessionMutating:u,onCreateSession:d}=e,p=u||c||"blocked"===A.setupState,h=null!=(t=null==s?void 0:s.primaryActionLabel)?t:AT,f=null!=(r=null==s?void 0:s.title)?r:AT,g=null!=(n=null==s?void 0:s.description)?n:"Create a platform session before running actions.";return(0,o.jsx)("div",{className:"session-setup-panel",children:(0,o.jsxs)("div",{className:"session-setup-card",children:[(0,o.jsx)(AP,{"aria-hidden":"true",className:"session-setup-logo"}),(0,o.jsx)("h1",{className:"session-setup-title",children:f}),(0,o.jsx)("p",{className:"session-setup-description",children:g}),"blocked"===A.setupState&&A.setupBlockingReason&&(0,o.jsx)(y.A,{type:"error",showIcon:!0,message:"Setup blocked",description:A.setupBlockingReason,className:"session-setup-alert"}),l?(0,o.jsx)(y.A,{type:"error",showIcon:!0,message:"Failed to load setup",description:l,className:"session-setup-alert"}):null,(null==s?void 0:s.notice)?(0,o.jsx)(y.A,{type:s.notice.type,showIcon:!0,message:s.notice.message,description:s.notice.description,className:"session-setup-alert"}):null,(0,o.jsxs)(aF.A,{form:a,layout:"vertical",className:"session-setup-form",onFinish:()=>{p||d()},children:[(null!=(i=null==s?void 0:s.fields)?i:[]).map(e=>(0,o.jsx)(aF.A.Item,{label:e.label,name:e.key,tooltip:e.description,rules:e.required?[{required:!0,message:`${e.label} is required`}]:void 0,children:function(e,t){if("number"===e.type)return(0,o.jsx)(Aa.A,{style:{width:"100%"},placeholder:e.placeholder});if("select"===e.type){var r,n;let i=AR(t),a=function(e,t){var r;if(AR(t)!==e.key||!(null==t||null==(r=t.platformRegistry)?void 0:r.length))return e.options;let n=t.platformRegistry.map(e=>({label:e.label,value:e.id,description:[e.description,e.unavailableReason].filter(Boolean).join(" \xb7 ")||void 0}));return n.length>0?n:e.options}(e,t);return i===e.key&&(null==t||null==(r=t.platformSelector)?void 0:r.variant)==="cards"?(0,o.jsx)(l$.A.Group,{className:"platform-selector-group",children:(a||[]).map(e=>(0,o.jsxs)(l$.A.Button,{value:e.value,className:"platform-selector-card",children:[(0,o.jsx)("div",{className:"platform-selector-title",children:e.label}),e.description?(0,o.jsx)("div",{className:"platform-selector-description",children:e.description}):null]},String(e.value)))}):(0,o.jsx)(Ao.A,{placeholder:e.placeholder,suffixIcon:(0,o.jsx)(AM,{}),options:(null!=(n=null!=a?a:e.options)?n:[]).map(e=>({label:e.label,value:e.value,description:e.description})),optionRender:e=>{let t=e.data.description;return t?(0,o.jsxs)("div",{className:"session-select-option",children:[(0,o.jsx)("div",{className:"session-select-option-label",children:e.data.label}),(0,o.jsx)("div",{className:"session-select-option-description",children:t})]}):e.data.label}})}return(0,o.jsx)(m.A,{placeholder:e.placeholder})}(e,s)},e.key)),(0,o.jsx)("button",{type:"submit",className:"session-setup-submit",disabled:p,children:u?"Creating...":h})]})]})})}function AD(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function AB(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function Az(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function AL(e){var t,r,n,i,a,s;let l,{controller:A,appVersion:c,title:u="Playground",branding:d,playgroundConfig:p,header:h,className:m,playgroundClassName:v,notConnectedFallback:b}=e,{state:w,actions:E}=A,k=AB(AD({},l={showContextPreview:!1,layout:"vertical",showVersionInfo:!1,enableScrollToBottom:!1,serverMode:!0,showEnvConfigReminder:!1,showClearButton:!1,showSystemMessageHeader:!1,promptInputChrome:{variant:"minimal"},executionFlow:{collapsible:!0},deviceType:w.deviceType,executionUx:{hints:w.executionUxHints,countdownSeconds:w.countdownSeconds}},p),{executionFlow:AD({},l.executionFlow,null==p?void 0:p.executionFlow),executionUx:AD({},l.executionUx,null==p?void 0:p.executionUx)}),x=(t=w.runtimeInfo,r=w.deviceType,AB(AD({},d),{title:null!=(n=null==t?void 0:t.title)?n:u,version:c,targetName:null!=(s=null!=(a=null!=(i=null==t?void 0:t.platformId)?i:null==d?void 0:d.targetName)?a:r)?s:"screen"}));return(0,o.jsxs)("div",{className:["playground-conversation-panel",m].filter(Boolean).join(" "),children:[(0,o.jsx)(f.A,{open:null!==w.countdown,footer:(0,o.jsx)(g.Ay,{onClick:E.finishCountdown,type:"default",children:"Skip countdown"}),closable:!0,maskClosable:!0,onCancel:E.finishCountdown,centered:!0,width:400,styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.75)"}},children:(0,o.jsxs)("div",{style:{textAlign:"center",padding:"40px 20px"},children:[(0,o.jsx)("div",{style:{fontSize:"120px",fontWeight:"bold",color:"GO!"===w.countdown?"#52c41a":"#1890ff",marginBottom:"24px",lineHeight:1},children:w.countdown}),(0,o.jsx)("div",{style:{fontSize:"18px",fontWeight:500,marginBottom:"12px"},children:"Automation Starting Soon"}),(0,o.jsxs)("div",{style:{fontSize:"14px",color:"var(--midscene-text-secondary)"},children:["The selected session requested a countdown before execution.",(0,o.jsx)("br",{}),"Please wait until the run starts."]})]})}),h,(0,o.jsx)("div",{className:"playground-conversation-body",children:w.serverOnline?w.sessionViewState.connected?(0,o.jsx)(Aj,{playgroundSDK:w.playgroundSDK,config:k,branding:x,className:["playground-container","playground-conversation-skin",v].filter(Boolean).join(" ")}):void 0!==b?(0,o.jsx)(o.Fragment,{children:b}):(0,o.jsx)(AN,{form:w.form,sessionSetup:w.sessionSetup,sessionSetupError:w.sessionSetupError,sessionViewState:w.sessionViewState,sessionLoading:w.sessionLoading,sessionMutating:w.sessionMutating,onCreateSession:()=>{var e;return(e=function*(){yield E.createSession()},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){Az(o,n,i,a,s,"next",e)}function s(e){Az(o,n,i,a,s,"throw",e)}a(void 0)})})()}}):(0,o.jsx)("div",{className:"playground-conversation-offline",children:(0,o.jsx)(y.A,{type:"warning",showIcon:!0,message:"Playground server offline",description:"Reconnect the runtime to continue using the Android playground."})})})]})}let{Content:AF}=Y.A;function AK(e){var t;let{serverUrl:r,appVersion:n,title:i="Playground",defaultDeviceType:s="web",branding:A,playgroundConfig:c,offlineTitle:u="Midscene Playground",offlineStatusText:d="Server offline...",pollIntervalMs:h=5e3}=e,[f,g]=(0,a.useState)(!1),m=function(e){var t;let{serverUrl:r,defaultDeviceType:n="web",pollIntervalMs:i=5e3,countdownSeconds:s=3,initialFormValues:l,onCountdownFinish:A}=e,{message:c}=p.A.useApp(),[u]=aF.A.useForm(),d=(0,a.useRef)(l);(0,a.useLayoutEffect)(()=>{let e=d.current;if(e)for(let[t,r]of Object.entries(e))void 0===u.getFieldValue(t)&&u.setFieldsValue({[t]:r})},[u]);let h=null!=(t=aF.A.useWatch([],u))?t:{},[f,g]=(0,a.useState)(null),[m,y]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[w,E]=(0,a.useState)(!1),[k,x]=(0,a.useState)(!1),S=X(e=>e.config),C=(0,a.useMemo)(()=>JSON.stringify(Object.entries(S).sort((e,t)=>{let[r]=e,[n]=t;return r.localeCompare(n)})),[S]),I=a2(m),j="string"==typeof I?h[I]:void 0,O=(0,a.useMemo)(()=>new aL({type:"remote-execution",serverUrl:r}),[r]),{serverOnline:P,isUserOperating:R,deviceType:M,runtimeInfo:T,executionUxHints:N,refreshServerState:D}=function(e,t,r){let[n,i]=(0,a.useState)(!1),[o,s]=(0,a.useState)(!1),[l,A]=(0,a.useState)(t),[c,u]=(0,a.useState)(null),[d,p]=(0,a.useState)([]),h=(0,a.useRef)(null),f=(0,a.useRef)(!0);(0,a.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]),(0,a.useEffect)(()=>{h.current=c},[c]),(0,a.useEffect)(()=>{e.onProgressUpdate(e=>{s(!!e)})},[e]);let g=(0,a.useCallback)(()=>{var r;return(r=function*(){try{let a=yield e.checkStatus();if(!f.current)return;if(i(a),!a){h.current=null,u(null),p([]);return}try{let r=yield e.getRuntimeInfo();if(!f.current)return;if(r){h.current=r,u(r),A(eS(r,t)),p(eC(r));return}}catch(e){console.warn("Failed to get runtime info:",e)}try{var r,n,o;let i=yield e.getInterfaceInfo();if(!f.current||!(null==i?void 0:i.type))return;let a=(r=h.current,n=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},r),o=o={interface:i,preview:(null==r?void 0:r.preview)||{kind:"none",capabilities:[]},executionUxHints:(null==r?void 0:r.executionUxHints)||[],metadata:(null==r?void 0:r.metadata)||{}},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);h.current=a,u(a),A(eS(a,t)),p(eC(a))}catch(e){console.warn("Failed to get interface info:",e)}}catch(e){if(!f.current)return;console.error("Failed to check server status:",e),i(!1)}},function(){var e=this,t=arguments;return new Promise(function(n,i){var o=r.apply(e,t);function a(e){aQ(o,n,i,a,s,"next",e)}function s(e){aQ(o,n,i,a,s,"throw",e)}a(void 0)})})()},[t,e]);return(0,a.useEffect)(()=>{g();let e=window.setInterval(()=>{g()},r);return()=>{window.clearInterval(e)}},[r,g]),{serverOnline:n,isUserOperating:o,deviceType:l,runtimeInfo:c,executionUxHints:d,refreshServerState:g}}(O,n,i),B=(0,a.useMemo)(()=>{let e,t;return t=(e=(null==T?void 0:T.metadata)||{}).setupState,{connected:!!e.sessionConnected,displayName:"string"==typeof e.sessionDisplayName?e.sessionDisplayName:void 0,setupState:"blocked"===t||"ready"===t||"required"===t?t:"ready",setupBlockingReason:"string"==typeof e.setupBlockingReason?e.setupBlockingReason:void 0}},[T]),z=(0,a.useRef)(null),L=(0,a.useRef)(null),F=(0,a.useRef)(!0),K=(0,a.useRef)(void 0),U=(0,a.useRef)(null),Q=(0,a.useRef)(null),Z=(0,a.useRef)(!1),J=(0,a.useRef)(null),H=(0,a.useRef)(null),V=(0,a.useRef)(null),q=(0,a.useCallback)(()=>a0(function*(){if(!aJ(S))return J.current=null,V.current=null,!0;if(J.current===C)return!0;let e=V.current;if((null==e?void 0:e.signature)===C)return e.promise;let t={promise:Promise.resolve(!0),signature:C},r=a0(function*(){try{var e;return yield(e=function*(){return!!aJ(S)&&(yield O.overrideConfig(S),!0)},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){aZ(o,n,i,a,s,"next",e)}function s(e){aZ(o,n,i,a,s,"throw",e)}a(void 0)})})(),J.current=C,!0}catch(e){return G(e,{title:"Failed to apply AI configuration"}),!1}finally{V.current===t&&(V.current=null)}})();return t.promise=r,V.current=t,r})(),[S,C,O]),W=(0,a.useCallback)(()=>{let e=null!==z.current;null!==z.current&&(window.clearInterval(z.current),z.current=null);let t=L.current;L.current=null,F.current&&g(null),null==t||t(),e&&F.current&&(null==A||A())},[A]),Y=(0,a.useCallback)(()=>a0(function*(){if(!(s<=0))return W(),new Promise(e=>{L.current=e;let t=s;F.current&&g(t),z.current=window.setInterval(()=>{if((t-=1)>0){F.current&&g(t);return}if(0===t){F.current&&g("GO!");return}W()},1e3)})})(),[s,W]);(0,a.useEffect)(()=>(F.current=!0,()=>{F.current=!1,W()}),[W]),(0,a.useEffect)(()=>N.includes("countdown-before-run")?(O.setBeforeActionHook(()=>a0(function*(){yield Y()})()),()=>{O.setBeforeActionHook(void 0)}):void O.setBeforeActionHook(void 0),[N,O,Y]);let _=(0,a.useCallback)(e=>a0(function*(){let t=a1({},u.getFieldsValue(!0),e||{});E(!0);try{let r=yield O.getSessionSetup(e);y(r),b(null);let n=a2(r);K.current=n&&"string"==typeof t[n]?t[n]:void 0,u.setFieldsValue(aK(r,t))}catch(e){console.error("Failed to load session setup:",e),b(e instanceof Error?e.message:"Failed to load session setup")}finally{E(!1)}})(),[u,O]),$=(0,a.useCallback)((e,t)=>a0(function*(){if(H.current)return H.current;let r=a0(function*(){var r;let n;try{if(Z.current=!0,x(!0),!(yield q()))return!1;let r=null!=e?e:yield u.validateFields();return n=r,yield O.createSession(r),(null==t?void 0:t.silent)||(Q.current=null),(null==t?void 0:t.silent)||c.success("Agent created"),yield D(),!0}catch(e){if(e.errorFields)return!1;if(null==t?void 0:t.silent)return Q.current=aX(n),!1;return G(e,null!=(r=function(e){let t;if(t=aq(e).toLowerCase(),aV.test(t)&&(t.includes("puppeteer browsers install chrome")||t.includes("cache path")||t.includes("puppeteer")))return{description:(0,o.jsx)(a_,{error:e}),duration:0,title:"Failed to create Agent"}}(e))?r:{title:"Failed to create Agent"}),!1}finally{Z.current=!1,x(!1)}})(),n={promise:null};return n.promise=r.finally(()=>{H.current===n.promise&&(H.current=null)}),H.current=n.promise,n.promise})(),[q,u,c,O,D]),ee=(0,a.useCallback)(()=>a0(function*(){try{Q.current=aX(aU(m,u.getFieldsValue(!0))),Z.current=!0,x(!0),yield O.destroySession(),c.success("Session disconnected"),yield D(),yield _()}catch(e){G(e,{title:"Failed to disconnect session"})}finally{Z.current=!1,x(!1)}})(),[u,c,O,D,_,m]);return(0,a.useEffect)(()=>{P&&q()},[q,P]),(0,a.useEffect)(()=>{if(!P||B.connected)return;let e=!1,t=!1,r=()=>a0(function*(){if(!e&&!t){t=!0;try{yield _(u.getFieldsValue(!0))}finally{t=!1}}})();r();let n=window.setInterval(()=>{r()},i);return()=>{e=!0,window.clearInterval(n)}},[u,i,_,P,B.connected]),(0,a.useEffect)(()=>{if(!P||B.connected||!j)return;let e=a2(m);if(e&&K.current!==j){var t,r;_((t=a1({},u.getFieldsValue(!0)),r=r={[e]:j},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))}},[u,_,j,P,m,B.connected]),(0,a.useEffect)(()=>{if(B.connected){U.current=null;return}if(!P||w||k||Z.current||v)return;let e=aU(m,u.getFieldsValue(!0)),{signature:t,shouldCreate:r}=function(e){let{autoCreateInput:t,lastAttemptedSignature:r,blockedSignature:n}=e,i=aX(t);return i?{signature:i,shouldCreate:i!==r&&i!==n}:{signature:null,shouldCreate:!1}}({autoCreateInput:e,lastAttemptedSignature:U.current,blockedSignature:Q.current});if(!r||!t){t||(U.current=null);return}U.current=t,a0(function*(){(yield $(null!=e?e:void 0,{silent:!0}))||(U.current=null)})()},[$,u,P,w,k,m,v,B.connected]),{state:{playgroundSDK:O,form:u,formValues:h,serverOnline:P,isUserOperating:R,deviceType:M,runtimeInfo:T,executionUxHints:N,sessionViewState:B,sessionSetup:m,sessionSetupError:v,sessionLoading:w,sessionMutating:k,countdown:f,countdownSeconds:s},actions:{refreshServerState:D,refreshSessionSetup:_,createSession:$,destroySession:ee,finishCountdown:W}}}({serverUrl:r,defaultDeviceType:s,countdownSeconds:null==c||null==(t=c.executionUx)?void 0:t.countdownSeconds,pollIntervalMs:h});return((0,a.useEffect)(()=>{let e=()=>{g(window.innerWidth<=1024)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),m.state.serverOnline)?(0,o.jsx)(eM,{children:(0,o.jsx)(Y.A,{className:"app-container playground-container",children:(0,o.jsx)(AF,{className:"app-content",children:(0,o.jsxs)(_.YZ,{autoSaveId:"playground-layout",direction:f?"vertical":"horizontal",children:[(0,o.jsx)(_.Zk,{defaultSize:f?67:32,maxSize:f?85:60,minSize:f?67:25,className:"app-panel left-panel",children:(0,o.jsxs)("div",{className:"panel-content left-panel-content",children:[(0,o.jsx)("div",{className:"playground-panel-header",children:(0,o.jsxs)("div",{className:"header-row",children:[(0,o.jsx)(l,{}),(0,o.jsx)(W,{showTooltipWhenEmpty:!1,showModelName:!1,playgroundSDK:m.state.playgroundSDK})]})}),(0,o.jsx)("div",{className:"playground-panel-playground",children:(0,o.jsx)(AL,{controller:m,appVersion:n,branding:A,playgroundConfig:c,title:i})})]})}),(0,o.jsx)(_.TW,{className:"panel-resize-handle"}),(0,o.jsx)(_.Zk,{defaultSize:f?33:68,minSize:f?15:40,className:"app-panel right-panel",children:(0,o.jsx)("div",{className:"panel-content right-panel-content",children:m.state.sessionViewState.connected?(0,o.jsx)(eP,{playgroundSDK:m.state.playgroundSDK,runtimeInfo:m.state.runtimeInfo,serverUrl:r,serverOnline:m.state.serverOnline,isUserOperating:m.state.isUserOperating}):(0,o.jsx)(ee,{})})})]})})})}):(0,o.jsx)(eM,{children:(0,o.jsx)("div",{className:"server-offline-container",children:(0,o.jsxs)("div",{className:"server-offline-message",children:[(0,o.jsx)(l,{}),(0,o.jsxs)("div",{className:"server-offline-content",children:[(0,o.jsxs)("div",{className:"server-offline-icon",children:[(0,o.jsx)(a3,{className:"icon-background"}),(0,o.jsx)(a5,{className:"icon-foreground"})]}),(0,o.jsx)("h1",{children:u}),(0,o.jsx)("p",{className:"connection-status",children:d})]})]})})})}let AU=document.getElementById("root");if(!AU)throw Error("Root element not found");(0,s.createRoot)(AU).render((0,o.jsx)(a.StrictMode,{children:(0,o.jsx)(function(){return(0,o.jsx)(AK,{serverUrl:"",appVersion:"1.10.3",title:"Playground",offlineTitle:"Midscene Playground"})},{})}))},1182(){},3198(e,t,r){"use strict";r.d(t,{ZH:()=>d});var n=r(3244),i=r(5207),o=r(3078),a=r.n(o),s=r(217),l=r(6987),A=r(9152),c=r(5409);let u="midscene_run",d=e=>{if(!A.$9)return"";let t=(()=>{if(!A.$9)return"";let e=a().resolve(c.cwd(),A.$9?(0,s.j)(l.Tr)||u:"");if(!(0,n.existsSync)(e))try{(0,n.mkdirSync)(e,{recursive:!0})}catch(t){e=a().join((0,i.tmpdir)(),u),(0,n.mkdirSync)(e,{recursive:!0})}return e})(),r=a().join(t,e);return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),r}},217(e,t,r){"use strict";r.d(t,{j:()=>o});var n=r(6987),i=r(5409);let o=e=>{if(!n.Wh.includes(e))throw Error(`getBasicEnvValue with key ${e} is not supported.`);return i.env[e]}},6987(e,t,r){"use strict";r.d(t,{$:()=>C,$H:()=>h,$L:()=>c,$l:()=>s,AU:()=>w,CA:()=>S,Cn:()=>eA,DL:()=>ev,El:()=>B,FU:()=>d,G0:()=>i,HR:()=>o,I2:()=>n,IQ:()=>p,JM:()=>j,Jq:()=>E,Km:()=>m,Lg:()=>ew,Lh:()=>J,M1:()=>b,NF:()=>P,OK:()=>eo,OY:()=>ed,Od:()=>I,Pm:()=>H,Sk:()=>T,T4:()=>U,TN:()=>L,Tr:()=>F,UH:()=>eC,V7:()=>V,VM:()=>v,Vb:()=>ep,W4:()=>g,WH:()=>es,Wh:()=>em,XE:()=>eE,YK:()=>z,Yf:()=>Q,Yg:()=>G,Z$:()=>el,Z7:()=>X,ZX:()=>A,_j:()=>ex,_q:()=>K,aK:()=>y,aO:()=>ef,ag:()=>ea,b6:()=>x,c$:()=>ey,d8:()=>D,fS:()=>ee,ho:()=>N,iw:()=>u,jG:()=>k,j_:()=>M,kX:()=>Z,mZ:()=>er,n0:()=>l,nc:()=>$,pp:()=>R,rd:()=>eb,sg:()=>ec,tk:()=>ek,u1:()=>eh,v:()=>Y,v4:()=>a,vC:()=>q,wu:()=>eu,xP:()=>et,xg:()=>W,y2:()=>_,yR:()=>eg,yb:()=>O,zD:()=>f,zG:()=>ei,zQ:()=>en});let n="MIDSCENE_MODEL_INIT_CONFIG_JSON",i="MIDSCENE_MODEL_EXTRA_BODY_JSON",o="MIDSCENE_MODEL_NAME",a="MIDSCENE_DEBUG_MODEL_PROFILE",s="MIDSCENE_DEBUG_MODEL_RESPONSE",l="MIDSCENE_DEBUG_MODE",A="MIDSCENE_LANGSMITH_DEBUG",c="MIDSCENE_LANGFUSE_DEBUG",u="MIDSCENE_MODEL_SOCKS_PROXY",d="MIDSCENE_MODEL_HTTP_PROXY",p="MIDSCENE_MODEL_API_KEY",h="MIDSCENE_MODEL_BASE_URL",f="MIDSCENE_MODEL_TIMEOUT",g="MIDSCENE_MODEL_TEMPERATURE",m="MIDSCENE_MODEL_RETRY_COUNT",y="MIDSCENE_MODEL_RETRY_INTERVAL",v="MIDSCENE_MODEL_REASONING_EFFORT",b="MIDSCENE_MODEL_REASONING_ENABLED",w="MIDSCENE_MODEL_REASONING_BUDGET",E="OPENAI_API_KEY",k="OPENAI_BASE_URL",x="MIDSCENE_OPENAI_INIT_CONFIG_JSON",S="MIDSCENE_OPENAI_HTTP_PROXY",C="MIDSCENE_OPENAI_SOCKS_PROXY",I="MIDSCENE_CACHE",j="MIDSCENE_USE_VLM_UI_TARS",O="MIDSCENE_USE_QWEN_VL",P="MIDSCENE_USE_QWEN3_VL",R="MIDSCENE_USE_DOUBAO_VISION",M="MIDSCENE_USE_GEMINI",T="MATCH_BY_POSITION",N="MIDSCENE_REPORT_TAG_NAME",D="MIDSCENE_REPORT_QUIET",B="MIDSCENE_PREFERRED_LANGUAGE",z="MIDSCENE_CACHE_MAX_FILENAME_LENGTH",L="MIDSCENE_REPLANNING_CYCLE_LIMIT",F="MIDSCENE_RUN_DIR",K="MIDSCENE_INSIGHT_MODEL_NAME",U="MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY",Q="MIDSCENE_INSIGHT_MODEL_HTTP_PROXY",Z="MIDSCENE_INSIGHT_MODEL_BASE_URL",J="MIDSCENE_INSIGHT_MODEL_API_KEY",X="MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON",H="MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON",G="MIDSCENE_INSIGHT_MODEL_TIMEOUT",V="MIDSCENE_INSIGHT_MODEL_TEMPERATURE",q="MIDSCENE_INSIGHT_MODEL_RETRY_COUNT",W="MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL",Y="MIDSCENE_INSIGHT_MODEL_FAMILY",_="MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT",$="MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED",ee="MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET",et="MIDSCENE_PLANNING_MODEL_NAME",er="MIDSCENE_PLANNING_MODEL_SOCKS_PROXY",en="MIDSCENE_PLANNING_MODEL_HTTP_PROXY",ei="MIDSCENE_PLANNING_MODEL_BASE_URL",eo="MIDSCENE_PLANNING_MODEL_API_KEY",ea="MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON",es="MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON",el="MIDSCENE_PLANNING_MODEL_TIMEOUT",eA="MIDSCENE_PLANNING_MODEL_TEMPERATURE",ec="MIDSCENE_PLANNING_MODEL_RETRY_COUNT",eu="MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL",ed="MIDSCENE_PLANNING_MODEL_FAMILY",ep="MIDSCENE_PLANNING_MODEL_REASONING_EFFORT",eh="MIDSCENE_PLANNING_MODEL_REASONING_ENABLED",ef="MIDSCENE_PLANNING_MODEL_REASONING_BUDGET",eg="MIDSCENE_MODEL_FAMILY",em=[l,a,s,F],ey=[I,A,c,D],ev=[z,L],eb=["MIDSCENE_ADB_PATH","MIDSCENE_ADB_REMOTE_HOST","MIDSCENE_ADB_REMOTE_PORT","MIDSCENE_ANDROID_IME_STRATEGY","MIDSCENE_IOS_DEVICE_UDID","MIDSCENE_IOS_SIMULATOR_UDID",N,B,T,"MIDSCENE_CHROME_PATH","MIDSCENE_MCP_CHROME_PATH","DOCKER_CONTAINER"],ew=[...ey,...ev,...eb],eE=[o,n,i,p,h,u,d,f,g,m,y,v,b,w,j,O,P,R,M,"MIDSCENE_USE_VL_MODEL",E,k,x,S,C,K,U,Q,Z,J,X,H,G,V,q,W,Y,_,$,ee,et,er,en,ei,eo,ea,es,el,eA,ec,eu,ed,ep,eh,ef,eg],ek=["MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG",...em,...ew,...eE],ex=["doubao-vision","doubao-seed","gemini","qwen2.5-vl","qwen3-vl","qwen3","qwen3.5","qwen3.6","vlm-ui-tars","vlm-ui-tars-doubao","vlm-ui-tars-doubao-1.5","glm-v","auto-glm","auto-glm-multilingual","gpt-5","kimi","xiaomi-mimo"];var eS,eC=((eS={}).V1_0="1.0",eS.V1_5="1.5",eS.DOUBAO_1_5_15B="doubao-1.5-15B",eS.DOUBAO_1_5_20B="doubao-1.5-20B",eS)},4565(e,t,r){"use strict";r.d(t,{N:()=>g,a:()=>function e(t,r){let n=`${p}:${t}`,o=(null==r?void 0:r.console)??!1,s=o?`${n}:withConsole`:n;if(!f.has(s))if(o){let r=e(t);f.set(s,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];r(...t);try{console.warn("[Midscene]",...t)}catch{}})}else{let e=c()(n);f.set(s,function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];d.$9&&function(e,t){if(!d.$9)return;let r=function(e){let t=e.replace(/:/g,"-");if(!h.has(t)){let e=a().join((0,u.ZH)("log"),`${t}.log`),r=i().createWriteStream(e,{flags:"a"});h.set(t,r)}return h.get(t)}(e),n=new Date,o=n.toLocaleDateString("sv-SE"),s=n.toLocaleTimeString("sv-SE"),l=n.getMilliseconds().toString().padStart(3,"0"),A=n.getTimezoneOffset(),c=Math.floor(Math.abs(A)/60).toString().padStart(2,"0"),p=(Math.abs(A)%60).toString().padStart(2,"0"),f=`${A<=0?"+":"-"}${c}:${p}`,g=`${o}T${s}.${l}${f}`;r.write(`[${g}] ${t}
|
|
957
|
+
`,loading:!1,result:void 0,replayScriptsInfo:null,replayCounter:0,loadingProgressText:"",verticalMode:!1}};si();let so={result:void 0,dump:null,reportHTML:null,error:null},sa="data:image/png;base64,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",ss="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAABaCTJNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoZXuEHAAAZfUlEQVR4Ae1da5Ac1XXue7tnHzMrYSMMEqyMYB/CCOyEhTjxH9YYk0p4GEsBJxTgFNjalYDEruCHMAkjEsd2gsu4AD1DUrYpUoZgy4iEAhNbqiRQDpIxGAGSdnmYt4wgknZmd2em++b7TnfPzvZ0z660u3rNXGmnu2/f53fOPffccx9tWQ3XQKCBwEFAwFiWOgjZNLKIQ8BkLR3nf7j6mcss+0grcxWW5HipSMD5ZumpxxyJlWIdqio3jR4zwpksNOSNUfdbLq/5ZZ2/n9fq+jffOLFlGss+I0mRcYb7O1fl+zuu5z3rYLK9zkwxz7TLZRZUZS2Phc8v6zhLGbXC0WpJCT6uZX1m1pqB+4RAqNiMIHiAiYblHlreeUGLUo/YWln5krfBuN7ftK178ddMdibKPW0twBiInAD8kWULF4KDbkqn7C2tjlpS9IxhhZDZZXuXdh9Hrsoepv2C8qwbUVRruOgV0yl9qdL66Vx/11/nb+hs91uDpVnXA6RzVbRpIYBwhoLIAefn+zr/xDXuf6MBrEQlyEXkdDQI/LesT2lV+ghvbtk2fZVgelNxFDEsO4C+COmcP1IyLK2TL7gUoSrdpG41RevxfF/XYoZTqCvrPJU8w7hTJkDYLFmJXF9Xv6esu1tsdRwy0MZjPRQLqiGC3CZbpbSyV5ilPamQm8KCHKorC6iymwA5GcL0pZu0wn0J5SH2Nu5NvuCVUPb5tm09kO/v+jLLKuWfBiJMqSmF4O9Z3tFpe2p9Jm335vMi2j2/AuO43HM0CWG9Aw5anl49cL9UPmgarNShcKHYHOrr+mSTbT0KccmyxzGmC9FkQ/yQqx6ybe+vWu56cUeIwYGWPS6jSaUlzRayfN/nOxfZrvr3TJPuzefcQhCZ6UaJK60AHHYcuoTFUvFDDD7LSpEiV+V9AQxSy9nQI4i/l27WF3muepB191tyr1MrYq13tbNMiLmFIgTNdmRZ9/kQME8026qbzRSQNyVECbyVGkW/0Kz1n+be7ryCniRE7Tgz9zbMO7es68J0k/3HwyUDCVrT8bXKj3rFlK0Xatt6XDAAFsSkZsyEl/tdeXL+2eu2FpkxWutPIDJnFfxmW4sLwDiWm3aUhrDdPeqZzZC0m6VMWb93TijfzHrfEuSt3F35orcRHZSGrCcmbBXSMmIKQCKkCq7xEH42MSAWxITYxISv6TUBwcfHlc4TGQ2R8433IPT7VnSuSTIzjFxEJilUzBpxzbvo4a5Jv9v8sLp/WyiuwnCH5EqVUrQatMShtzp6taXWQv3sHEVn5RohQi0mRb8GpvLMsFH6krbVOx4LMZpsZSZNAJH5aGq55aeeozy9GXo9wKeKKVpOfH7KKkHmO6MFzwLnr8jMbb+NoouB0SRQ70PI/RUlruxI74Nmc+Gcjq8qS33Nr6OhVlFD5TSuo7XtkgjaOzez6sUnQ6wqski8nRQBWKjL0eFygAVtcgNk/mng5loFo8gxUEf1qGv+x1M6S+5gKchxK1ei7ws6v8SSHeQXZAjrMozigxH60NJTz8Qg7F4w0BkQTyWwComQhJeLutqo6wtQsy9tWb19e6hdTVSNpATL8ULuGLnu1O6SpzdmHN2NAiWDzzEMBioouEa4DWn3mMtVIB9D7i8nfpjehHUe+twpJyjHXoe6XAIlg6KWeCVh5kJ02bmCt8PT7iWzV7+0PUynVjVryTfh1pAjXFd/G6omwafsTmqS5HwLBdEYBd+TzqSvJPjbLlvUdKSAz/KLagmtpu2fXno7nUtfIXVBnQKBKXVkuIiz2VIyKdWtjb1x73WnzfFV1NpaXk0CWBAVzISjP9xcBPWLXJCkbonYSbdolSu6/4CB1lXqtmdybIqLDpMONwJYzUdptRC96gfP5FgXqRPqhkhSz4TITr5kCplWu8v2ikskzAQml6TmVLb80f7BITgGTzRxMvPqOPBHj+q1NqMJjnjfals78FVmHmoYUpAj9KeyDkN9nd/MtOiv5EeAhI9CNRZBPfFin1Hm6szqwQ21RFFsCwgjDC1fMBeJ3E66+9bkGPDJEZD5BH+44IMPKvmWUfgfobiXix2qqKwTGSs3itaNwQ8CsG5J9fNgBZ4Fs90dxFBEUYLdqIoAzGjlIj9hbVI3YfA0v+DW6HRRCJH5AB9NVTjfytLAlTiQKVfuSLmRuqBOLG/bmsGvDJfQv0HJwGMSATREUSmdUu3EUOp5vz9HIvcVP5JoxXNZ9OT6Tj0bw/Mn8wU2QglRFRa+yERD7nkbMqsHPs1QJCACJhVMEjpSf0JxZG78cCa/L39PS0pdOiLm9tixkAhsmLIVzNrnZNa+uCWULJX1r2oBbC7U+wHjTQIjZDsiJINfdF/2RqylTJTxjlbwWb9QHFG5wGj+M6MlsxlMyjoX+T7iMJYLpYBawXfENhJmvIpECjEARoLXpB39aTQjgl+tcvqdrjPqeszh2ln/MvBbDsE5WItmcLQ9UxztvKGzWUwpRq1l/dDciVFcq4dqaizHVosL/Z2/K2EjxsdyCxDRAQDNF9tbQavr0OkmO3Su7IdgLlkxa83gz2ToDX0/OcLR9abrjoFRqtfptTv/FQO0LLBI7A/QOlxihcHT1ytQKEuU8k1ov8j1d3y+2dbrMKwORU85TJCAR6tmrmgehVbwhxWJ1tWtMCy4nlIjP6dzFzA5NpAYZaYWQCAtbFj4YNjLK22uSa8a/GEYl+8lsHQuMJLtuXbRseD+Pgo1po2fKPjSLmDS56vb+BuKLd7XkwMwhq1A5DosvLmS2c0ZP2Ag6JSxQE8A8KmspD1PrTBfWPA+xoUtTLD3qXW5/5BqGu3GbE8PVSgAXC37adOH+oVpu4cya3eKcc2CelXOrM5uVgb1Tc9rfhhM/iub+p/PuFEkaKbgZM+H86N2B1+eHoyQfQLc54MI9j7P70oMU4o6emKlAHsHtRb34ACsJsA1GrBenmnRFdUyuw2ouN+A2C7SNI36R5lS4JIBnLGuJz6hwqKJJtWrfH/3SZgs+QtOGcLLJwxDjjnTmkI6lvVYZs3Oh6T5Bbb9sSD1dxcOWj3jPA10NtBkAydAjUdD6QK0Frz6RKW/5qiVHp5yz8cExAmQV3RVCcAD5mVDxVRkv4Rq/FhhK5i9bsc7rjEP+GKoGj9iSvwxgzYfxk0x1JGJtRXIImX0xylP4KLNh34GEXndljlxQGT/0WRqYMWm4sIBVlvR+Q/0j7t8JSZWNHNtFCyX5kuSH7CXXnxvX+cfQFtazNVJCc5L+dL+lw3g4xESkfzP2/eBV29ubhIJHjcoVZi6ZK95ItdSkXASMqXUQkypzQom2KPih52vjUmJnNHu7cyemcUXo459A0li22YzzNWctHIIVQQRhY6aXvNTRsnIWID0lOm2U2WqRQlQam2xofKY+9tWv/SMgJ+tSjiSTx0+Bup4c1PhVXAsbERlPCvBoKJaSLfaXHHxO3whoaD9tFN9jSIvMcWkBKp5agufn9u2qK5VT8Ek5gfYYVSMqdfvvDYMPDfEBBEvEEdziQi61LNp9tH55R3zgfxHS/AEzNHBFz0dTEVSDO1iCqcv+kBcJ52UX535bxO5j0HZsxgv7UF/6wC/8WIIfA5pQuF0rJVLZ7CgBTM3xjoFK70IVrQRcGkJfQc9p/RfPpqbGgSYgK1c29oLNEc1BU50VhDMjyU9NG1/aNQuztEFS50GGZ9CmjA/VBNA++pnrm3Vy28hUYVxg1BqgjLU52vOegHbtlU7fwXo30z5+uh4vCDSEabU2mxnisY5A/h6FxgZocVqNqAf45unBNFsL5Mcn2B9Qh1ba8FmZa8vxpW1xceuiqkZVxNzrHP5BDrhWKObnwGoSckEou0Wj22bGuD7yNT4DUS0Mb+gqIETRSc+gkqTACcmTb5ATikmAjpskgSCyfr4xBq+4xAwyrecjfMc/4ANRAW0AnOyT6iYpsI+BBNfReW9KVFvaYif8RBWP60MvLRtngeu8fsNwNGU+uD+0zmZNgSc4yU7WxB6bW3Z6SDdxmUCBG4JmNS4akTQE3AjkQI/XFrYAj4IKx4FfZWjFgVXShn9qtzFhBH/xs8YAgFGBdd+C57cZRnriDn+nahtrecliaAgstsyd+5rTAXPjU44Fs4xzxCjY3QbMUsigGK/C9P1PO7uiJdTFWm+Pfh889hj4246EUALqKUmSVbmhNZ2WvcabhIIhMJ8ROdOQnDuM45zhuNbjNre1J5ntoMIdFVhA5tD6j373Q8FAQKpJOEbP3EIBChCc5yP146MY6PhEMafOVOvYk5YjdDgmewMtoun/FNOqkiUHKve32CLXx6werHQhh0F9lqQ99/wTRbVLcD3UbajvLkC6MrY5Ood6/H1DzCC5jgP3E9raKLDK9kb/rpvb6sOx7gkDvbFtFe/bfjEIhDOsSvrXFqSRdusDog5dmqV5llcMGSoDhD6eJxEBoF6xCNIPHzZuCYjAB3/eJEsUXO0RDFGrMxK/a/GDMIjwuaxqyEM9h9LD7FQ4r2/x++uk/NtvAkxMlYHORcMHiOEMGeGV8D+dYyE1Vs0+OA5LqByxRhntQ9/buEp/nbTCdXWuiUCAFTE6LfXLOQk1/uMWDkDe0IMKrbRr+gmY+3Kj7hvYFEWJ2Wis11KViJa1jzPds9gGps29TZaQQyY9Nq6tIcrIazZTd4FgH0RDv/g43gJD9mEd5jmdfOYms9jRkzvQaA3/EURVa2AEmw0nXGakMxZTK39zNei88b0bjgg0PPeVmFgbKs/A5v0iAnniMcTAKopO2f8e67JTr2puaQODecJnGXFCNEWAHJhoh5nPSBGj/nzBS2yOSGaKGPWuRPxM7ZD6MzkfhUmamANXDequ17YHYgT8xhOumJ7oRiSdlPGE+boIl8Zc2bOUceIfzZC1XLgOr4JMMkv7foo0PoktuwSSRFJFagQW9v134mBUwjgKvMO3uyRUQGDjHfcD1BKtzgLQLlPjX/VeIoi4GpzVqbFng3dhwdYjRc/IAk3cYy43nvQg55nXFypA1km19+5Bbs4erCRgHKrSs5To0KnvmskZXXNuWNgbzTjxrOPQK6v88EWR12MqVyK84jCYnCgh81lnk+k1wx8jPsrNI9oYVQopnfiBW+rwKcnNSqcEHV8U8H8EZ/rdWsS6x514VrZERz6CsMmwWeQCPjgdPK6PzT+uaSBRQ463GKktfef9Iy2GQno/0Ct5ZI6tWRff8fxXNmLxxrBK2LWyS127d6Is5RYW+HkSLW5WY876H+DyfjvyjusI6JkEXJh996rwPPHrb42RDEUddRf4cxiR9vd8jJcAxMNWUfP/u7SsUNfY3V/Hw9DEzSawCvY2ivLPIm9NBPZGY9AOAPrVvQBDE6ohTB8CBzP/Cymm20cz+VdKH51vk4IAPmHvmYpbqKHvoawhVf/+GYYd75Hn1BsCQGeC9b7ZJzRV/DuKR6+gWt1K4BaxfPf4Jbv4zG+FEOSOb3q0AX9Jw/7Q/94UXCqVkwfis4XYgPMvTVftO+rRIqcLk6oCcIM9XVcjV17d0M2OTBDU8qXwwRBeRQL94u9m3l3wO8LyAnVLSYIfnRfgo3aL0D246RF6RWjeFGSGLzH+Xne0syawfXhpngiIy1AIAqoaTveZoT314JGk5KAluYBp0jwWOwQv1m8slVE8kMexb8EkdUbmdP5JUiMTjlZoJpZGcSQYfH+6XTr6D30sLKbytKlTABfnPQ6rXe99AqCrJdl6clcTSOdh10gWZyo9WfcN8YDLCTxOviRjRjYogtt8Dw0/W9U9JvVtYcM8bVScxc3b8i+4gpcywRgzPBgPdPsPQh16Sc8EwLecSoVRY5PRWX6WKDwAIvqEhxdPgIgzsAz+A4CwLm7WcwHsUv7WXGv2VGqUDLbcHjT9+lBRuc1dOMIQE9m0Pbdl962jPd3AeWi2pDEhWeK5+sjg3Pzx47+kIcYsSUczWMD1k0kxVU4sEl7d2NUuwDcz30VUZuPQAmMBF+sQfl7FZywIuBV/FQRgAMzEoEnPGHXzL3pVoe9esK6IGXjYwc8TfzS4Vx+DdNF05BDLCryOCpuqe2xbqzMcFt+DcTvJfmiS26OAx/exsvAJA3Zf2fb6p33ImLs5pYqAkC0GGtRr3S/yHAdrKQFaERN8JXMWYCIw5FcHjQjfeVQf8e35F326CKCqNqoE+vGOrKuvsoZe6QDg8HmD7WzZF41uvR1esipvMQ24gToiJ88+rIO3wfAtnpHmX9LUEnDqEIeOTO0cWwlYYawwpJPoy/HoU4/CrEMwaq8VrWA8GU4yJq1ZucD6IVvxd5WEqsYvo9cRQHjwa48VzNsCSKOgmPQIuGPiMdKscM6yZmhPLzWZ9sk5i36WKnvCfhBv5FU4UQCVEZIO9a3h0fcndCKOGHDTifOsUCKh5pmUvaX8e2wHxh0VkJIaElxEQ5nPzkXjkoFT0hEXaROPLCVstz/iyt+Cf1hKjfs/hxm+y9KgCQyBbFrEkC0GnAwevC9JeVejGPKdmDQwU5nnCpVURLJDpqBB6PelflM/l6qazzgLhy4VIQ9LG+BsBw6K2o1GIfHU0pdUKcJON/D2XAOTg7e4dpmKedMRPTEyP3Kik9AHz+oNEVww/4dXw/tCJMP0BRehgi7lof7MTUWipoWMq7qkCoLdijuw3oybw4wQYo+qtnU9OBFrJLwIvgag9O9mM762Kz1A9tqyX2mH7qkBMP35Wtovygs7z4HH274GeR7GxokW0KM8akcTQ525dcooEOvaNk98I/hQCRMrxzyEN3IuIVmdVh2fXEph/DdzFE+i8SxDnCvVUcXvSM/8LMP5wksaVu786eTBZ/pT5oADBx+niO3rONSTOvjcCJLY7BG7qglymSgAtFlQTQNgBR9bXMHN4l4g27NdHnP68F2UaB4UDnKt552LppaUB7+Jej5Ulr5tBXAh3gyS+Sgbn7gaD+O8Nw/AgArRPCPajyu42J8J/L7MMOGH/GpRQSKG7EIshvjoX9Iai2PPpNq8GVADCvLFRszI54o35G+1DkkOmf3OMHEOQ68WAbD2TE0NqJIDCdhwzJGruFXM4ZwANNV6XcGN0oLQhxEmrR4rZVBJL/qR378TGGMAPk3GxyTNCQfiyj6cfB1DUTAi8cwTXdby6qBR8cCofToJ7ZijWXPuq2l/alMZRrhPQnL1XxcUMaONfTffUPnbM5vc4oVOS7mRBPnOibRopmEiFbMob+AVbZXZ1bteDJMd3+vB0QA4SQsw2NTk4+ZaetH0JG7+X0tFCBVqxBEHZkSWIerxzBUtzCXuhG98sP4Gt8v0+t2/qIyPsWeFaw4szhxdEvAXUgA/8ucJmXi08qAa7mSG0SsFAdcWMa1TbK8xqi/5SIDMV6xQJjtQ2oOYuGppitSHadGiJZziXwvhmU8QGaZKLOaJQllqHzK0FXr8OWIj+eHgahvM6klkpgu4eKfpulbo4/Ijbh7UaCfwu/XQOLZvQX96AfkGDD4HKDjomJZ18qllVxmjwVmXOM0MurKSg8kWy5HzSz81mulUViOiaiWy3dieHTnFE6PnBIBWOCQCGzSLUXrO/D5LO0gWHxE7YFEmEwe0uFBeDqtPGkKNOTkNjQU8vH/4W8QjLkLz5u5a58bx7l3mdtnuYOTmwi5j41bqbibBxp7O+xXPch4IdBtRxnmyfpWiBiu8uNCM7zjBrrJlI3V9O1huEFBb+XAlGMjirewL2GgA3GTLUDNtEMiMBA1CX51A810Po7zZQ0J7kStwU/f5zL2JQxvIw3cMQWIKaBFcYUE+Ukpvmc4qsGsA15Q9LH/VnKePDeWcG8Dl9dLd4NFxghEdZJxJ1ceKbsxtAjTKInv2F5B0wzilxmP91NxLPy0OIGGPxA/8tkOz/ka1Dk5JTaYKyVIzG+yeTI8/sD3kip+KJ+D2NGEgsB+DL9GIHwQd//zZQoGDKCpKoDw9yLvda2rBzaT6/lyqpzPNOgmC4YfehK/la1haFnXFdgSflOToxaBISlWQlBqDWwmkYsfhKBPYwXYXHHYFbaWIl32S5wV5MQU50aYY2Xd+DwdbhrLP1YcFjQ0NxjMFWMFxdWA6jq0iI+QEPzKNlhZ1qUi1oyUYaw0k7pzKdYw+lX+DJcsSljPqVnODkp9MEcylc42qRQzVnlwkQx6wqbKEwLzw81XwrsPo+IeHmDKtY38CId0t9iNFpBixsoUgMCehqVj30R+sLgaEMDz9VM4UO92rgwJFicI14fMxADT7Wa6slLeyqbL/VPplHs5+P+zaPMnQ85+kCIeX2qiLk4U2LFiBwP+yhJ/ytVmuoSd1xTn0ZswAsTXkMQX5fgxVwVyYZpa/Zv3mNvBslUdFAJIhaRF9NqVzZhmAKD8l3h/HtgSp/fq99tQQw24UU7q4hp7caLdsKzR8lY+E2C68Mp7Ao7d0MoBk1sKyHOcggB7QPNBAH8nFyVzXSzD0eHduI96+r4z91tZgZnLpSLlJC0iz/OrcZQjqt+OzuFiEOR0mAf8g6KACs60YAsRx0ITRsou3EodwNC4gVkST9RcfU/eoDPFJkSEewP3TwDix9ySeWf2+sHHJbHgh+tjuUQzm/WJVvluJu+lnDOZQa20Q27jIoDKlmHwIcyCW5znYijgKu9kaCYnQaP8PXDsGSgwW0URQM7nWUc8bgegQ1002/Gep1QR7NfxnnbkRzA0eIs7QbkZUfbDBQUq532I5yb+H8lGaZooTb2GAAAAAElFTkSuQmCC";function sl(e){return"object"==typeof e&&null!==e}let sA=e=>{let t=Math.round(e.center[0]),r=Math.round(e.center[1]),n=Math.ceil(4)-1;return{left:Math.max(t-n,0),top:Math.max(r-n,0),width:8,height:8}};function sc(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let su=(e,t,r)=>{let n,i=(n=e.width/e.height>=t/r?e.width:e.height/r*t)>400?.1:n>50?.2:.3,o=Math.min(t,n+t*i*2),a=Math.min(e.left-t*i,t-o);a=Math.max(a,0);let s=Math.min(e.top-r*i,r-r/t*o);return{left:Math.round(a),top:Math.round(s=Math.max(s,0)),width:Math.round(o)}},sd=(e,t)=>su({left:0,top:0,width:e,height:t},e,t),sp=(e,t,r)=>{var n;let i=null==e||null==(n=e.uiContext)?void 0:n.shotSize;return{width:(null==i?void 0:i.width)||t,height:(null==i?void 0:i.height)||r}},sh=e=>e.map((e,t)=>({execution:e,index:t})).sort((e,t)=>(Number.isFinite(e.execution.logTime)?e.execution.logTime:1/0)-(Number.isFinite(t.execution.logTime)?t.execution.logTime:1/0)||e.index-t.index).map(e=>{let{execution:t}=e;return t}),sf=e=>{var t,r;let n,i,o,a,s=e?Array.isArray(e.executions)?e:{sdkVersion:"",groupName:"Execution",modelBriefs:[],executions:[e]}:null;if(!s)return console.warn("[allScriptsFromDump] dump is empty"),{scripts:[],modelBriefs:[]};let l=(o=s.sdkVersion,a=[],(sh((null==(r=s.executions)?void 0:r.filter(Boolean))||[]).forEach(e=>{e.tasks.forEach(e=>{var t,r;let o=null==(t=e.uiContext)?void 0:t.shotSize;if(o){let e=o.width,t=o.height;n||(n=e,i=t)}if(e.usage){let{model_name:t,model_description:n,intent:i}=e.usage;r={intent:i,name:t,modelDescription:n},a.some(e=>e.intent===r.intent&&e.name===r.name&&e.modelDescription===r.modelDescription)||a.push(r)}})}),n&&i)?{width:n,height:i,sdkVersion:o,modelBriefs:a,deviceType:s.deviceType}:(console.warn("width or height is missing in dump file"),null));if(!l)return{scripts:[],sdkVersion:s.sdkVersion,modelBriefs:[]};let{width:A,height:c}=l,u=[],d=sh((null==(t=s.executions)?void 0:t.filter(Boolean))||[]);for(let e=0;e<d.length;e++){let t=sg(d[e],-1,A,c,e);t&&u.push(...t)}return{scripts:u.filter((e,t)=>t===u.length-1||"Done"!==e.title),width:A,height:c,sdkVersion:l.sdkVersion,modelBriefs:l.modelBriefs,deviceType:l.deviceType}},sg=function(e,t,r,n){let i,o;if(arguments.length>4&&void 0!==arguments[4]&&arguments[4],!e||!e.tasks.length||0===r||0===n)return null;let a=[];if(-1===t)a=e.tasks;else{let r=e.tasks.findIndex(e=>e===t);if(-1===r)return console.error("task not found, cannot generate animation scripts"),null;if(r===e.tasks.length-1)return null;for(let t=r;t<e.tasks.length&&(!(t>r)||"Planning"!==e.tasks[t].type||"Plan"!==e.tasks[t].subType);t++)a.push(e.tasks[t])}if(0===a.length)return null;let s=(e,t)=>{if(!t)return e;let r=sc({},e),n=null;return Object.defineProperty(r,"img",{get:()=>(null===n&&(n=t.base64),n),enumerable:!0}),r},l=[],A=!1,c="";a.forEach((e,t)=>{var u,d,p,h,f,g,m,y,v,b;let w=null==(b=a[t])?void 0:b.taskId;if(o=w,0===t&&(c=aw(e)),"Planning"===e.type){let t=[];if("Plan"===e.subType){let r=(null==(d=e.output)?void 0:d.actions)||[];if(r.length>0){let e=r[0],n=["locate","start","end"];if(e.param)for(let r in n.forEach(r=>{e.param[r]&&"object"==typeof e.param[r]&&"center"in(e.param[r]||{})&&t.push(e.param[r])}),e.param)!n.includes(r)&&"object"==typeof e.param[r]&&"center"in(e.param[r]||{})&&t.push(e.param[r])}}else"Locate"===e.subType&&(null==(u=e.output)?void 0:u.element)&&(t=[e.output.element]);let o=am(e),a=aw(e),c=e.uiContext,h=null==c?void 0:c.screenshot;if(c&&h){let{width:u,height:d}=sp(e,r,n);l.push(s({type:"img",duration:300,title:o,subTitle:a,imageWidth:u,imageHeight:d,taskId:w},h)),t.forEach(t=>{var r,n,p,f,g,m,y;let v,b=(r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},t),n=n={center:[Math.round(t.center[0]),Math.round(t.center[1])],rect:sA(t)},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(n)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}),r);p=sc({},su(sA(b),u,d)),f=f={pointerLeft:b.center[0],pointerTop:b.center[1]},Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(f)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(f)).forEach(function(e){Object.defineProperty(p,e,Object.getOwnPropertyDescriptor(f,e))}),i=p,l.push(s({type:"insight",context:c,camera:i,highlightElement:b,searchArea:(null==e?void 0:e.searchArea)??(null==(m=sl(v=null==e?void 0:e.log)&&sl(y=v.dump)&&"string"==typeof y.type&&sl(y.taskInfo)?v.dump:null)||null==(g=m.taskInfo)?void 0:g.searchArea),duration:400,insightCameraDuration:800,title:o,subTitle:b.description||a,imageWidth:u,imageHeight:d,taskId:w},h)),A=!0})}if(e.recorder&&e.recorder.length>0){let t=null==(p=e.recorder[0])?void 0:p.screenshot,{width:i,height:o}=sp(e,r,n);l.push(s({type:"img",duration:900,title:am(e),subTitle:aw(e),imageWidth:i,imageHeight:o,taskId:w},t))}}else if("Action Space"===e.type){let t=am(e),i=aw(e);l.push({type:"spinning-pointer",duration:300,title:t,subTitle:i,taskId:w}),A&&(l.push({type:"clear-insight",duration:200,title:t,subTitle:i,taskId:w}),A=!1),l.push({type:"pointer",img:sa,duration:0,title:t,subTitle:i,taskId:w});let o=null==(f=e.recorder)||null==(h=f[0])?void 0:h.screenshot,{width:a,height:c}=sp(e,r,n);l.push(s({type:"img",duration:500,camera:"Sleep"===e.subType?sd(a,c):void 0,title:t,subTitle:i,imageWidth:a,imageHeight:c,taskId:w},o))}else{let t=am(e),i=aw(e),o=null==(m=e.recorder)||null==(g=m[e.recorder.length-1])?void 0:g.screenshot;if(o){let{width:a,height:A}=sp(e,r,n);l.push(s({type:"img",duration:900,camera:sd(a,A),title:t,subTitle:i,imageWidth:a,imageHeight:A,taskId:w},o))}}if("finished"!==e.status){let t=am(e),i=e.errorMessage||"unknown error",o=i.indexOf("NOT_IMPLEMENTED_AS_DESIGNED")>0?"Further actions cannot be performed in the current environment":i,a=null==(v=e.recorder)||null==(y=v[e.recorder.length-1])?void 0:y.screenshot,{width:A,height:c}=sp(e,r,n);l.push(s({type:"img",camera:sd(A,c),duration:900,title:t,subTitle:o,imageWidth:A,imageHeight:c,taskId:w},a))}}),A&&(l.push({type:"clear-insight",duration:200,title:"",subTitle:"",taskId:o}),A=!1);let u=a.length>0?sp(a[a.length-1],r,n):{width:r,height:n};return l.push({title:"End",subTitle:c,type:"img",duration:200,camera:sd(u.width,u.height),taskId:void 0}),l};function sm(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sy(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sm(o,n,i,a,s,"next",e)}function s(e){sm(o,n,i,a,s,"throw",e)}a(void 0)})}}function sv(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function sb(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function sw(e){var t;if(!e)return"";if("string"==typeof e)return e;if(null==e||null==(t=e.dump)?void 0:t.error)return e.dump.error;if(e.message)return String(e.message);try{return JSON.stringify(e)}catch(t){return String(e)}}function sE(e,t){return e?Array.isArray(null==e?void 0:e.executions)?sf(e):e.tasks&&Array.isArray(e.tasks)?sf({sdkVersion:"",groupName:"Playground Execution",modelBriefs:[],executions:[e],deviceType:t}):null:null}function sk(e){return"aiAct"===e||"runMarkdown"===e}function sx(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class sS{initDB(){return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.version);r.onerror=()=>t(r.error),r.onsuccess=()=>e(r.result),r.onupgradeneeded=e=>{let t=e.target.result;this.storeConfigs.forEach(e=>{let{name:r,keyPath:n}=e;t.objectStoreNames.contains(r)||t.createObjectStore(r,{keyPath:n}).createIndex("timestamp","timestamp",{unique:!1})})}})}async withTransaction(e,t,r){let n=(await this.dbPromise).transaction(e,t);return r(Array.isArray(e)?e.map(e=>n.objectStore(e)):n.objectStore(e))}promisifyRequest(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error)})}async put(e,t){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.put(t))})}async get(e,t){return this.withTransaction(e,"readonly",async e=>this.promisifyRequest(e.get(t)))}async getAll(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return this.withTransaction(e,"readonly",async e=>{let r=t?await this.promisifyRequest(e.index("timestamp").getAll()):await this.promisifyRequest(e.getAll());return t?r.sort((e,t)=>e.timestamp-t.timestamp):r})}async clear(e){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.clear())})}async delete(e,t){await this.withTransaction(e,"readwrite",async e=>{await this.promisifyRequest(e.delete(t))})}async count(e){return this.withTransaction(e,"readonly",async e=>this.promisifyRequest(e.count()))}getDBPromise(){return this.dbPromise}constructor(e,t,r){sx(this,"dbPromise",void 0),sx(this,"dbName",void 0),sx(this,"version",void 0),sx(this,"storeConfigs",void 0),this.dbName=e,this.version=t,this.storeConfigs=r,this.dbPromise=this.initDB()}}let sC=async(e,t,r,n)=>{try{return await e()}catch(e){return console.error(t,e),e instanceof Error&&"QuotaExceededError"===e.name&&n&&(console.log("Storage quota exceeded, running cleanup..."),await n()),r}},sI=(e,t,r)=>async()=>{try{let n=await e.getAll(t);if(n.length>r){let i=n.sort((e,t)=>e.timestamp-t.timestamp).slice(0,n.length-r);await Promise.all(i.map(r=>e.delete(t,r.id)))}}catch(e){console.error(`Failed to cleanup ${t}:`,e)}};function sj(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sO(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sj(o,n,i,a,s,"next",e)}function s(e){sj(o,n,i,a,s,"throw",e)}a(void 0)})}}function sP(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sR(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){sP(e,t,r[t])})}return e}function sM(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}let sT="playground_messages",sN="playground_results";class sD{saveMessages(e){return sO(function*(){yield sC(()=>sO(function*(){yield this.dbManager.clear(sT);let t=e.slice(-100);yield Promise.all(t.map((e,t)=>{let r=sM(sR({},e),{result:"result"===e.type?void 0:e.result}),n={id:e.id||`msg-${t}`,data:r,timestamp:e.timestamp?e.timestamp.getTime():Date.now()+t};return this.dbManager.put(sT,n)}))}).call(this),"Failed to save messages to IndexedDB",void 0,this.messagesCleanup)}).call(this)}loadMessages(){return sO(function*(){return(yield sC(()=>sO(function*(){let e=yield this.dbManager.getAll(sT,!0);return 0===e.length?[]:Promise.all(e.map(e=>sO(function*(){let t=e.data,r=sM(sR({},t),{timestamp:new Date(t.timestamp)});if("result"===t.type&&t.id){let e=yield this.loadResult(t.id);e&&(r.result=e.result,r.replayScriptsInfo=e.replayScriptsInfo,r.replayCounter=e.replayCounter,r.verticalMode=e.verticalMode)}return r}).call(this)))}).call(this),"Failed to load messages from IndexedDB",[],this.messagesCleanup))||[]}).call(this)}clearMessages(){return sO(function*(){yield sC(()=>sO(function*(){yield Promise.all([this.dbManager.clear(sT),this.dbManager.clear(sN)])}).call(this),"Failed to clear messages from IndexedDB")}).call(this)}saveResult(e,t){return sO(function*(){yield sC(()=>sO(function*(){let r=this.compressResultForStorage(t),n={id:e,data:r,timestamp:Date.now(),size:JSON.stringify(r).length};yield this.dbManager.put(sN,n)}).call(this),"Failed to save result to IndexedDB",void 0,this.resultsCleanup)}).call(this)}loadResult(e){return sO(function*(){return(yield sC(()=>sO(function*(){let t=yield this.dbManager.get(sN,e);return(null==t?void 0:t.data)||null}).call(this),"Failed to load result from IndexedDB",null))||null}).call(this)}compressResultForStorage(e){let t=e.result,r=null==t?void 0:t.dump;return t&&r?Array.isArray(null==r?void 0:r.executions)?sM(sR({},e),{result:sM(sR({},t),{dump:sM(sR({},r),{executions:r.executions.map(e=>sM(sR({},e),{tasks:this.compressExecutionTasks(e.tasks)}))})})}):r.tasks?sM(sR({},e),{result:sM(sR({},t),{dump:sM(sR({},r),{tasks:this.compressExecutionTasks(r.tasks)})})}):e:e}compressExecutionTasks(e){return e.map(e=>{var t;return sM(sR({},e),{uiContext:e.uiContext?sM(sR({},e.uiContext),{screenshot:e.uiContext.screenshot}):e.uiContext,recorder:null==(t=e.recorder)?void 0:t.map(e=>sM(sR({},e),{screenshot:e.screenshot}))})})}compressScreenshotIfNeeded(e){if(!e)return e;if(e.length>1048576){let t=Math.round(e.length/1024);return`[COMPRESSED: ${t}KB screenshot removed for storage]`}return e}getStorageStats(){return sO(function*(){return(yield sC(()=>sO(function*(){let[e,t]=yield Promise.all([this.dbManager.count(sT),this.dbManager.count(sN)]);return{messageCount:e,resultCount:t}}).call(this),"Failed to get storage statistics",{messageCount:0,resultCount:0}))||{messageCount:0,resultCount:0}}).call(this)}cleanup(){return sO(function*(){yield Promise.all([this.messagesCleanup(),this.resultsCleanup()])}).call(this)}constructor(e="playground"){sP(this,"dbManager",void 0),sP(this,"namespace",void 0),sP(this,"messagesCleanup",void 0),sP(this,"resultsCleanup",void 0),this.namespace=e,this.dbManager=new sS(`midscene_playground_${e}`,1,[{name:sT,keyPath:"id"},{name:sN,keyPath:"id"}]),this.messagesCleanup=sI(this.dbManager,sT,100),this.resultsCleanup=sI(this.dbManager,sN,50)}}function sB(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sz(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sB(o,n,i,a,s,"next",e)}function s(e){sB(o,n,i,a,s,"throw",e)}a(void 0)})}}function sL(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sF(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){sL(e,t,r[t])})}return e}function sK(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class sU{checkStorageSpace(){try{let e="storage-test",t="x".repeat(102400);return localStorage.setItem(e,t),localStorage.removeItem(e),!0}catch(e){return!1}}saveMessages(e){return sz(function*(){try{this.checkStorageSpace()||(console.warn("Low storage space detected, clearing old data..."),yield this.handleQuotaExceeded());let t=e.slice(-this.maxStorageItems).map(e=>sK(sF({},e),{result:"result"===e.type?void 0:e.result})),r=JSON.stringify(t);localStorage.setItem(this.messagesKey,r)}catch(t){if(t instanceof DOMException&&"QuotaExceededError"===t.name){console.warn("LocalStorage quota exceeded, attempting to clear old data and retry..."),yield this.handleQuotaExceeded();try{let t=e.slice(-10).map(e=>sK(sF({},e),{result:"result"===e.type?void 0:e.result})),r=JSON.stringify(t);localStorage.setItem(this.messagesKey,r),console.info("Successfully saved recent messages after clearing storage")}catch(e){console.error("Failed to save even after clearing storage:",e),yield this.clearMessages()}}else console.error("Failed to save messages to localStorage:",t)}}).call(this)}loadMessages(){return sz(function*(){try{let e=localStorage.getItem(this.messagesKey);if(!e)return[];let t=JSON.parse(e);return yield Promise.all(t.map(e=>sz(function*(){if("result"===e.type&&e.id){let t=`${this.resultsKey}-${e.id}`,r=localStorage.getItem(t);if(r)try{let t=JSON.parse(r);return sF({},e,t)}catch(e){console.warn("Failed to parse stored result:",e)}}return e}).call(this)))}catch(e){return console.error("Failed to load messages from localStorage:",e),[]}}).call(this)}clearMessages(){return sz(function*(){try{localStorage.removeItem(this.messagesKey),Object.keys(localStorage).forEach(e=>{e.startsWith(this.resultsKey)&&localStorage.removeItem(e)})}catch(e){console.error("Failed to clear messages from localStorage:",e)}}).call(this)}saveResult(e,t){return sz(function*(){try{let r=`${this.resultsKey}-${e}`;localStorage.setItem(r,JSON.stringify(t))}catch(r){if(r instanceof DOMException&&"QuotaExceededError"===r.name){console.warn("LocalStorage quota exceeded when saving result, clearing old results..."),yield this.handleQuotaExceeded();try{let r=`${this.resultsKey}-${e}`;localStorage.setItem(r,JSON.stringify(t))}catch(e){console.error("Failed to save result even after clearing storage:",e)}}else console.error("Failed to save result to localStorage:",r)}}).call(this)}handleQuotaExceeded(){return sz(function*(){try{let e=Object.keys(localStorage),t=e.filter(e=>e.startsWith(this.resultsKey)),r=t.slice(0,Math.max(1,Math.floor(t.length/2)));r.forEach(e=>{localStorage.removeItem(e)}),console.info(`Cleared ${r.length} old result entries to free up storage space`);let n=e.filter(e=>e.includes("playground")||e.includes("agent")||e.startsWith("midscene"));if(n.length>10){let e=n.slice(0,Math.floor(n.length/3));e.forEach(e=>{e!==this.messagesKey&&localStorage.removeItem(e)}),console.info(`Cleared ${e.length} additional playground-related entries`)}}catch(e){console.error("Failed to handle quota exceeded:",e)}}).call(this)}constructor(e="playground"){sL(this,"messagesKey",void 0),sL(this,"resultsKey",void 0),sL(this,"maxStorageItems",50),this.messagesKey=`${e}-messages`,this.resultsKey=`${e}-results`}}class sQ{saveMessages(e){return sz(function*(){this.messages=[...e]}).call(this)}loadMessages(){return sz(function*(){return[...this.messages]}).call(this)}clearMessages(){return sz(function*(){this.messages=[],this.results.clear()}).call(this)}saveResult(e,t){return sz(function*(){this.results.set(e,t)}).call(this)}constructor(){sL(this,"messages",[]),sL(this,"results",new Map)}}class sZ{saveMessages(e){return sz(function*(){})()}loadMessages(){return sz(function*(){return[]})()}clearMessages(){return sz(function*(){})()}saveResult(e,t){return sz(function*(){})()}}function sJ(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"indexeddb",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"playground";switch(e){case"indexeddb":if("undefined"!=typeof indexedDB)return new sD(t);return console.warn("IndexedDB not available, falling back to localStorage"),sJ("localStorage",t);case"localStorage":if("undefined"!=typeof localStorage)return new sU(t);return console.warn("localStorage not available, falling back to memory storage"),sJ("memory",t);case"memory":return new sQ;case"none":return new sZ;default:throw Error(`Unknown storage type: ${e}`)}}function sX(){if("undefined"!=typeof indexedDB)try{return indexedDB.open("test",1).onerror=()=>{},"indexeddb"}catch(e){}if("undefined"!=typeof localStorage)try{return localStorage.setItem("test","test"),localStorage.removeItem("test"),"localStorage"}catch(e){}return"memory"}function sH(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function sG(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){sH(o,n,i,a,s,"next",e)}function s(e){sH(o,n,i,a,s,"throw",e)}a(void 0)})}}function sV(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function sq(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}let sW=e=>{var t;let r=e.highlightElements||[],n=e.highlightRect,i=null==(t=e.uiContext)?void 0:t.shotSize;if(!i)return(0,o.jsx)("div",{className:"blackboard",children:(0,o.jsx)("div",{className:"blackboard-main-content",style:{padding:"20px"},children:"No UI context available"})});let s=e.uiContext,l=i.width,A=i.height,c=a.useMemo(()=>(function(e){if(!(null==e?void 0:e.length))return[];let t=new Map;return e.forEach((e,r)=>{var n,i;if(!(null==e?void 0:e.rect)||!(null==e?void 0:e.center))return;let o="content"in e&&e.content?e.content:"description"in e&&e.description?e.description:void 0,a=["id"in e?e.id:"",o||"",(n=e.center,`${n[0]}:${n[1]}`),(i=e.rect,`${i.left}:${i.top}:${i.width}:${i.height}`)].join("|");t.has(a)||t.set(a,{key:"id"in e&&e.id||`${a||"highlight"}-${r}`,label:o,center:e.center,rect:e.rect})}),Array.from(t.values())})(r),[r]),u=a.useMemo(()=>{var e;return(null==s||null==(e=s.screenshot)?void 0:e.base64)||""},[s]),d=c.map(e=>sA(e)),p=null;return 1===d.length?p=(0,o.jsx)("div",{className:"bottom-tip",children:(0,o.jsxs)("div",{className:"bottom-tip-item",children:["Element: ",JSON.stringify(d[0])]})}):d.length>1&&(p=(0,o.jsx)("div",{className:"bottom-tip",children:(0,o.jsxs)("div",{className:"bottom-tip-item",children:["Element: ",JSON.stringify(d)]})})),(0,o.jsxs)("div",{className:"blackboard",children:[(0,o.jsxs)("div",{className:"blackboard-main-content",style:{width:"fit-content",maxWidth:"100%",position:"relative"},children:[u&&(0,o.jsx)("img",{src:u,alt:"screenshot",className:"blackboard-screenshot",draggable:!1}),(0,o.jsxs)("div",{className:"blackboard-overlay",style:{aspectRatio:`${l}/${A}`,"--ui-scale":Math.max(1,Math.sqrt(l/1920))},children:[n&&(0,o.jsx)("div",{className:"blackboard-rect blackboard-rect-search",style:{left:`${n.left/l*100}%`,top:`${n.top/A*100}%`,width:`${n.width/l*100}%`,height:`${n.height/A*100}%`},children:(0,o.jsx)("span",{className:"blackboard-rect-label",children:"Search Area"})}),c.map(e=>{let t=sA(e);return(0,o.jsx)("div",{className:"blackboard-rect blackboard-rect-highlight",style:{left:`${t.left/l*100}%`,top:`${t.top/A*100}%`,width:`${t.width/l*100}%`,height:`${t.height/A*100}%`}},`${e.key}-rect`)})]})]}),(0,o.jsx)("div",{className:"bottom-tip",style:{display:e.hideController?"none":"block"},children:p})]})};var sY=r(9783),s_=r(7294),s$=r(4985),s0=r(1090),s1=r(2946),s2=r(90),s3=r(3776);let s5=e=>{let{text:t,disabled:r=!1,speed:n=5,className:i="",colorTheme:a="blue"}=e,s={"--animation-duration":`${n}s`},l=`theme-${a}`;return(0,o.jsx)("div",{className:`shiny-text ${l} ${r?"disabled":""} ${i}`,style:s,children:t})},s7=(0,o.jsxs)("span",{children:["Don't worry, just one more step to launch the playground server.",(0,o.jsx)("br",{}),"Please run one of the commands under the midscene project directory:",(0,o.jsx)("br",{}),"a. ",(0,o.jsx)("strong",{children:"npx midscene-playground"}),(0,o.jsx)("br",{}),"b. ",(0,o.jsx)("strong",{children:"npx --yes @midscene/web"})]}),s4=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s7;return(0,o.jsx)("div",{className:"server-tip",children:(0,o.jsx)(y.A,{message:"Playground Server Not Ready",description:e,type:"warning"})})},s8=(0,o.jsx)("div",{className:"result-empty-tip",style:{textAlign:"center"},children:(0,o.jsx)(s5,{disabled:!0,text:"The result will be shown here"})});var s6=JSON.parse('{"content":[{"content":"Swag Labs","rect":{"left":895,"top":38,"width":130,"height":32,"zoom":1},"center":[960,54],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"d6c5e2f100","attributes":{"nodeType":"TEXT Node"},"indexId":0},{"content":"Username","rect":{"left":814,"top":154,"width":292,"height":40,"zoom":1},"center":[960,174],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'a9021f480e\']","id":"a9021f480e","attributes":{"class":".input_error.form_input","placeholder":"Username","type":"text","data-test":"username","id":"user-name","name":"user-name","autocorrect":"off","autocapitalize":"none","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":1},{"content":"Password","rect":{"left":814,"top":209,"width":292,"height":40,"zoom":1},"center":[960,229],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'580f3b761d\']","id":"580f3b761d","attributes":{"class":".input_error.form_input","placeholder":"Password","type":"password","data-test":"password","id":"password","name":"password","autocorrect":"off","autocapitalize":"none","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":2},{"content":"","rect":{"left":814,"top":253,"width":292,"height":45,"zoom":1},"center":[960,275],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'3e1faf0fd6\']","id":"3e1faf0fd6","attributes":{"class":".error-message-container","nodeType":"CONTAINER Node"},"indexId":3},{"content":"Login","rect":{"left":814,"top":303,"width":292,"height":49,"zoom":1},"center":[960,327],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"[_midscene_retrieve_task_id=\'6db0b64062\']","id":"6db0b64062","attributes":{"type":"submit","class":".submit-button.btn_action","data-test":"login-button","id":"login-button","name":"login-button","value":"Login","htmlTagName":"<input>","nodeType":"FORM_ITEM Node"},"indexId":4},{"content":"Accepted usernames are:","rect":{"left":570,"top":435,"width":221,"height":21,"zoom":1},"center":[680,445],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"5ca36a5942","attributes":{"nodeType":"TEXT Node"},"indexId":5},{"content":"standard_user","rect":{"left":570,"top":479,"width":109,"height":19,"zoom":1},"center":[624,488],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"fd2fe54174","attributes":{"nodeType":"TEXT Node"},"indexId":6},{"content":"locked_out_user","rect":{"left":570,"top":503,"width":126,"height":19,"zoom":1},"center":[633,512],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"403daee75b","attributes":{"nodeType":"TEXT Node"},"indexId":7},{"content":"problem_user","rect":{"left":570,"top":527,"width":101,"height":19,"zoom":1},"center":[620,536],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"2b34f1e161","attributes":{"nodeType":"TEXT Node"},"indexId":8},{"content":"performance_glitch_user","rect":{"left":570,"top":551,"width":193,"height":19,"zoom":1},"center":[666,560],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"6ae63a4d9e","attributes":{"nodeType":"TEXT Node"},"indexId":9},{"content":"error_user","rect":{"left":570,"top":575,"width":84,"height":19,"zoom":1},"center":[612,584],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"76030282f1","attributes":{"nodeType":"TEXT Node"},"indexId":10},{"content":"visual_user","rect":{"left":570,"top":599,"width":92,"height":19,"zoom":1},"center":[616,608],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"f34b057726","attributes":{"nodeType":"TEXT Node"},"indexId":11},{"content":"Password for all users:","rect":{"left":960,"top":435,"width":221,"height":21,"zoom":1},"center":[1070,445],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"e693f608cd","attributes":{"nodeType":"TEXT Node"},"indexId":12},{"content":"secret_sauce","rect":{"left":960,"top":477,"width":101,"height":19,"zoom":1},"center":[1010,486],"page":{"page":{"_isDragging":false,"_timeoutSettings":{}},"pageType":"puppeteer"},"locator":"","id":"cde9de9828","attributes":{"nodeType":"TEXT Node"},"indexId":13}],"size":{"width":1920,"height":1080},"screenshotBase64":"data:image/png;base64,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8xecP25c2/qkSycuun/hzOuuG3nIiEcWLlz56xfbBgYAAIBPMwEagO3AQ4sW9evb9/h3q2tdXd2EsWN/8eCDlbeXfPOKsy+84OBhww4YMmTrb108YUJ9fd3Io46ccMklZ5xy6ueHD6+s9+nd1Kd3U9thu/bdpbFHQ1EUpVJp3uzZzzz/3NAv/uV5Ey+dMHbsgP79t23gqqqqAf37V1VVVd7W19f1/9znKq//dKedpl151Xev/96Bo7647De/mTJpUmW9saHhntvn/tfLr3xp9PGTp0z5m+OOG3/m2MpHN98255Irrjjh6GMuu+jCmbfOOXz06AcffnjbBgMAAIBPki04ANgObNq0afYP5559+uk/vvvuoihOPOaYt9ata9vxefkrLxdFsf7tt2u6dNn6W2vWvrnnwD0+22/Xp5Y8PeywUa2trR9+leqqqjETxv/n88/X1NQseeaZR375y6OOOOKaG25o359lwzvvbNmyZff+/ZcuW3b131+3Q8+epVKptbX1C8MPbm1tnXvXneVyefkrL9/xk5+cfPzxN82eVRTFaytWvPXWuqIofnD77Xf/9KftOw8AAADkCNAAbB9u/dGPLvzyOQcNPeDRxY+PGzPmlttu27Jly4d/ZcYPbimXSzdMndqvb99Fjz9+2ZWTX1q+/EOO39zcvN/gwdOnTOnevfuGDe/s1NT06muvtffPUbyxZs3Y888//eSTr7rs8tdXrZo1d26lMg8a+Bc79Oz5DzfNbDtyS3Pze767+Mkn230eAAAAyBGgAdg+rFq9+q5/vHfcmDFda2t3auoz9647P/IrfZqarp0x4+rrruvT1HTjtGu+dtFXzrrwgqIoVq5evc+gQZVjamtrBw0ceO+CBZXjr7zssr867rjnli6tbC29zdO+tW7dpk2b+u6888pVqyp7QBel3z29cIfGxueWvnD6+HO6VFePOvTQ22fe/PN/+edfL1u29MVlL7z44hEnjK4cVl9XX1fX9b3n/Yh7uAEAAODTxR7QAGw3Zt465/BRo75+8cVz75y3bv36tvVyuVwul4uiKJXL5XK59G7qnTxx4pRJk+rr6tesXbvmzbUtLS2V9V88+OCIgw46eNiwno2NE8+/4E+6daus79q3b9farpUzHHX4EYcceFDbJUqlUrlcLhWl37149xK/z8aNGx9+7LFxY8bs0Nh44P77/+2J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QoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoCE6ZwSAAAInUlEQVQGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIEKABgAAAAAgQoAGAAAAACBCgAYAAAAAIOJ/AFTldxexlFiCAAAAAElFTkSuQmCC","screenshotBase64WithElementMarker":"data:image/png;base64,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vn9Zpk27K62tozJ7ztxMn/5g9t9vdGruvufebGqvPQen5nOf/1K+9e2L06mpqTE77NAv+++3X0495eTstNNOebVd8J9fy/cvuSwvpl+/fvnhD76fTgfsv1923nmnPPXUghz+pqNyyCFvSEPXrrlj6rQ899zz+dAH359vf+fivJj9998v69evz2lnvCvDhg5J//79M/ePf8xTTy1IfX19vvPtr6d//x2yse2375NzPvyhfO0b38qnJ3w2l1z2g4wZ84YsXbI00+68MytWrMzee++V17/+oAAAALDtqA8AAADbjPr6+vznBV/Orrvskttu+02m3XlX7pg6LTU77NAvJ580Pp/8xL+nqakxmxq178jMn/9kRreOysZGj25NTV1dkZEjhmdTp/3TKVm3bl2+9/3LMvPhWZn58Kz06NEjb37TEfnSFz+bL37pq7n7nnuzqeOPPy5fvfCirF69JnvvtWcqlUqq1WqWr1iRRx+dlwcffCg/nXh1fnLl5Rk6dEheTU8//UyefvqZvJiVq1ZnY926dcvEn/w4Hz7n3Myc+XBuvPGm1AwevEc+8R8fT+uoUfn2dy7Oixm8x+4596Mfzoc/8i+597778/Cs2amrKzJy5Ii8591n5vUHH5QX8oEPvDfb990+3734kjz11IL87Gc/T0337t0zfvwJ+cynPpGGhoYAAACw7ags3rC6GgAAALZJq1atyh//9EgG7rxT+vXrl83tySf/kuUrVmTI3nunrq7I/+RTn/lsfvazn+ezEz6dU045ORtbt25dzj3v47nttt/kiMP/IRd/95vZWqxZsyZ//OMj2WWXgenTp3derjVr1uZPf/pTXve616W5uWdeio6Ojvz1r4uyYMGC9OnTJ7vuukuKoggAAADbnvoAAACwzerevXtGt47KlrLLLgPzUt1yy22pOfbYo7OphoaGfOB9Z+W2236TeY89lq1JU1NTRo0amVeqqakx++47Mi9HURQZMKB/BgzoHwAAALZtRQAAAGArtF2vXqmZPWduXsjDD89KzfB99gkAAADwX+oDAAAAW6Gjj/7HfOe738v73n92xh1zVIYP3yev221Q5sz9Y+6774Hc/pvfpq6uLm95y7EBAAAA/kt9AAAAYCv0kQ9/MGvWrMlPJ/4sP7v6mvzs6muysZ49e+Rb3/ha3vCGgwMAAAD8l/oAAADAVqhSqeTf/+1f84EPvDd3/GFqnn7mmSxduiyDBu2avffeK4P32CONjQ0BAAAA/j/1AQAAgK1YS3Nzxo07OgAAAMD/rggAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEJ9AAC2pPaOpK092dCRakdHAAAAyqhSFEl9kXStS+qKAABsKfUBANhS1qxPZUNHGhsb06WpS+rq6gIAAFBG7e3tWb9+fdauXptqfZE0dQkAwJZQHwCALWFVW7rU1adHr+YAAACUXV1dXerq6tLY2JiVq1Zl/aq2pHvXAABsbkUAADa3NevTpa4+Pbp3DwAAwLamR/fu6VJXn6xZHwCAza0IAMDm1N6RyoaO9OjePQAAANuqHt27p7KhI2nvCADA5lQEAGBzamtPY2NjAAAAtnWNjY1JW3sAADanIgAAm9OGjnTp0iUAAADbui5duiQbOgIAsDkVAQDYjKodHamrqwsAAMC2rq6uLtWOjgAAbE5FAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohfoAAABsTSqVALymVKsBAADYWtQHAABga1OtBuA1oVIJAADA1qQIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCfQAAADaXSiUAAAAAbDlFAAAAAAAAACiFIgAAAFtaS0uqjz2WjB2bl2L9+vX55je/meXLl2dT3/ve9/L0008HAAAAgKQIAADAltTSkup116Wy2255qarVap566qm0t7dnUwsXLsy6desCAAAAQFIfAACALWXs2GTSpFQCAAAAwOZQHwAAgC1l8uTk619PJk1KJk/Oq23x4sW59tprs2DBguywww45+OCDM2rUqHS66667cv/99+f555/PLrvskje96U0ZOHBgaiZOnJgRI0Zk7ty5mT17ds4777zccMMNGTFiRB566KE88sgj6dmzZ4444oiMHDkyne6+++5MnTo1K1asyIABA3LMMcdk4MCB6ejoyEUXXZSjjjoqt912W55//vnsvvvuOfnkk3PHHXdk+vTpqVQq2X///XPEEUek07x58/L73/8+Tz31VPr27ZuDDjooo0ePDgAAAMBLUR8AAIAtZdCgZP78ZOzYbA7XX399+vXrl3e+851ZsGBBLr/88uy+++5pbm7OnXfemXvuuSennnpqWlpaMmPGjFx22WX5yEc+kt69e2fx4sWZNGlSxowZk3e9611pamrK4sWLc91112X8+PF561vfmvvvvz8TJ07MwIED07t378yePTu//vWv8573vCc77rhj7r777lx22WX59Kc/nZpFixbl9ttvzzve8Y5s2LAhEydOzIUXXpghQ4bknHPOycKFC/PjH/84AwYMyLBhw/KXv/wlEydOzIknnpg99tgj8+bNyzXXXJOuXbtm+PDhAQAAAPjfFAEAANhS5s/P5lStVvPss89m8eLFGTRoUD75yU+mR48eqbnrrrtyxBFHpLm5OdVqNSNHjswOO+yQWbNmpdOQIUMyduzYDBw4MEVRpGafffbJkCFD0tjYmDe84Q3p0aNHnnzyydQMGDAgZ599dnbcccesWLEiQ4YMSVtbWxYuXJhORxxxRHr37p1+/fpl9OjRWb16dY477rh069Yte+yxRwYPHpzHH388NdOnT88+++yTXXfdNevXr88uu+yS1tbWPPDAAwEAAAB4KeoDAACwlSuKIkVRZMOGDdlYtVrNhg0b0qVLl9ScfPLJue222/KDH/wgGzZsSGtra4488sjU/PWvf80vf/nLtLS0ZGNtbW3p1L9//2xqhx12SKdKpZK+fftm5cqVqalUKvnFL36RZcuWpaWlJZVKJTVr1qxJp759+6bT9ttvn549e6axsTGdtt9++yxbtiw1Tz/9dB577LE88cQT2VivXr0CAAAA8FLUBwAAYCtXX1+fAQMGZOHChenbt286Pffcc6lUKunfv386OjqyZs2avOUtb0lRFHnuuedy2WWXpW/fvjnwwAPTt2/fHH/88dlzzz3Tqb29PZVKJZ2KosimKpVKXsztt9+eXr165X3ve19q1q5dmwkTJmRjRVFkY5VKJS+mX79+2XXXXXPUUUelU0dHRwAAAABeqiIAAACvASNGjMgtt9ySRYsWpWbVqlWZNGlShg4dmrq6ulQqlVx66aWZOnVqarbbbrt069Yt7e3tqRk1alRuueWWrFq1KjWPP/54JkyYkOeffz6v1Pr167N+/fpUq9V0dHTkxhtvTKVSySs1YsSI3HfffXnqqadSs3z58lxwwQWZPn16AAAAAF6K+gAAALwGvPGNb8yGDRvy3e9+Nx0dHeno6Mjw4cNz4oknpqZSqeS0007LxIkTM3ny5HR0dGTXXXdNa2trag4//PCsXbs2F1xwQerr69PR0ZG3ve1t6du3b16pN7/5zbn88svzuc99Lh0dHdl///3Tv3//vFJ77LFHxo0blx//+MepVqtZvXp1Dj300IwePToAAAAAL0V9AAAAXiPe9KY35U1velOWLVuWnj17piiKbGyXXXbJxz/+8axcuTL19fVpbGxMp0qlknHjxuXoo4/OihUr0tLSko198IMfzKY++MEPZlPvfe9706lv37752Mc+luXLl6dLly5pamrKxr761a9mY3vvvXc+8YlPZGNHHXVUNtba2prW1tYsW7YsPXv2TFEUAQAAAHip6gMAALClPfFEMmFC8sQTeSVaWlryP+nRo0deTFEUaWlpyaupubk5r7aWlpYAAAAAvFz1AQAA2NLmz0/OPz8AAAAAvLqKAAAAAAAAAFAK9QEAANhcqtW8bJVKAAAAAHhligAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUAr1AQAA2MqtWbMmAFuDpqamAAAAbM2KAAAAAAAAAFAK9QEAANjKNTU1BQAAAID/XREAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSqA8AAMDWplIJAAAAAC9ffQAAALYm1WoAAAAAeGWKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhPgAAAFuTSiUArynVagAAALYW9QEAANjaVKsBeE2oVAIAALA1KQIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAKRQAAAAAAAAAohSIAAAAAAAAAlEIRAAAAAAAAAEqhCAAAAAAAAAClUAQAAAAAAACAUigCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAfAACAzaVSCQAAAABbThEAAAC2Gm1tbWlrawsAAADAK1EfAACALWHs2OScc1JtaUlNZdmyZMKE5KGH8lJcfPHFWb9+fWoaGhqy00475YADDki/fv1SJtdff30aGxtz7LHHBgAAAODlKgIAALC5tbQkkyYlgwalMmVKKlOmpNrSklxxRdLSkpdiwYIFGTNmTE466aS88Y1vTFtbWy6++OI8//zzAQAAAOC/1AcAAGBzmzAh6dUrOeywZNmy1FTGjk0mT07OPDP5xjfyUvTp0ycDBgzIgAEDsueee+axxx7LnDlzcsghhwQAAACApD4AAACb24wZyTnnJMuW5f81ZUr+plevvFLbb799li9fnprHH388v/71r/PXv/41vXv3zpgxY7Lffvulpq2tLddff33mzp2bbt26Zfjw4TnyyCNT09bWluuvvz5z585Nt27dMnz48Bx55JF5/PHHc/vtt+ess85KzdNPP52rrroqRx99dIYNG5aaa6+9NoMGDcp+++2X+fPn57e//W2efPLJ9O7dO62trRkzZkxqOjo6ctFFF+Xtb397brnllqxduzYf+tCHsmzZstx000157LHH0qVLl4wePTrVajUAAAAAr1R9AAAANrcf/Sj/P8cfn7+ZPDkvV3t7e+bNm5dHHnkkb3jDG7Jy5cpccsklOeGEE9La2ponn3wyP/zhD9OvX7/ssssuueuuu/LMM8/kvPPOS1tbWy699NIMHDgwQ4cOzV133ZVnnnkm5513Xtra2nLppZdm4MCBGTx4cJ544ok8//zz6dOnT2bNmpU1a9ZkxowZGTZsWNrb2zNjxoyMGTMmCxYsyA9/+MOMGzcup512WhYtWpQrr7wy7e3tGTt2bKrVahYtWpRf/OIXOeSQQ7LTTjtl7dq1ueSSS7Lbbrvl7LPPTrVaza233pqZM2fmoIMOCgAAAMArUR8AAIAtbeTI5IorkhkzkilT8lJdccUVqaurS1tbW7bbbruMHz8+gwcPzurVq/P+978/AwcOzPLly9OrV6/suOOOeeyxx7LLLrukZuXKlVm4cGF22223nHvuualWq+m0cuXKLFy4MLvttlvOPffcVKvV1NfXZ/DgwfnTn/6U17/+9ZkzZ07Gjx+fa665Ju3t7Xn88cfTvXv39O/fPzfeeGOGDh2a/fffPzU777xzjjvuuNxwww0ZO3ZsOo0dOzb77rtvah5++OFs2LAh48ePT6VSSc1JJ52UP//5zwEAAAB4peoDAACwJY0cmUyenOqSJamceWZejlNPPTUDBw5Mly5dUldXl05dunTJvffemyuvvDLbbbdd6urq8uyzz2bNmjWpOeSQQ7Jhw4bccMMNWbJkSfbcc8+MGzcu2223XQ455JBs2LAhN9xwQ5YsWZI999wz48aNy3bbbZchQ4Zk7ty5GTZsWJYuXZohQ4akf//+mTdvXh599NEMGTIkNQsWLMjQoUOzsQEDBmTJkiVZs2ZNunbtmpr+/fun09NPP50BAwakUqmkU1EU2XHHHQMAAADwStUHAABgSxk7Npk0KXniiVQOOyxZtiwvR9euXdPY2JhNzZw5M48//ng+9rGPpUuXLqn51re+lU5Lly7NmDFjcvjhh2fNmjW5+uqrc/PNN+fUU0/N0qVLM2bMmBx++OFZs2ZNrr766tx888059dRTM3To0PzqV7/KzJkzs/fee6coigwdOjSzZs3K/Pnzc8wxx6SmX79+efbZZ7OxRYsWpbm5OU1NTWlvb09NXV1dOvXr1y8PPfRQNrVo0aL07ds3AAAAAK9EEQAAgC3hHe9IJk9OJk1KDjssWbYsr5b169envb097e3tqbn//vuzcOHCdLr11ltz9dVXp729PU1NTenVq1fa29tTc+utt+bqq69Oe3t7mpqa0qtXr7S3t6emubk5/fr1y6233pphw4alZtiwYbn//vuzePHi7L777qkZOXJkHnrooTz66KOpWb58eW6++ea0trbmxQwePDjr1q3L7bffng0bNmTDhg255ZZbsnTp0gAAAAC8UvUBAADY3EaOTK64IrniiuSd78yrrbW1NbNnz84XvvCFNDQ0ZIcddsh+++2XTuPGjcvEiRNz/vnnp6GhIQ0NDTnjjDNSM27cuEycODHnn39+Ghoa0tDQkDPOOCOdhg4dmmeeeSZ77rlnavr06ZM+ffqkX79+qaurS83uu++e8ePH55prrsn69evT0dGR1tbWHHXUUXkx3bt3z7vf/e78/Oc/z5QpU1KtVjN06NAceOCBAQAAAHilKos3rK4GAGAzqS5bk969ewfYRlUq+ZvLL0/OPDMvaMKE5Pzz899Uq3kl1q5dm7a2tjQ3N+eFrFu3Lm1tbenZs2c2tW7durS1taVnz575eyxfvjw9e/ZMpVLJS7V69eoURZHGxsYArzGVSlKtBuClWrx4cSotTQEA2FzqAwAAsLk98UQyYUJe0OTJebU0NjamsbExL6ahoSENDQ15IQ0NDWloaMjfq7m5OS9Xt27dAgAAAPBqqA8AAMDmdv75AQAAAGDzKwIAAAAAAABAKdQHAABgc6lW87JVKgEAAADglSkCAAAAAAAAQCkUAQAAAAAAAKAUigAAAAAAAABQCkUAAAAAAAAAKIUiAAAAAAAAAJRCEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEAp1AcAAGArt3jx4gBsDXr37h0AAICtWX0AAAC2NpVKNtY7AAAAALwU9QEAANjaVKsBeE2oVAIAALA1KQIAAAAAAABAKRQBAAAAAAAAoBSKAAAAAAAAAFAK9QEAANjaVCoBAAAA4OWrDwAAwNamWg3Aa0KlEgAAgK1JEQAAAAAAAABKoQgAAAAAAAAApVAEAAAAAAAAgFIoAgAAAAAAAEApFAEAAAAAAACgFIoAAAAAAAAAUApFAAAAAAAAACiFIgAAAAAAAACUQhEAAAAAAAAASqEIAAAAAAAAAKVQBAAAAAAAAIBSKAIAAAAAAABAKRQBAAAAAAAAoBTqAwAAsLlUKgEAAABgyykCAAAAAAAAQCnUBwAAYEsZOTI588xUR45MTeVHP0p+9KMAAAAA8OqoDwAAwJaw667JjBnJjBmpTJqUv7niiqRXr+Qb3wgAAAAAf7/6AAAAbAkTJiRLlyajRqVTdezYVM48M/nGNwIAAADA368IAADAlnDFFcm++2ZjlSlTkkGDAgAAAMCroz4AAABbwpQp+W+OPz4555zknHMCAAAAwKujPgAAAFvSrrsmTzyRv5kxI1m6NAAAAAC8OooAAABsSfPnJ716JYcdlsyYkUyalLS0BAAAAIC/XxEAAIAtbdmyZMqU5Otfz98cdlgAAAAA+PsVAQAA2BI+85lk7Nj8Nw89lL/Zd98AAAAA8PcrAgAAsAVU3/GOVD/zmfw3Y8fmbyZPDgAA/w978AGedWEobP9+/klIAIEEWWEjEEwgbAgQZLlwa6tWUVzUhQpOfGvtcbQ9ra2tgqMVVIaNOGjVFo+jiKAispcIBNmEQDAkjGDIet7vf67r+S6uHHve4qmKz7l/P0mSpP+5RCRJkiTpWxB56CGYNg1WrIDXX+c/3X470fffJzJ/PpIkSZIkSfqfS0SSJEmSvg3Tp8PWrUQfeACGDiUUefBBItOmIUmSJEmSpH+NRCRJkiTp2zJ/PpERI5AkSZIkSdI3I0CSJEmSJEmSJEmSFBcSkSRJkqRvSjTKMYtEkCRJkiRJ0tcTIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKCwGSJEmSJEmSJEmSpLgQIEmSJEmSJEmSJEmKC4lIkiRJ0vEmEkGSJEmSJEnHLhFJkiRJOt5Eo0jS90IkgiRJkiQdTwIkSZIkSZIkSZIkSXEhQJIkSZIkSZIkSZIUFxKRJEmSpONNJIIkSZIkSZKOXSKSJEmSdLyJRqkt/8heppZ8wsdlW4kSRZK+DREiDKrfnmvTBpCR3JT/IhJBkiRJko4niUiSJEnScS7/yF6u3/kSUaJI0rcpSpQFZVv4uGwrU1pfRkZyUyRJkiTpeBYgSZIkSce5qSWfECWKJH1XokSZWvIJkiRJknS8C5AkSZKk49zHZVuRpO/ax2VbkSRJkqTjXYAkSZIkHeeiRJGk71qUKJIkSZJ0vAuQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXAiQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXAiQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXAiQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXAiQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXAiQJEmSJEmSJEmSJMWFAEmSJEmSJEmSJElSXEhEkiRJkr4pkQiSJEmSJEn69gRIkiRJkvS/XM3hCg4u2ES0ugZJkiRJkr7PAiRJkiTp29aoEZSUwAMPIP13Di7awmdnTqSmvJJv0v73N7Dj4dl8+VkhkiRJkiR9nyUiSZIkSd+2adMgNRXpeNFoeBcSUutSNysdSZIkSZK+zxKRJEmSpG/T+PFEe/QggnT8COrVoWFuJyRJkiRJ+r5LRJIkSZK+LT16wIMPErnwQpg3D+lfIXqkiqLpCylbsZ3KLw5Rr2tL0s7tzgl92xFTc7iC3X+YT9nKHUSraqjaV0biifVJbFSXlneeTjQapfCxObR75IckNEzh4MLNlL69lmbXDmLPlA/5cv1uklo05MSLetHotEwkSZIkSTpeBUiSJEnSt2XaNJg2DebPR/pXiB6pYvsDf+XQkq00vXog7X79A5I7NGHHA3/j4MLNxOx4+E0qdpbQ6p4zafNv55DQqC5VxWW0vOdM6rRtTE15JeWbvyBaXUOo+mA5Zat3UvDI26SO7Erbf7+QuhnNKXj075St3IEkSZIkScerRCRJkiTp2/DAA0QbNSLy4INI/yoHF23h8JpddP7TdSSm1SOU0rEpNV9WUPTcRzQYeBI1hysoW7mDtr+4gHrdWxFq88C5bL3zVRIbphAkJ/JVag5X0GzMYE7o245Q3YzmHFiwiUNLt1G/ZxskSZIkSToeBUiSJEnSN61HD3jwQSLXXgv79yP9qxxeU0BKp6YkptXjaCf0bc+RHSVUlR4mqJtEQoNkjmwrJubItn1EkhNJaFSXfygSoV52K/5/kQj1e7SmYkcJkiRJkiQdrxKRJEmSpG9Y9LXXYMsWIsOGwbBhxESHDiXywAPw0ENIX0fNkSoiSQnUFklKIBStqoFIhCaX9WPP5A8pW76dSGICh1Zsp/m1g4gkJfCPROokECQncrRIUgI15ZVIkiRJknS8SkSSJEmSvmlbtxKKDh1KTIT/T/v2RIEI0tdTr1tLDszbQM2XlQR1k4gpW7mDOumNSGpyAlWlhyl99zPqZqbTYOBJhJpdM5DkDk2QJEmSJCneJCJJkiRJ37DIiBH8F9EokenT4aGHkP5fqg8dIVpZzdGCenVoMKgjxa8sZccDf6XFbSNIalKfA/M3UvzKUlrcOpzQoUVbOLK1mHpdW1K55yCJTU+gprySaGU1kaQEJEmSJEmKJ4lIkiRJknSc23jFc9TW7pEfUL9nG9o98kMKfvsum2/OI1pVTZ0WjWgxdhhpZ3Uj1HBIBkXTFnJ47S5SOjbl4Meb2TPlQ5KaNaTdry8iqWkDJEmSJEmKF4lIkiRJ0nfhwQdh3jyk/06DnA5kvTOe/07iifVp9+uLiB6povpgOYlNTuBo+15bQcIJyWTkjYEgQqjmcAUbr57K/r+vo8mo/tTv3pqsd8YTk3pGFqlnZFFbqwlnIkmSJEnS8SwRSZIkSfouPPQQ0r9SJDmRxOQTqK2moor/FIkQE6QkEdStQyQpAUmSJEmS4kkikiRJkiTFsUYjTqZk9hq23vkKJww4CSJw8ONNRBICGo04GUmSJEmS4kkikiRJkvRNiUY5ZpEI0r9SctvGdJwymtK3P+XI9n1EggiNRpxMo2FdSGiYgiRJkiRJ8SQRSZIkSZLiXGJaPZpc3h9JkiRJkuJdgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiQd5yJEkKTvWoQIkiRJknS8C5AkSZKk49yg+u2RpO/aoPrtkSRJkqTjXYAkSZIkHeeuTRtAhAiS9F2JEOHatAFIkiRJ0vEuQJIkSZKOcxnJTZnS+jJy63cgQgRJ+rZEiJBbvwNTWl9GRnJTJEmSJOl4l4gkSZIkfQ9kJDflVy3OQ5IkSZIkSf9YgCRJkiRJkiRJkiQpLgRIkiRJkiRJkiRJkuJCgCRJkiRJkiRJkiQpLiQiSZIkScebSARJkiRJkiQdu0QkSZIk6XgSjSJJkiRJkqSvJ0CSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcCJEmSJEmSJEmSJElxIUCSJEmSJEmSJEmSFBcSkSRJ+obt27cPSZIkSZIkSdI3L0CSJEmSJEmSJEmSFBcSkSRJ+oZl9O+HJEmSJAnyFy9BkiTpmxQgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLAZIkSZIkSZIkSZKkuBAgSZIkSZIkSZIkSYoLiUiSJP0vMKBfP4YMHERo0uRnKC8vR9A1M5N/v/9nVFRWcMk11yBJ8axRw4bceM21HG1HwU6WrlzJxk2bEHTNzOTf7/8ZFZUVXHLNNXwdvbp35/yRZ9G9a1eSkhJZsGgxj0x8nOPZReecw7VXXEFo246dvDhrFguXLKa2l5+fSt2UZCoqKlmwaBFTZkznUFkZkiRJknQ8SUSSJOl/gXHX38AZI0YQWvnpGt6dO5fvk66ZmaQ2bMjiZcuorKriX6VRg4bk5uRQUVmJJMW7Rg0bMmHcOL7K4uXLufzHY9h/4AD/mzVq0JDcnBwqKiv5OpqceCJ/e3EmKSkpxBTvK+F41zK9JYP65xAa1D+Hi845h4x+/Tj85WGONrBfX+rVrUdo2ODBJCUl8ZtJE5EkSZKk40kikiRJca5OUhLDTjmFmDOHj+DduXP5Pnl+0hN07NCBjL592FdaiiTpf+bp557lUNlhBvTtyykDB9K/d2/uuW0c9//yF+jr69KpEykpKVRVVzP27rvYU1RE8b59HO9ef3M2K9esJikpiVnTppOSkkL7tm34bMMGjnbpddeREASMGT2a80eeRVaXLkiSJEnS8SYRSZKkODckN5c6SUnEnHnqCO76Gf9FEAQMHzyYzC5d2LhpM3Pmz6O6upra6terxxkjRpDerDlLV65g8fLlfJV+vXrRr3cftmzbypx586isqiKmS6dONDnxRNbn55OSksIZI0ZQtHcvH3z8MQcPHSKUkpJCnx49OKH+CXRo145Q/z59OXjoIKFVn37KobIyYhISEhgxZAgZHTuxdMVyFi1bRm1BENC7ew/69erFijWr+bo6duhAi2bNKPriCzZu2kSoTp069OvVi9CSFSuoqKggFAQBpwwcSLfMLHYX7WHeRx9RvG8ftSUkJDBiyBAyOnZi6YrlLFq2jKN1OukkmjdtSnn5EZavXkUQBOT06UvfXj1JSU5m4jPPUDclha4nn0xJaSmfb97M4AEDOTkjg8XLlrF05Qpqa9igAacOHUqr9HS27djB3A8+oOzwYUJ9evQkJSWZ1WvXcsFZZ7Ng8SK2bNvGgL596dK5M3/+6185VFZGTEJCAiOGDCGjYyeWrljOomXL+CpdMzPJ7d+f8iNHWLBoEZu2bOHratigAacOHUqr9HS27djB3A8+oOzwYWL69OhJSkoyu4uK2LRlC/Xq1mPIoEF0yzyZvcXFTJ85k5iEhARGDBlCRsdOLF2xnEXLlvFVMjp24vFf/YoT6tfnjvvuY9mqlUjfR08++yxFe/cSmjBuHBPGjWf4KadwtIYNGnDq0KG0Sk9n244dzP3gA8oOH6a2rpmZ5PbvT/mRIyxYtIhNW7ZQW7269Rh+ymA6dujA+o0bmffRR1RUVBA6uXNnTmzcmJ27drFtxw569+hB3ZQUtmzbxq7du8np04fExETWrl9P6f79hDp37MipQ4awZ+9e/v7++xwqKyOmaZMmZHTsSDQKS1euoKKigqwuXcjNySEtNZXX3nyTjZs2EQqCgN7de9CvVy9WrFnN13ViWhonZ2TQv3cfQmVlZewpKuIf6dyxI6cOGcKevXv5+/vvc6isjJimTZqQ0bEj0SgsXbmCiooKsrp0ITcnh7TUVF578002btrEsYhEIpw6dCiZGRnsKdrLgkWfUFBYSExBYSEFhYUkJSYSk5SURG2fLFlCaNjgwYTqJCXxdfXu0YO6KSls3LyZor17CTVt0oSMjh0pLz/CslUrialXtx7DTxlMxw4dWL9xI/M++oiKigpqS0hIYMSQIWR07MTSFctZtGwZR+vToycpKcnsLipi05Yt1KtbjyGDBtEt82T2FhczfeZMYlq2aMGQQYNonNaY5atX8cmSJXyVjI6dePxXv+KE+vW54777WLZqJZIkSZK+W4lIkiTFuTOHjyA0Z/58Th0yhBbNmtM1M5O169YR06ZVK/70zGS6nnwyMZ9t2MDlPx5DQWEhMUNzc5kycRKNU1OJeW32bMbefReVVVWEGjZowPNPPMmwwYOJ2bJtGxdfczXbduwgdPdt47jonHP4ZMkScvr2JRKJEDpw8CDnjbqctevWkd68OW/kvcjR/vTMM8Sc/oOLWLF6NaEunTqRN3kK7du2JWbOvHlcc+stlJeXE6pTpw6vPD+VwQMGEFO4Zw+haE0Nx+Lma6/jmlGjmPnnP3PbvRMInZiWxht5LxLqPjiXXbt30+TEE3kj70W6dOpEzJEjR7j13gm8Nns2MV06dSJv8hTat21LzJx587jm1lsoLy8ndOv113PlJZcS+nzzZvI3beLs008nZvL06XTv2pW/zHiBbTt3UCepDunNmxPzyMTH+e0TTxDTMzubvGcm07xZM2IKCgu5aPSVbN66lT/+/vd0aNeO3UV7aNGsOTU1Nbz57rucN3IkodGX/ojTf3AR0WiULp06kTd5Cu3btiVmzrx5XHPrLZSXlxNKSEhg8uOPc8FZZ3O0ydOnc9/PH+ZY9czOJu+ZyTRv1oyYgsJCLhp9JZu3biX0zGOP0b5tW0Kv/8eb9O7eg7atWxNau24d02fOJNSlUyfyJk+hfdu2xMyZN49rbr2F8vJyjnbtFVfQv3dvQmN/PIYxt92G9H23dfsOQg0bNCCmZ3Y2ec9MpnmzZsQUFBZy0egr2bx1K6GEhAQmP/44F5x1NkebPH069/38YWL69+5N3uQppKWmElO4Zw8Xjb6Szzdv5tILL2LcjTfyyuuvceuECfw170VSUlKYMmMGD//2N7z58iuE+gwbRllZGY/+/BdcccklxJSUlnLzXXcyZ/58QsMHn8LTjz5K6MDBg7w2ezZXX345MWvXr2fjpk3UqVOHV56fyuABA4gp3LOHULSmhmMxoF8/pj/9B2IaNWzIG3kvEpr9zjtcc8tYQkmJiTz6819wxSWXEFNSWsrNd93JnPnzCQ0ffApPP/oooQMHD/La7NlcffnlxKxdv56Nmzbxz0pt1IiXnnuOvj17EVNeXs71t4/nrTlz+K489Zvf0rljR26dcA8v/eUvhIbm5vLH3/2eLdu20e/UEYT69+5N3uQppKWmElO4Zw8Xjb6SzzdvJqZLp07kTZ5C+7ZtiZkzbx7X3HoL5eXlhJ557DHat21L6PX/eJPe3XvQtnVrQmvXrWP6zJmEbr72Oh74P/+HxIQEYj5ZupRLr72Ww18e5mjXXnEF/Xv3JjT2x2MYc9ttSJIkSfpuBUiSJMW5kaedRui12X9j6cqVhM469VRiGjVsyOt5eXQ9+WSOHDnCqk8/paKykqwuXXj+ySeJ6dW9Oy899zyNU1MpKS3lsw0biEajXHTuufzkjjsJJSQk8PLzUxk2eDAHDh7khZdfIn/T53Ro147X/5RHwwYN+E/RKKEB/fpRXVPD+o0bCTVs0IA//fEZ6iQlUV5ezoJFi1i2aiUxi5YtY8GiRSxYtIhDZWWEWqWn8+bLr9C+bVu2bNvG1Lw8vigu5rRhw3hu0iRixl43hsEDBhDaXbSH4pIS0ps35+uIRCLUFolEiIlEIoRuuPpqunTqRPG+fUyZMYNFy5aRnJzMow//nCAICLVKT+fNl1+hfdu2bNm2jal5eXxRXMxpw4bx3KRJxGzasoWPFy+ipqaGTiedxNmnn84/0q51G9KbN2fz1q1UVVcTuuvW22jZogWh+vXq8fJzz9O8WTMWLlnM9JkzKS8vp1V6Or/86f0crWjvF3y67jOCIODMESN46S9/IdQzO5t2bdrQKj2dN19+hfZt27Jl2zam5uXxRXExpw0bxnOTJhEzeMAALjjrbKqrq3lx1iz++vZbRKNRbrj6arplZnEs6terx8vPPU/zZs1YuGQx02fOpLy8nFbp6fzyp/cTs3zVKlavXUvowrPPoW3r1tTWKj2dN19+hfZt27Jl2zam5uXxRXExpw0bxnOTJlHb7Hfe5siRI1RVV/Pa7NlI31f9e/cmNyeHYYMHM2b0lYTWrF1LqH69erz83PM0b9aMhUsWM33mTMrLy2mVns4vf3o/MYMHDOCCs86murqaF2fN4q9vv0U0GuWGq6+mW2YWMf824V7SUlNZv3Ejz0ybxtbt20lv3px/u2cCoaUrVxDKzOhCZpcupKSkEOrVPZvMjAxCxSUlbNu5gyce+Q1XXHIJ0WiUDZ9/zr7SUtJSU8mbPIUB/foR2vvFFyxYtIiS0lIaNmjA1ZdfzlcZe90YBg8YQGh30R6KS0pIb96cr6N43z4+XryIdfn5hCqrqvh48SI+XryIdfn5xDzxyG+44pJLiEajbPj8c/aVlpKWmkre5CkM6NeP0N4vvmDBokWUlJbSsEEDrr78cv4nnvrtb+nbsxefb97M5OnT2VNUREpKCk/99lHqJCXxXYlEItQWIUIoCAJi/m3CvaSlprJ+40aemTaNrdu3k968Of92zwRiWqWn8+bLr9C+bVu2bNvG1Lw8vigu5rRhw3hu0iRilq9axeq1awldePY5tG3dmtrq1KnDQz/5CYkJCcxfsICpeXnsP3CAAX37MvpHl1Lb7Hfe5siRI1RVV/Pa7NlIkiRJ+u4lIkmSFMe6nnwy6c2bE5ozfz7t2rShX69enDF8BI8++SShUT+8mHat27D3iy8YfNZIiktKaNu6NYvfm0ufHj3pmZ3NyjVruOuWW0hKTGTuhx9w+Y9/THV1NZdccCF/+N3vuOqyy/jVY79nyKBB9OvVi8qqKu66/6cUffEFf/7b33jqt4/SplUrLr3wIp59YQZEIoQK9+xh2HnnUrxvH4MHDOD1P+XRplUrThk4kPc++IALrhjFSe3bs3jOe4SuuulGiktKONqYK0eT2qgRBYWF3PWz+6murubDhQuZMnEiZ444lcyMDNbl5zNm9GhCTz//HA/++tckBAG/+8UvGXXxxXxTTkxrTGhdfj5/nPo8Bbt2cecttxJqcMIJ7D9wgDFXjia1USMKCgu562f3U11dzYcLFzJl4kTOHHEqmRkZrMvP54nJk3li8mQWvvMunTt2ZNOWLdx8910sX7WKrzL+J/+HvFdfpV3rNnz01lvUrVuXntnZ7Nq9m+ysLNZv3EhZWRmjbrie0MdLFvPM7x+jZ3Y2R/v1xMdp07IVjzz4IKs/W8utE+7h3DPP5IT69TkxrTHnnHEGqY0aUVBYyF0/u5/q6mo+XLiQKRMncuaIU8nMyGBdfj6N09IIlR44wPN5f2LNZ59x+Q9+SMv0dI5VdlYW6zdupKysjFE3XE/o4yWLeeb3j9EzO5uYG+64nWZNm/LZwk8IvTP3Pe598EF27tpFzJgrR5PaqBEFhYXc9bP7qa6u5sOFC5kycSJnjjiVzIwM1uXnE7Ng0SKyBg4gOTmZor17kb6vpj31NEcrO3yYh37zCKHsrCzWb9xIWVkZo264ntDHSxbzzO8fo2d2NjGN09IIlR44wPN5f2LNZ59x+Q9+SMv0dI7WpHFjQnM/mM9jf/gDU2ZM59ILL+LAwQOEFi1dSqhL58706dGDmB7dsul6ciahpSuWc3Lnzlx8wQWELv/xGObMn08QBDw36QnOGzmS++64g/NHjeL9jz7k/Y8+5NGHf841o0ZRVV3NmNtu5Z333qOqupqYMaNHE3r6+ed48Ne/JiEI+N0vfsmoiy/mWH2ydCnnjxrFWaedxgt/fIYDBw5w/qhRHO3kzp25+IILCF3+4zHMmT+fIAh4btITnDdyJPfdcQfnjxrF+x99yPsffcijD/+ca0aNoqq6mjG33co7771HVXU1x+KE+vU5of4JLFi0iHH33su2nTuY9MwzfPrxxzRs0ID2bduRv+lzjmdNGjcmNPeD+Tz2hz8wZcZ0Lr3wIg4cPEDMmCtHk9qoEQWFhdz1s/uprq7mw4ULmTJxImeOOJXMjAzW5edzwx2306xpUz5b+Amhd+a+x70PPsjOXbuISW3UiCAICP3plZd56733+Ns7bzOgbz92FBRQ24JFi8gaOIDk5GSK9u5FkiRJ0ncvEUmSpDh2+rDhhAoKCzm5c2f2HzhAqHePHjQ58US+KC6me7euhGa/8w7FJSWEtu/cSYsuGRyte9duhF58dRbV1dWEXn3jdV5943VisrO6EkpKTGTKxEnU1jXzZI7217feonjfPkIfffIJO3ftonXLlrRp3Zp/VnbXLEKt0tP5y4wXqK1bZha7i4pIb96c0MxZs6ipqaGmpoZX33idURdfTCQI+CbMePklLr3wQgYPGMCy9+exp6iI/E2bePWN19l/4ACh7K5ZhFqlp/OXGS9QW7fMLNbl51Pb9JkzWb5qFV+lurqamX/+M6FtO3fw+ZYtZGdlkd68BaFPli7l148/zvgbb2Tj0mWkpaYS07RJE0KRSIRQTU0NNdEaQtXVNYRqamoIRSIRsrtmEWqVns5fZrxAbd0ys1iXn8/cDz5g05YtdOzQgTmvvU7Z4cOsXvspK1avZsPGfI7FJ0uX8uvHH2f8jTeyceky0lJTiWnapAn/yCMTJ7Jz1y6Olt01i1Cr9HT+MuMFauuWmcW6/HyOtv/AAaR4UVBYyIrVq5n4zB/Z8PnnhD5ZupRfP/4442+8kY1Ll5GWmkpM0yZNiJn7wQds2rKFjh06MOe11yk7fJjVaz9lxerVbNiYT8wfpj7P737+C8aO+TFjx/yYdfn5FBQW8tjTTxEqLilhR0EBbVq14ofnnU9MUmIiPzzvPEJLV6wkO6sroa3btzNn/nxCNTU1TH0xj/NGjqRHt2y+ypx57/Pmu+9ytLTUVNKbNyc0c9YsampqqKmp4dU3XmfUxRcTCQL+1bKzuhLaun07c+bPJ1RTU8PUF/M4b+RIenTL5qvMmfc+b777Ll/HobIyxt17L/eMG8freXm0btmSSCRCTJMTTyR/0+ccz/4w9Xl+9/NfMHbMjxk75sesy8+noLCQx55+ipjsrlmEWqWn85cZL1Bbt8ws1uXnU9sjEyeyc9cujla0dy9/ffstzh95FlMmTqKquppVn65h67btzHjpJb7K/gMHkCRJknT8SESSJCmOnTFiBKFW6em8kfciRztj+HBenDWLaDRKKEqU/040GuX/pSZaQ2j/gQN8um4dtW3dvp2jBUHA0aLRKKGamhr+WdXVNYS279zJjoICattXso9oNEpMJBIhJhqN8nXU1NQQSkgIiElJSSEmGo0SWvXpp5z9o0u5+9bbSG/enJ7Z2TRv1oxTBg5k1aefsnb9eqqrawht37mTHQUF1LavZB9HC4KAUMn+Uv6R8iNHqKmpIaa6uppQEEQItWvThlnTppGcnMzuoj0sWLSIxmlpZGZkcKyqq2sIbd+5kx0FBdS2r2Qfof0HDjDykov52d330LnjSfTsls3Afv0Z2K8/u3bv5o9Tp/LPatemDbOmTSM5OZndRXtYsGgRjdPSyMzIoLZIJEJM6f791FZdXUNo+86d7CgooLZ9JfuQ4kWECDFZAwdQtHcvX6VdmzbMmjaN5ORkdhftYcGiRTROSyMzI4Oj7T9wgJGXXMzP7r6Hzh1Pome3bAb268/Afv3ZtXs3f5w6ldD0mTMpKSll9GU/omWLdDIzMsjMyKBXdjbZuYOoqKxk2aqVtGnVitycHEJTZszg+quuYvCAAYSWrVpJi2bNCdWpU4ejRSIRQkEkwtGCICBUuv8AtUWjUWIikQgx0WiUb0okEiFUp04djhaJRAgFkQhHC4KAUOn+A3xdSYmJvDJ1Kh07dODgoUMsWraM0IC+ffmu1URrCCUkJBCTkpJCqKamhpjpM2dSUlLK6Mt+RMsW6WRmZJCZkUGv7GyycwdRUVlJdXUNoe07d7KjoIDa9pXsIyYSiRBTun8/X+X68eNZe9M6hgzKpUunTvTp0ZM+PXpSt25drrr5JiRJkiQd3xKRJEmKU41TU+nbsyehF155mcLdewidffppdMvM4ozhI3hx1izWrt9A6LwzR/LI449TXFJCu9ZtWPTeeyQmJHDJNdfw/kcf8tn69bRKT+eKSy/hzXffobKqiksuuJA//O53VFRWktG3D5+tX08oEolw9dibKd2/n9DTjz5Kq/SWrPr0U452zhln8ItHf0vZ4cP06dGTNq1aEcr//HNiKisriYkEAbWt27CB04YOZXdRERdcMYpQWmoq0556mtDKNWvYf+AAJaWlpKWmcuE55/DZhg2Efnj++YSiNTUci73FxYS6dOpMzDlnnEFtU598isZpaTz65BN8uHAhrVu25L03/sqJaWn0yu7O2vXrWbdhA6cNHcruoiIuuGIUobTUVKY99TShlWvW8K/2g3PPIzk5mfUbNzL4rJGEfnLHnWRmZHCs1m3YwGlDh7K7qIgLrhhFKC01lWlPPU1o5Zo1hO665RaGDMrlnffe4877f0r9evX40zOTOWXgQLp37cqx+MG555GcnMz6jRsZfNZIQj+5404yMzI4Vus2bOC0oUPZXVTEBVeMIpSWmsq0p54mtHLNGo6W0bETt998E8nJyTz17LMsX7UKKd784NzzSE5OZv3GjQw+ayShn9xxJ5kZGRztrltuYcigXN557z3uvP+n1K9Xjz89M5lTBg6ke9euhFqlp/P0o78jdM0tYykpLeW0YcN46dnnOLFxY1qmp7N1+3aWrVjJhWefQ2j7zp3Mmfc+1191FTErVq+mVXo6oZYtWjA0N5f5CxYQBAHXjrqC0Io1q/ln7T9wgJLSUtJSU7nwnHP4bMMGQj88/3xC0Zoa/tVWr/2UUMsWLRiam8v8BQsIgoBrR11BaMWa1fyr9erenY4dOhDqM2wo+0pLGZqby5+nz+C79kVxMRkdO9GlUydCQRBw9mmncbRW6ek8/ejvCF1zy1hKSks5bdgwXnr2OU5s3JiW6els3b6ddRs2cNrQoewuKuKCK0YRSktNZdpTTxNauWYN/6wzR5zK2DFjKCjcxQVXjCIIAu6/627G3XgjPbp1o7aMjp24/eabSE5O5qlnn2X5qlVIkiRJ+m4lIkmSFKdOHz6cIAioqKzk3gceoKKyktCevUX87ue/4NQhQ6iTlMSLs17l9ptuommTJiz8+xzWbdhAt8xMEhMS2LlrFx8s/JjQE1OmcPrw4QwffAoL3/07u/fsoV/v3oRemz2bQ2VlvP/RR6xdt46umZnMmjadd9+fS1aXkzn3zDPZtnMHnyxdyn+KRgm1bNGCD978D3bu2kV2Vhah3UV7WLJiBTG7du/myJEjJCcn8+ZLL7O7qIjQuHvvZdvOHTz7wgyuv+oq+vfuzfNPPsn6/HzOPv10umVm8drs2RSXlBD629tvc9Vll3Hn2FvIzRlAUmIivXv04OtYsnw5oR7duvH3v7zGkSNHGNCvH7VVVlaSm5NDh3bteHHWLE5MS6NxaiqhTVu3Enr2hRlcf9VV9O/dm+effJL1+fmcffrpdMvM4rXZsykuKSH0m4ceokunzrRs0YLQuBtu5LIf/JAdBQXcOuEejkXJ/lJCnU86iYfvu4/Kikpuvu46vo5nX5jB9VddRf/evXn+ySdZn5/P2aefTrfMLF6bPZvikhJCe4uLyc3JoV+vXrRMT+fwl4fJzsoitHX7do5Fyf5SQp1POomH77uPyopKbr7uOo6WlJjIrOkzSEpKImby449z5EgFb835O3+cOpXQsy/M4PqrrqJ/7948/+STrM/P5+zTT6dbZhavzZ5NcUkJRxsz+kouvfAiQpFIhOtuvRUp3pTsLyXU+aSTePi++6isqOTm666jtr3FxeTm5NCvVy9apqdz+MvDZGdlEdq6fTuhgsJCTmrfnvTmzXlxyrO8/+EH9MruTujgoUMU79tHaNmqlcSs/HQNS1asIGbD559z8NAh1m/cyLtz53LGiBHMfPY5lixfTssWLejQrh2hSZMnExr9o8u4+Pzz6dihPaERp5zCG3kvErp67M2U7t9PNBrlb2+/zVWXXcadY28hN2cASYmJ9O7Rg2/K+o0beXfuXM4YMYKZzz7HkuXLadmiBR3atSM0afJkQqN/dBkXn38+HTu0JzTilFN4I+9FQlePvZnS/fv5Z5XuP0DMIw89zMZNn3PlpT+itnvH305uTn8ikQgxv//FLyk7XEbh7j3ceOcdtGvdhid+8wihtq3bEOrbuzd/ffFFQr9/+mnmffQR/6zFy5czqH8ON1xzLT2zs0ltlEpWly4craCwkJPatye9eXNenPIs73/4Ab2yuxM6eOgQxfv2EXr2hRlcf9VV9O/dm+effJL1+fmcffrpdMvM4rXZsykuKSEpMZFZ02eQlJREzOTHH+fIkQremvN3/jh1KqFNW7eQm5NDKCFIYNPWLZx56qmEtm7fTm1jRl/JpRdeRCgSiXDdrbciSZIk6bsVIEmSFKdOHz6c0NwP5lNRWUnM399/n1DdunUZlJNDSWkpN95xB19++SWNU1PJzcmhUcOGFJeUcM0tY6murib08eJF/Oqx3xNq37YtA/r1IyEhgU/XfcZPf/FzQtXV1dxwx+0U7d1Lz+xsJowbz7lnnklBYSFX3nAD5eXl1NauTRtyc3Jo2KABh8rKuG3CvVRXVxNTXV3NI5MmEurYoQO5OTnk5uRQv349QgWFhYy9+24qq6o4f+RZTBg3nm6ZWSxcspjb7/sJMb+ZNInPN28mlNOnD7179GDJihV8He9/9CFvvzeHUK/u3RnQrx+r166l7PBhjvZvv/oVm7dupWWLFtx9661ce8UVVFZVcdfP7mfhksWECgoLGXv33VRWVXH+yLOYMG483TKzWLhkMbff9xNiunftSm5ODnXr1iXUuWNHcnNy6N2jO8cq75VXeGfueyQkJDD2ujGMv+km1qz7jGg0yrEqKCxk7N13U1lVxfkjz2LCuPF0y8xi4ZLF3H7fT4jJe/VV3pozhzp16nDTtddy59hbSG3UiBdefonHnn6aY5H3yiu8M/c9EhISGHvdGMbfdBNr1n1GNBolJhIE5Obk0L93b2L69uxFbk4OHdt3IKagsJCxd99NZVUV5488iwnjxtMtM4uFSxZz+30/obY1az8jZvWna5G+T6JE+WfkvfIK78x9j4SEBMZeN4bxN93EmnWfEY1GOVreq6/y1pw51KlTh5uuvZY7x95CaqNGvPDySzz29NPE3HLP3Rw8dIh+vXoxYdx4Th8+nMI9e7hszHUcPHSI0IrVq6msqiK0fNUqDhw8yI6CAkJLV6wg5vaf3sf6jRupk5REbk4OHdq1I/Tok08yZ948Qu3btCE3J4cWzZoTata0Kbk5OeTm5JCYmEjMbyZN4vPNmwnl9OlD7x49WLJiBd+k2396H+s3bqROUhK5OTl0aNeO0KNPPsmcefMItW/ThtycHFo0a06oWdOm5ObkkJuTQ2JiIscif9PnPPjIrwlddM45TBg3nqTERLbt2MHRTu7cmUH9cxjYrz8xPbp1Y1D/HPr26kWoXr26DOqfw6D+ObRu2ZJQ49RUBvXPYVD/HJo1acqx+OPUqWzbuYPEhAQG9c8hq0sXFi5ZTG233HM3Bw8dol+vXkwYN57Thw+ncM8eLhtzHQcPHSJUUFjI2LvvprKqivNHnsWEcePplpnFwiWLuf2+nxCKBAG5OTn0792bmL49e5Gbk0PH9h2I+XzzZh7+7W+oqq7mh+efz4Rx4+nSqRNLVqzg+tvHU9uatZ8Rs/rTtUiSJEn67kX2VR2OIkmS9A2J7v+SjP79+C706dGTlJRkdhQUsH3nTo6W06cPiYmJbN2+nYLCQkJtWrXikgsupKamhs/yNzDvo4+oqKigtn69ejH8lCEcOnSIFWvWsHDJYmpLbdSIUT+8mHr16rJ52zbenTuXQ2VlxEyZOImLzjmHP0x9nukzZ3LGsOEk1Uki79VX+aK4mK+S1aULaampxKxYvYbDXx4m5qT27fnBuedSVVXN6rVref+jD4lGoxwtKTGRUZdcQpPGjflk6VIWLlnCwH79qKmJsnDJYo5FJBLh1CFDODkjg2UrV7F4+TJ6dssmJSWZJStWUFFRQej/socncDYXDB/3/zm/cxgzgzNmjLGMGfuSXSFEV6mQVLYoW9mXLNnF2EdMspSLXDUqQ4NQWYpKdmGE7AzDNGQWs2/MnOV5nf//dV7PPG5100XXfU3f99swDFo0bUr9R+rwW3w8uw/sJy09nTtVqVSJzi+8gM1m5+SZM+zavw+n04lb/Tp1KFG8OHfKyc3l+MmTuPhYrdSpVQu7w8GhqCjc6tepQ4nixYm5epUbCQm4NaxXjxZNmnLq3FkOHjlCk0aNMJvNHDh8mEcbNKRYMQ/OXriAR1EPqlauREZmJqfOnuXxxx7DbDZz8swZMrOycKlSqRKdX3gBm83OyTNn2LV/H06nkzs9UrMmTRo3xmQysWvvPmKvxfFnNaxXjxZNmnLq3FkOHjlCk0aNMJvNHDh8GMMwaN6kCXdzIyGBmKtXKahKpUp0fuEFbDY7J8+cYdf+fTidTu7msYaNsFjMHDl2DIfDgch/Cw8PDx5r2BCXqGPHyMvP5480rFePFk2acurcWQ4eOUKTRo0wm80cOHyYgh6pWZMmjRtjMpnYtXcfsdfiuJOXpxdPtmxB1cqVOXPuPAcOHyIvP5+CHmvYCA+PopyPjiY5JYU6tWvjU7IksXFxXPvtN9yKFi1Kz27d8PcrjcuPe/dy9MRx3IIrViSwfHnu5sjPP5Nvs+FWxGLhtW7dKO3ry6GjR/kpKormTZrgcDj5KeoI96v9M88Q8eEKklNSqNm0CXdTtGhRenbrhr9faVx+3LuXoyeO4xZcsSKB5ctzN0d+/pl8m437VbFCBZ576mkSkhLZtW8fQYGB+JYqxelz50jPyKBW9er4+fpyN7du3ebnX07g5elFo/r1+D0XL18m6eZN7kdxb2/atmlDGb/S7D6wn8tXr9KkUSNu3brNz7+cwM3L04snW7agauXKnDl3ngOHD5GXn8+dqlSqROcXXsBms3PyzBl27d+H0+nExTAMmjdpwt3cSEgg5upVCioXEMATjzfH38+Pn45GceLUKZxOJ3fzWMNGWCxmjhw7hsPhQET+2MUjUZisnoiIiIg8LKYUW44TERERkYfEmZ5LjaZNkP+vj5a8T6cOHVj+yUpCQkMRERH5b1azWjVK+/nR65VX6PbSy1y4dImW7doiIiL/08UjUZisnoiIiIg8LBZERERERERERP4N40aMpFOHDrjt3r8fERERERER+c+wICIiIiJ/uQvRFzlwuDRXrsYiIiLy3+7ipWgOHjmMS0xsLPOXLEZERERERET+MyyIiIiIyF9uwdKlLFi6FBERkcLg3Q8+4N0PPkBERERERET+8wxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERET+cmX8/WncoAEPk4eHB61btMBsNiMiIv+ddm/ZQonixRERERERERG5VwYiIiIi8pd76okneG/2HB4mfz8/Nq2KwMvTExER+e9Txt+fOrVqYzKZEBEREREREblXFkRERESEzh07Uqt6deYuXIiIiBReJpOJqWPH0bZNG0oUL86Pe/cwY/580jMycAsKDGTGpEm0bNqM+MRENm7ZzPsrVuBmNpuZOnYcL7Rti2EYfPvDDyz+cDk3k5Nx6diuHZNGv0VKagpTQ0OZGzKNxxo2ZM0XXzBm6hRcggIDmTFpEi2bNiM+MZGNWzbz/ooVuG1aFUGDunUxmUx8t3ETdoeDK7FX6TV4MPeqjL8/U8eO46lWrUhJTWXL9m9ZsHQpBbVr8wyTRo+iaqXKXPvtN2YveJdvvv8elzatW9O/V29eGzQQtwG9+xAcVJGQ0FDcenTuTP9evQkKDGTn3j18+MknnDxzBregwEBmTJpEy6bNiE9MZOOWzby/YgUiIiIiIiLycFgQEREREZo/1oTbeXmIiEjh1rFtOzq2a8cr/d7AZrOxaO5chvUfwDuLFuLiY7WyaVUEW3fsYFZYGJWDggkNmYrNZmdZ+Me4zJs2nRbNmjFi4gTy8vOZ/NZbTJ8wkRETJ+Cy58ABLkRfYt3KlaxcupR1mzYxc/48EpKScPGxWtm0KoKtO3YwKyyMykHBhIZMxWazsyz8Y1zemvI2geXL8/WazxkydgxZ2dnk5eVxP8YOH46XlydPvdiRsmUCWBcezpFjx9h78CAuwRUrsmr5coaOG8vuffvo+tJLLJg1m+07d+JwOChRvASVgoMoqLSfH+XLlsWtU4cOvDNtOqMnT+Z89EV6vvIKHy1eQqvn25OXn4+P1cqmVRFs3bGDWWFhVA4KJjRkKjabnWXhHyMiIiIiIiIPngURERGRQsxkMjF17DjatmlDieLF+XHvHmbMn096RgYuHZ57jukTJlKlUiVS09J4qlUrXEJCQ/lx315crCVLEjo1hDatW2OxWNi1bx/jpoWQkZmJy6C+fTGZTJQtE0CXF1/kt/gbhEes5ouvv8KtSaNGTB03nnqPPMKps2fZf+gnCjIMg9FDhvJa1674ly7NqbNnGTt1ChcuXcIlsHx51q38hNu3bzNj/jx6du1G+2ef4UZ8As2efQYXP19fFsyaTcvHH+dGfDzhqyO4H21at6Z/r968NmggbgN69yE4qCIhoaG4mEwmpo4dR9s2bShRvDg/7t3DjPnzSc/IwC0oMJAZkybRsmkz4hMT2bhlM++vWIHbV6vXUNrPj4h1a7FYijC8f3/K+PtTp0VzEhITERF5mNIy0rFarVSrXJmfoqLoNXgwnsWK4fZki5Y4nU4i1q/DMAxir8URuXEjr3bpwrLwj7GYzXTv3ImXe/Xi2C+/4DJw1ChaNG2KYRg4HA4yMjPJyMwkOSWFU+fOEvb++xT0ZIuWOJ1OItavwzAMYq/FEblxI6926cKy8I9xiY2Lw2az4RJz9SoZmZncr7T0DOrWfoRKFYM4ceokzZ59BqfTiVtGZiatOzzP+ehofKxWNmzezLg3R9Ds0cf4KeoI9+LVrl1ZuOyffP3tN7hMf+cdDh4+QokSJUhOSeHJFi1xOp1ErF+HYRjEXosjcuNGXu3ShWXhHyMiIiIiIiIPngURERGRQqxj23Z0bNeOV/q9gc1mY9HcuQzrP4B3Fi3EZe/Bg7w2aCBTxowlOyeHxR8ux+VGfDxuc0OmUbFCedp17Yq3txcfzA+j64svsXLNalxK+/kxrF9/Pt+4gZ6DBtK6RUuWhoWxc89uUtLSKF+2LJ9/9DFbtm9nxvx5tG7RgrHDh3P5ylXcenTuzODXX6d7/34kJiXx9pixTBg1iv4jRuCSkJhI32FDmTJmLB8tXsL2nTt5beBA0tIzcIv86GNycnPpP+JNygWUZcLIkdyPEsVLUCk4iIJK+/lRvmxZ3Dq2bUfHdu14pd8b2Gw2Fs2dy7D+A3hn0UJcfKxWNq2KYOuOHcwKC6NyUDChIVOx2ewsC/8Yl1GTJ/Fi+/aMHzGSU2fPMm5aCIlJN0lJSUFE5GHbe/AgYUuWMHroMFZ92ICLl6KZOT+MXfv34VKndi18S5Xis2XLKchus+FSKTgYL08vzpw/j1taejrffP89d3P0+HHuVKd2LXxLleKzZcspyG6z8SAt/ehfGIaJD+bPp2KFChw4coRJM2dwJTYWl7T0dCa/9RZPt2qNzWbDZrfj7e1NubIB3Ku6tWrz4cpPcHM6nWzf+QNudWrXwrdUKT5btpyC7DYbIiIiIiIi8nBYEBERESnE0jLSsVqtVKtcmZ+ioug1eDCexYrhlpmVRWZWFhmZmWRmZXEpJoY7ffCvFSQkJZGdk0NxLy+2bN/Oi+3bs3LNatwys7KYPGsWdrudU2fP0qd7d55+8kk2fP01T7ZsicPhYNy0EBwOB8dPnuTRBg2pWKECbvt++ok2L7/Eb/Hx+JQsyZovvmD9ypUUK1aMW7dukW+zcSkmhl+vxVG3dm1GTZ5EQUGBgTRu0IDWHZ7n7IULuJTysRI6NYQHKS0jHavVSrXKlfkpKopegwfjWawYbk+2aInT6SRi/ToMwyD2WhyRGzfyapcuLAv/GJfYuDjOR0djLVmS4ePH8Vt8PCIif5UK5cqxaesWwldHUNzbm9FDh7I0LIy6LVvgdDqJvhzDxcuXad+tK25enl54ehbD5ddr18jLz6dKcDDnLl7EpWjRolSvUoVzFy/icDgoyOl0cqfoyzFcvHyZ9t264ubl6YWnZzEepIAyZViwdCmh771HQJky/DPsXd5+awwDR4/C5flnn+WpJ1rx5AsdyM7JwWw2c/XEL7jdTEkmwL8MZrMZu92Oy6MNG5CZlYXbpSsxVKlUiR/37cWtZrVqXL9xg6zsbKIvx3Dx8mXad+uKm5enF56exRAREREREZGHw0BERESkENt78CBhS5Yweugwon8+xo4NG2hUrz73w7eUL58s/SdRO39kc+Ra+vXqRbmAAAo6GHUEu92O2+UrVwgsVx6XGlWr8VNUFA6HA7f9h36ioPx8G6FTQzixdx+bI9eyKDQUT09PrCVLcqeo48e4U42qVUlNS+PshQu47T90iAdt78GDhC1Zwuihw4j++Rg7NmygUb36uNWpXQvfUqX4bNlyVi3/kFXLP6R7p8447Hbu9Ft8PL/FxyMi8ld6sV17voyIoIy/Pzm5uSTdvInD6cRtz8EDVAkO5o2ePSlisVAuIIAtkZG81P55XPLy8vh+1y5Cp4bg5+uLj9VK2MyZTBw1GofDgYvJZMIwDEwmEyaTCcMwMJlMuO05eIAqwcG80bMnRSwWygUEsCUykpfaP09BNxISSExK4qXnO1DKx4fi3t7cjxkTJzJv+nS8PL1IS08nLSMdh8OBW/UqVTGZTBiGQdGiRQkZNx4PDw/cDh89imEYDOjdG28vLzp16ECr5i0oaOuOHYwaMoQ6tWpRtGhR+vTowReffobT6cRlz8EDVAkO5o2ePSlisVAuIIAtkZG81P55RERERERE5OGwICIiIlKIVShXjk1btxC+OoLi3t6MHjqUpWFh1G3ZAqfTyf/GZDLxTkgIKz9fw2eRkbiMGjKE17p0pSCHw8nvufJrLJ1eeIGCGtdvQEEjBw8mJzeHxk+2xma381jDRmzfsIG7cTr5H678+iulfHwIrliR2Lg4XBrXb8D9uJmSTIB/GcxmM3a7HZdHGzYgMysLtwrlyrFp6xbCV0dQ3Nub0UOHsjQsjLotW+B0Oom+HMPFy5dp360rbl6eXnh6FuNOTqcTEZG/Wvia1TSoW5cD327HYrGQk5PD8AnjcTqduCQmJdFjQH+Whr3LnLenkJWdzZfbtvJp5Oe4DRs3lo8WL+HU/gPY7XYOHDnCuJCpuM0NmcbAPn1wWfLOPJa8M48Vn37KlDmzcUlMSqLHgP4sDXuXOW9PISs7my+3beXTyM8pyOFwMP/9JYweOoRFoaFcuHSJlu3acq9mzJ/PvGnTOXvoEBazmfPR0fQfMQK3iHVref7ZZ7l49Geys7NZ/9VX/Lh3L275Nhszw+YzavAQZk1+mxOnTzF34Xs0rFcPt3999hllywSwde06PDw8OHPuHCMmTiA7JweXxKQkegzoz9Kwd5nz9hSysrP5cttWPo38HBEREREREXk4LIiIiIgUYi+2a0/3zp14pV8/biYnk3TzJg6nkzudOH2KXt1eoVJQEKlpaeTk5JBvs2E2DCpXCsYwDFxqVqvGwD59yM7O4V4dOHyYedOmM3LwYFatXUur5s155h//IO76ddyqV61CSkoqJpOJUj4+TBk7ljsZhoHJZMLFMAycTidOpxOXmKtXiY2LY8qYscxe8C4B/mV4o2dP7sfho0cxDIMBvXuzev16nnvqKVo1b8E333+H24vt2tO9cyde6dePm8nJJN28icPpxG3PwQPMmTKFN3r2ZPW6dZT282P1in+x5osvWLlmNS6GYWCYDFwMw8DF4XAgIvJXyMvLY8jYMZjNZvz9ShOfmMCdjp88Sct2bfHz9SUtPR273U5B2Tk5vDZoIF6eXhiGiazsbAqaPGsmk2fN5I8cP3mSlu3a4ufrS1p6Ona7nbv5LDKSzyIjudOw/gOYNXkyd7p85QrNnn0Gl0sxMXR9vS9enl4U8yhKSloaBSWnpvJcl86U9vMjMyuL27dvc6dPP/+cVWvXUspqJTk1lbuZ9W4YoQvfw8dqJTklhTsdP3mSlu3a4ufrS1p6Ona7HREREREREXl4LIiIiIgUYuFrVtOgbl0OfLsdi8VCTk4OwyeMx+l0UtCW7dtp+3QbDm7fQdGiRek/YgRff/sNNrudkLlzCZ0ylZBx40lNS2PuwoWMGjyEe3X5yhWGjBnD/BkzCBk3nhsJCcyYN4/+vXvj9s6iRaz+cAWXjh3n1u3bTJkzm0cbNsDthbZt+fSfy3Dr3qkTZ86d48mOL+DidDrp3r8fq5Yv59juPeTk5jJ+2jQWzpnDvcq32ZgZNp9Rg4cwa/LbnDh9irkL36NhvXq4ha9ZTYO6dTnw7XYsFgs5OTkMnzAep9OJS2JSEj0G9Gdp2LvMeXsKWdnZfLltK59Gfo5LKR8foo/+jFvixWhcqjZuRHpGBiIifxW73U58YgJ/JDklhT+Sk5vDvys5JYU/I3x1BGs3buBOdoeDO+Xk5pCTm8PvuZmczB9xOBwkp6byR+x2O8kpKfyR5JQURERERERE5OEzpdhynIiIiIg8JM70XGo0bcJ/mtlsxt+vNPGJCfwZFrOZ0n6liU9M4N9RtkwA8YkJ/J5yAQEkJCXhcDj4s/xLlyY1NRWb3U5Bn//rI557+mnutGrtWsZMnYKbYRiUslpJTk3l95jNZvz9ShOfmMDv8fP1JS09HbvdjoiIiIiI/P9dPBKFyeqJiIiIyMNiQURERORvwG63E5+YwJ9ls9uJT0zg3xWfmMAfuZGQwL8r6eZN7mbQW6MpWqQId7p1O4+CHA4Hyamp/BG73U58YgJ/JDklBREREREREREREflrWRARERGRv4Ws7GxERERERERERESkcDMQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxEREZFCrE7t2rRu0YJ6jzzCw1Lc25tWzZvzoDVt3Bi/UqUQERERERERERERuVcGIiIiIoVYx7btGDloMJs/j2Rgnz48DFUqVWL9J5/yoC1fuJAmjR9FRERERERERERE5F5ZEBERESnE5i1ehMu7M2dRs1p15H/XuWNHalWvztyFCxEREREREREREZH/LhZERERE/gacODFhQv53zR9rwu28PEREREREREREROS/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2Wxw9PgJwldH4Fbaz4+lYe/SunlzihYtSv8RI/j622+4V6+/9hqjBg+hfNmynDh9im3ffUfDevXo9+abuFSrUoV506bzWKNGWMxmzkdH03/ECGKvxeHW+5XuTBw9ilJWH+KuX2f5Jyv5LDISlxfatuXTfy6joDPnzvFkxxcQEREREfm/7uKRKExWT0REREQeFlOKLceJiIiIyEPiTM+lRtMm/DfwL12a1NRUbHY7d+Pl6YVhmMjKzubP8vP1JS09Hbvdzt2ULFECu91Odk4OBQ3rP4BZkydzp8tXrtDs2WcoqGSJEthsdnJyc7gbT09PDJOJ7Jwc7lfsyVN4e3lxp0FvjWbTli24GYZBKauV5NRUfo+XpxfFPIqSkpbG7ynj709iUhIiIiIiIoXFxSNRmKyeiIiIiDwsFkRERETk/yfp5k3+SE5uDv+u5JQU/khGZiZ3E746grUbN3Anu8PBnTIyM/kjubm5/FkNW7fCxP+UlZ1NQQ6Hg+TUVP5ITm4OObk5/JHEpCRERERERERERETk3lkQERERkf/zbt++ze3bt/lPS01LQ0RERERERERERP7vMhARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgUDEREREREREREREREREREpFAxERERERERERERERERERKRQMBARERERERERERERERERkULBQERERERERERERERERERECgULIiIiIvJvqV2jBrm3bnH111+5m+Le3jRu0ACn08mps2dJS09HRERERERERERE5GGwICIiIiL/ljHD3+RK7FXmLlzI3fiXLs3IQYMp7edL2TIB1GnRHLvdjoiIiIiIiIiIiMiDZiAiIiIiD9WV2Fi6vt6Xrq+/Tmk/P3xLlUJERERERERERETkYTAQERERkb+E0+lERERERERERERE5GGyICIiIlKIbY1cy+TZs5g2YQKN6tXnl9OnmTJnNuejo3EJLF+edSs/4fbt28yYP4+eXbvR/tlnuBGfQLNnn8GluLc3oVND+McTT5Cfn893u3YxY9475OXn41aieAn+tWgxT7VqxZXYWN7/1wq27tjB/RjUty/dO3WmYmAgh48eZWbYfC7F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RERERERERAoFAxERERERERERERERERERKRQMRERERERERERERERERESkUDAQEREREREREREREREREZFCwUBERERERERERERERERERAoFAxERERERERERERERERERKRQMREREROSBKVq0KI8/9hitW7TAw8MDuX+B5cvTukULHn/sMYoWKcIfqVmtGkUsFh60IhYLrVu0oIjFgoiIiIiIiIiIyH8TAxERERF5IOo98ggXo47y7qzZTBk7FmvJksj9a1S/PiMHDWb5ewv51+Il/J4WTZtxYPsO3hw4iAfNarWyaVUEVqsVERERERERERGR/yYWREREROSB6NiuHTt27mTwmLeQP2/L9u1s2b6dl5/vwMRRo/g9p86e4cNPPmHLju38nt1bttDx1VfJzMpCRERERERERETk78CCiIiIiDwQ5cuWIyEpEXkwnE4nfyQzK4upoXP4PWX8/alTqzYmkwkREREREREREZG/CwsiIiIihdjWyLVMnj2LaRMm0KhefX45fZopc2ZzPjoat6DAQGZMmkTLps2IT0xk45bNvL9iBW5frV5DaT8/ItatxWIpwvD+/Snj70+dFs1JSEzkmX/8g5mTJlMuIACb3U6bJ/+BS5c+fYhPTMClVvXqhIwfT9PGj/LrtWt8vmED4asjcJs+YSLPPf00J8+cZv2XXxEaMpUaVasx6K3RbNqyhT1bt7Fh89e8OXAQu/ft45fTpxk5eDA79+5l+PhxuFhLliR0aghtWrfGYrGwa98+xk0LISMzE5dBfftiMpkoWyaALi++yG/xNwiPWM0XX3+Fm5+vL/OmTeeJxx8n7vp1tn3/He+vWIHT6cRtUN++dO/UmYqBgRw+epSZYfO5FBPDvSru7c17s+fwj1atyMvLIyMzE5fl4eGs/mI992L9J59QoVx5Ll+5wqC3RnPr1i0K2rQqggZ162Iymfhu4ybsDgdXYq/Sa/Bg3Px8fZk3bTpPPP44cdevs+3773h/xQqcTiduzR59lBGDBlE5KJivvtnG0o8+Iu76de5Fm9at6d+rN68NGojbgN59CA6qSEhoKC4mk4mpY8fRtk0bShQvzo979zBj/nzSMzJwCwoMZMakSbRs2oz4xEQ2btnM+ytW4PbV6jWU9vMjYt1aLJYiDO/fnzL+/tRp0ZyExEREREREREREROTvxTxx2pQZiIiIiDwst218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AFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAIAqlAAAAAAAAABQhRIAAAAAAAAAqlACAAAAAAAAQBVKAAAAAAAAAKhCCQAAAAAAAABVKAEAAAAAAACgCiUAAAAAAAAAVKEEAAAAAAAAgCqUAAAAAAAAAFCFEgAAAAAAAACqUAIAAAAAAABAFUoAAAAAAAAAqEIJAAAAAAAAAFUoAQAAAAAAAKAKJQAAAAAAAABUoQQAAAAAAACAKpQAAAAAAAAAUIUSAAAAAAAAAKpQAgAAAAAAAEAVSgAAAAAAAACoQgkAAAAAAAAAVSgBAAAAAAAAoAolAAAAAAAAAFShBAAAAAAAAP5ve3BAAgAAgAAo+j+6H6ECFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwoQEAAAAAAADgQgMAAAAAAADAhQYAAAAAAACACw0AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAAAcKEBAAAAAAAA4EIDAAAAAAAAwIUGAAAAAAAAgAsNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAAFxoAAAAAAAAALjQAAAAAAAAAHChAQAAAAAAAOBCAwAAAAAAAMCFBgAAAAAAAIALDQAAAAAAAAAXGgAAAAAAAAAuNAAAAAAAAABcaAAAAAAAAAC40AAAAAAAAABwYYkQHKd0AqxtAAAAAElFTkSuQmCC","url":"https://www.saucedemo.com/"}');let s9=e=>{let{uiContextPreview:t,setUiContextPreview:r,showContextPreview:n}=e;return n?(0,o.jsxs)("div",{className:"form-part context-panel",children:[(0,o.jsx)("h3",{children:"UI Context"}),t?(0,o.jsx)(sW,{uiContext:t,hideController:!0}):(0,o.jsxs)("div",{children:[(e=>{switch(e){case"finished":case"passed":case"success":case"connected":return(0,o.jsx)("span",{style:{color:"#00AD4B"},children:(0,o.jsx)(sY.A,{})});case"finishedWithWarning":return(0,o.jsx)("span",{style:{color:"#f7bb05"},children:(0,o.jsx)(s_.A,{})});case"failed":case"closed":case"timedOut":case"interrupted":return(0,o.jsx)("span",{style:{color:"#FF0A0A"},children:(0,o.jsx)(s$.A,{})});case"pending":return(0,o.jsx)(s0.A,{});case"cancelled":case"skipped":return(0,o.jsx)("span",{style:{color:"#8c8c8c"},children:(0,o.jsx)(s1.A,{})});case"running":return(0,o.jsx)(s2.A,{});default:return(0,o.jsx)(s3.A,{})}})("failed")," No UI context",(0,o.jsx)(g.Ay,{type:"link",onClick:e=>{e.preventDefault(),r(s6)},children:"Load Demo"}),(0,o.jsx)("div",{children:"To load the UI context, you can either use the demo data above, or click the 'Send to Playground' in the report page."})]})]}):null};var le=r(4291);let lt=e=>{let{className:t=""}=e,{config:r}=X();return Object.keys(r||{}).length>=1?null:(0,o.jsxs)("div",{className:`env-config-reminder ${t}`,children:[(0,o.jsx)(le.A,{className:"reminder-icon"}),(0,o.jsx)("span",{className:"reminder-text",children:"Please set up your environment variables before using."}),(0,o.jsx)(q,{mode:"text",showTooltipWhenEmpty:!1})]})};var lr=r(7062),ln=r(6130),li=r(2297),lo=r(5862),la=r(7615),ls=r(2107),ll=r(4544),lA=r(3616),lc=r(1879),lu=r(9876),ld=r(1269);let lp=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:(0,o.jsx)("path",{fill:"currentColor",d:"M1.333 13v-2.5a.667.667 0 0 1 1.334 0V13c0 .184.149.333.333.333h2.5a.667.667 0 0 1 0 1.334H3c-.92 0-1.667-.746-1.667-1.667m12 0v-2.5a.667.667 0 0 1 1.334 0V13c0 .92-.746 1.667-1.667 1.667h-2.5a.667.667 0 0 1 0-1.334H13a.333.333 0 0 0 .333-.333m-12-7.5V3c0-.92.747-1.667 1.667-1.667h2.5a.667.667 0 0 1 0 1.334H3A.333.333 0 0 0 2.667 3v2.5a.667.667 0 0 1-1.334 0m12 0V3A.333.333 0 0 0 13 2.667h-2.5a.667.667 0 0 1 0-1.334H13c.92 0 1.667.747 1.667 1.667v2.5a.667.667 0 0 1-1.334 0M5.667 10.333h4.666V5.667H5.667zm6 .167c0 .644-.523 1.167-1.167 1.167h-5A1.167 1.167 0 0 1 4.333 10.5v-5c0-.644.523-1.167 1.167-1.167h5c.644 0 1.167.523 1.167 1.167z"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},lh=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:[(0,o.jsx)("path",{stroke:"currentColor",strokeLinejoin:"round",strokeWidth:1.333,d:"M11.333 13.667 14.667 8l-3.334-5.667H4.667L1.333 8l3.334 5.667z"}),(0,o.jsx)("path",{stroke:"currentColor",strokeLinejoin:"round",strokeWidth:1.333,d:"M8 9.667a1.667 1.667 0 1 0 0-3.334 1.667 1.667 0 0 0 0 3.334Z"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function lf(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lg(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function lm(e,t){return{left:0,top:0,width:e,pointerLeft:Math.round(e/2),pointerTop:Math.round(t/2)}}function ly(e,t,r,n){if(!t.img)return;e.img&&t.img!==e.img&&(e.prevImg=e.img,e.imageChanged=!0);let i=t.imageWidth||r,o=t.imageHeight||n,a=e.imgW!==i||e.imgH!==o;if(e.img=t.img,e.imgW=i,e.imgH=o,a){let t=lm(i,o);e.camera=lg({},t),e.prevCamera=lg({},t),e.pointerMoved=!1}}function lv(e,t){return Math.abs(e.pointerLeft-t.pointerLeft)>1||Math.abs(e.pointerTop-t.pointerTop)>1}function lb(e,t,r,n,i){let o=Math.round(n/2),a=Math.round(i/2);return e||Math.abs(t.pointerLeft-o)>1||Math.abs(t.pointerTop-a)>1||Math.abs(r.pointerLeft-o)>1||Math.abs(r.pointerTop-a)>1}function lw(e,t,r,n,i){let o=lm(r,n),a={img:"",imgW:r,imgH:n,camera:lg({},o),prevCamera:lg({},o),prevImg:null,insights:[],spinning:!1,spinningElapsedMs:0,pointerImg:sa,pointerVisible:!1,title:"",subTitle:"",taskId:void 0,frameInScript:0,scriptIndex:0,imageChanged:!1,pointerMoved:!1,rawProgress:0};for(let o=0;o<e.length;o++){var s,l;let A=e[o],c=A.startFrame+A.durationInFrames;if(0===A.durationInFrames){A.startFrame<=t&&("pointer"===A.type&&A.pointerImg&&(a.pointerImg=A.pointerImg,a.pointerVisible=!0),a.title=A.title||a.title,a.subTitle=A.subTitle||a.subTitle,a.taskId=null!=(s=A.taskId)?s:a.taskId,a.scriptIndex=o);continue}if(t<A.startFrame)break;switch(a.title=A.title||a.title,a.subTitle=A.subTitle||a.subTitle,a.taskId=null!=(l=A.taskId)?l:a.taskId,a.scriptIndex=o,a.frameInScript=t-A.startFrame,a.rawProgress=Math.min(a.frameInScript/A.durationInFrames,1),A.type){case"img":!function(e,t,r,n,i){ly(e,t,n,i);let o=t.startFrame+t.durationInFrames;t.cameraTarget?(e.prevCamera=lg({},e.camera),e.camera=lg({},t.cameraTarget),e.pointerMoved=lv(e.prevCamera,e.camera)):r>=o&&(e.pointerMoved=!1,e.imageChanged=!1),e.spinning=!1}(a,A,t,r,n);break;case"insight":!function(e,t,r,n,i){if(ly(e,t,n,i),e.insights.some(e=>e.highlightElement===t.highlightElement&&e.searchArea===t.searchArea)||e.insights.push({highlightElement:t.highlightElement,searchArea:t.searchArea,alpha:1}),t.cameraTarget&&void 0!==t.insightPhaseFrames){let n=t.startFrame+t.insightPhaseFrames;r>=n&&(e.prevCamera=lg({},e.camera),e.camera=lg({},t.cameraTarget),e.rawProgress=Math.min((r-n)/(t.cameraPhaseFrames||1),1),e.pointerMoved=lv(e.prevCamera,e.camera))}e.spinning=!1}(a,A,t,r,n);break;case"clear-insight":!function(e,t,r){let n=t.startFrame+t.durationInFrames,i=1-e.rawProgress;e.insights=e.insights.map(e=>{var t,r;return t=lg({},e),r=r={alpha:i},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t}),r>=n&&(e.insights=[]),e.spinning=!1}(a,A,t);break;case"spinning-pointer":a.spinning=!0,a.spinningElapsedMs=a.frameInScript/i*1e3;break;case"sleep":a.spinning=!1}t>=c&&("clear-insight"!==A.type&&(a.imageChanged=!1),a.pointerMoved=!1,a.rawProgress=1,A.cameraTarget&&(a.prevCamera=lg({},a.camera)))}if(!a.img){let t=e.find(e=>"img"===e.type&&e.img);t&&(a.img=t.img,a.imgW=t.imageWidth||r,a.imgH=t.imageHeight||n)}return{img:a.img,imageWidth:a.imgW,imageHeight:a.imgH,prevImg:a.imageChanged?a.prevImg:null,camera:a.camera,prevCamera:a.prevCamera,insights:a.insights,spinning:a.spinning,spinningElapsedMs:a.spinningElapsedMs,currentPointerImg:a.pointerImg,pointerVisible:a.pointerVisible,title:a.title,subTitle:a.subTitle,taskId:a.taskId,frameInScript:a.frameInScript,scriptIndex:a.scriptIndex,imageChanged:a.imageChanged,pointerMoved:a.pointerMoved,rawProgress:a.rawProgress}}function lE(e,t,r,n){let i=Math.min(e/r,t/n),o=r*i,a=n*i;return{offsetX:(e-o)/2,offsetY:(t-a)/2,contentWidth:o,contentHeight:a}}function lk(e,t){if(!Number.isFinite(e)||e<=0)throw Error(`${t} must be a positive finite number`)}function lx(e){return{scale:e,width:44*e,height:56*e,hotspotX:6*e,hotspotY:4*e,centerOffsetX:44*e/2,centerOffsetY:56*e/2}}function lS(e){return lk(e,"imageWidth"),lx(Math.max(1,Math.sqrt(e/1920)))}function lC(e){let t=e.height;return{size:t,centerOffset:t/2}}let lI=e=>{let{frameMap:t,autoZoom:r,frame:n,width:i,height:s,fps:l}=e,{scriptFrames:A,imageWidth:c,imageHeight:u}=t,d=(0,a.useMemo)(()=>lw(A,n,c,u,l),[A,n,c,u,l]);if(!d.img)return null;let{img:p,imageWidth:h,imageHeight:f,prevImg:g,camera:m,prevCamera:y,insights:v,spinning:b,spinningElapsedMs:w,currentPointerImg:E,pointerVisible:k,title:x,subTitle:S,frameInScript:C,imageChanged:I,pointerMoved:j,rawProgress:O}=d,P=r?j?Math.min(O/.375,1):O:1,R=j?O<=.375?0:Math.min((O-.375)/.625,1):O,M=y.pointerLeft+(m.pointerLeft-y.pointerLeft)*P,T=y.pointerTop+(m.pointerTop-y.pointerTop)*P,N=r?y.left+(m.left-y.left)*R:0,D=r?y.top+(m.top-y.top)*R:0,B=r?y.width+(m.width-y.width)*R:h,{offsetX:z,offsetY:L,contentWidth:F,contentHeight:K}=lE(i,s,h,f),U=h/B,Q=-(F/h*N),Z=-(K/f*D),J=`scale(${U}) translate(${Q}px, ${Z}px)`,X=f/h*B,H=(M-N)/B*F,G=(T-D)/X*K,V=lb(k,m,y,h,f),q=lS(h),W=lC(q),Y=q.scale,_=I?Math.min(C/10,1):1,$=b?(Math.sin(w/500-Math.PI/2)+1)/2*Math.PI*2:0;return(0,o.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"#000"},children:(0,o.jsx)("div",{style:{position:"absolute",left:z,top:L,width:F,height:K,overflow:"hidden"},children:(0,o.jsxs)("div",{style:{width:F,height:K,position:"relative",overflow:"hidden"},children:[I&&g&&_<1&&(0,o.jsx)("div",{style:{position:"absolute",width:F,height:K,overflow:"hidden",opacity:1-_},children:(0,o.jsx)("img",{alt:"",src:g,style:{width:F,height:K,transformOrigin:"0 0",transform:J}})}),(0,o.jsxs)("div",{style:{position:"absolute",width:F,height:K,overflow:"hidden",opacity:I?_:1},children:[(0,o.jsx)("img",{alt:"",src:p,style:{width:F,height:K,transformOrigin:"0 0",transform:J}}),(0,o.jsx)("div",{style:{position:"absolute",top:0,left:0,width:F,height:K,transformOrigin:"0 0",transform:J,pointerEvents:"none"},children:0===v.length?null:v.map((e,t)=>{let r=[];if(e.highlightElement){let n=sA(e.highlightElement);r.push((0,o.jsx)("div",{style:{position:"absolute",left:n.left,top:n.top,width:n.width,height:n.height,background:"rgba(253, 89, 7, 0.4)",border:`${2*Y}px solid #fd5907`,boxShadow:`${2*Y}px ${2*Y}px ${+Y}px rgba(51, 51, 51, 0.3)`,opacity:e.alpha,pointerEvents:"none"}},`highlight-${t}`))}if(e.searchArea){let n=e.searchArea;r.push((0,o.jsx)("div",{style:{position:"absolute",left:n.left,top:n.top,width:n.width,height:n.height,background:"rgba(2, 131, 145, 0.4)",border:`${2*Y}px solid #028391`,boxShadow:`${2*Y}px ${2*Y}px ${+Y}px rgba(51, 51, 51, 0.3)`,opacity:e.alpha,pointerEvents:"none"}},`search-${t}`))}return r})})]}),b&&(0,o.jsx)("img",{alt:"",src:ss,style:{position:"absolute",left:H-W.centerOffset,top:G-W.centerOffset,width:W.size,height:W.size,transform:`rotate(${$}rad)`,transformOrigin:"center center",filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.3))"}}),V&&!b&&(0,o.jsx)("img",{alt:"",src:E,style:{position:"absolute",left:H-q.hotspotX,top:G-q.hotspotY,width:q.width,height:q.height,filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.3))"}})]})})})};function lj(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lO(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){lj(o,n,i,a,s,"next",e)}function s(e){lj(o,n,i,a,s,"throw",e)}a(void 0)})}}let lP=!1;function lR(e){return new Promise((t,r)=>{let n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=r,n.src=e})}function lM(e,t,r){let n=r.contentWidth/r.imageWidth,i=r.contentHeight/r.imageHeight;return{left:r.offsetX+(e.left*n+t.tx)*t.zoom,top:r.offsetY+(e.top*i+t.ty)*t.zoom,width:e.width*n*t.zoom,height:e.height*i*t.zoom}}function lT(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function lN(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){lT(o,n,i,a,s,"next",e)}function s(e){lT(o,n,i,a,s,"throw",e)}a(void 0)})}}function lD(e,t){let r=Math.floor(e/t),n=Math.floor(r/60);return`${String(n).padStart(2,"0")}:${String(r%60).padStart(2,"0")}`}function lB(e){var t,r,n,i;let s,{message:l}=p.A.useApp(),{autoZoom:A,setAutoZoom:c,playbackSpeed:u,setPlaybackSpeed:d,subtitleEnabled:f,setSubtitleEnabled:m}=R();(0,a.useEffect)(()=>{(null==e?void 0:e.autoZoom)!==void 0&&c(e.autoZoom)},[null==e?void 0:e.autoZoom,c]);let y=null==e?void 0:e.replayScripts,v=(0,a.useMemo)(()=>y&&0!==y.length?function(e,t){let r=(null==t?void 0:t.imageWidth)||1920,n=(null==t?void 0:t.imageHeight)||1080;for(let t of e)if(("img"===t.type||"insight"===t.type)&&t.img){r=t.imageWidth||r,n=t.imageHeight||n;break}let i=[],o=0;for(let t of e){var a,s,l,A;let e=t.duration;switch(t.type){case"sleep":{let r=Math.ceil(e/1e3*30);i.push({type:"sleep",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"img":{let l=Math.max(Math.ceil(e/1e3*30),1),A=t.camera,c=t.imageWidth||r,u=t.imageHeight||n,d={type:"img",startFrame:o,durationInFrames:l,img:t.img,imageWidth:c,imageHeight:u,title:t.title,subTitle:t.subTitle,taskId:t.taskId};A&&(d.cameraTarget={left:A.left,top:A.top,width:A.width,pointerLeft:null!=(a=A.pointerLeft)?a:Math.round(c/2),pointerTop:null!=(s=A.pointerTop)?s:Math.round(u/2)}),i.push(d),o+=l;break}case"insight":{let a=Math.max(Math.ceil(e/1e3*30),1),s=Math.ceil((t.insightCameraDuration||0)/1e3*30),c=a+s,u=t.imageWidth||r,d=t.imageHeight||n,p=t.camera,h={type:"insight",startFrame:o,durationInFrames:c,img:t.img,imageWidth:u,imageHeight:d,insightPhaseFrames:a,cameraPhaseFrames:s,highlightElement:t.highlightElement,searchArea:t.searchArea,title:t.title,subTitle:t.subTitle,taskId:t.taskId};p&&(h.cameraTarget={left:p.left,top:p.top,width:p.width,pointerLeft:null!=(l=p.pointerLeft)?l:Math.round(u/2),pointerTop:null!=(A=p.pointerTop)?A:Math.round(d/2)}),i.push(h),o+=c;break}case"clear-insight":{let r=Math.max(Math.ceil(e/1e3*30),1);i.push({type:"clear-insight",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"spinning-pointer":{let r=Math.max(Math.ceil(e/1e3*30),1);i.push({type:"spinning-pointer",startFrame:o,durationInFrames:r,title:t.title,subTitle:t.subTitle,taskId:t.taskId}),o+=r;break}case"pointer":i.push({type:"pointer",startFrame:o,durationInFrames:0,pointerImg:t.img,title:t.title,subTitle:t.subTitle,taskId:t.taskId})}}let c=Math.max(o,1);return{scriptFrames:i,totalDurationInFrames:c,fps:30,stepsDurationInFrames:c,imageWidth:r,imageHeight:n}}(y,{imageWidth:null==e?void 0:e.imageWidth,imageHeight:null==e?void 0:e.imageHeight}):null,[null==e?void 0:e.imageHeight,null==e?void 0:e.imageWidth,y]),b=(0,a.useRef)(null),w=(0,a.useRef)(null),E=(0,a.useRef)(null),[k,x]=(0,a.useState)({width:0,height:0});(0,a.useEffect)(()=>{let e=w.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let{width:e,height:r}=t.contentRect;x(t=>t.width===e&&t.height===r?t:{width:e,height:r})}});return t.observe(e),()=>t.disconnect()},[]);let S=function(e){var t,r;let{durationInFrames:n,fps:i,autoPlay:o=!1,loop:s=!1}=e,[l,A]=(0,a.useState)(0),[c,u]=(0,a.useState)(o),d=(0,a.useRef)(c),p=(0,a.useRef)(l),h=(0,a.useRef)(null!=(t=e.playbackRate)?t:1),f=(0,a.useRef)(n),g=(0,a.useRef)(i),m=(0,a.useRef)(s);d.current=c,p.current=l,h.current=null!=(r=e.playbackRate)?r:1,f.current=n,g.current=i,m.current=s,(0,a.useEffect)(()=>{let e;if(!c)return;let t=null,r=0,n=i=>{if(null!==t){let e=(i-t)*h.current;r+=e;let n=1e3/g.current;for(;r>=n;){r-=n;let e=p.current+1;if(e>=f.current)if(m.current)p.current=0,A(0);else{p.current=f.current-1,A(f.current-1),u(!1);return}else p.current=e,A(e)}}t=i,e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[c]);let y=()=>{p.current>=f.current-1&&(p.current=0,A(0))},v=(0,a.useCallback)(()=>{y(),u(!0)},[]),b=(0,a.useCallback)(()=>u(!1),[]);return{currentFrame:l,playing:c,play:v,pause:b,toggle:(0,a.useCallback)(()=>{d.current?u(!1):(y(),u(!0))},[]),seekTo:(0,a.useCallback)(e=>{let t=Math.max(0,Math.min(e,f.current-1));p.current=t,A(t)},[])}}({durationInFrames:Math.max(null!=(t=null==v?void 0:v.totalDurationInFrames)?t:1,1),fps:null!=(r=null==v?void 0:v.fps)?r:30,autoPlay:null==(n=null==e?void 0:e.autoPlay)||n,loop:!1,playbackRate:u}),C=(0,a.useMemo)(()=>{if(!v)return 0;for(let e=v.scriptFrames.length-1;e>=0;e--){let t=v.scriptFrames[e];if(t.taskId)return t.startFrame+t.durationInFrames-1}return Math.max(0,v.totalDurationInFrames-1)},[v]),I=(0,a.useCallback)(()=>{var e;S.playing?S.pause():(e=S.currentFrame,C>0&&e>=C&&S.seekTo(0),S.play())},[C,S.currentFrame,S.pause,S.play,S.playing,S.seekTo]);(0,a.useEffect)(()=>{!v||S.playing||!(S.currentFrame<v.totalDurationInFrames-1)&&C>0&&S.seekTo(C)},[C,v,S.currentFrame,S.playing,S.seekTo]),(0,a.useEffect)(()=>{if(!v||!(null==e?void 0:e.onTaskChange))return;if(!S.playing){null!==E.current&&(E.current=null,e.onTaskChange(null));return}let t=function(e,t){let r=null;for(let o of e){var n,i;if(0===o.durationInFrames){o.startFrame<=t&&(r=null!=(n=o.taskId)?n:r);continue}if(t<o.startFrame)break;r=null!=(i=o.taskId)?i:r}return r}(v.scriptFrames,S.currentFrame);t!==E.current&&(E.current=t,e.onTaskChange(t))},[v,null==e?void 0:e.onTaskChange,S.currentFrame,S.playing]);let j=(0,a.useMemo)(()=>{var e;let t;return v?(e=S.currentFrame,(t=lw(v.scriptFrames,e,v.imageWidth,v.imageHeight,v.fps)).img?t:null):null},[v,S.currentFrame]),O=(0,a.useCallback)(()=>lN(function*(){if(null==e?void 0:e.reportFileContent)try{var t,r;yield(t={content:e.reportFileContent,onDownloadReport:e.onDownloadReport},(r=function*(){let{content:e,defaultFileName:r="midscene_report.html",onDownloadReport:n,documentRef:i,urlRef:o,blobFactory:a,scheduleRevoke:s}=t;if(n)return void(yield n({content:e,defaultFileName:r}));let l=null!=i?i:globalThis.document;if(!l)throw Error("Report download requires a document context.");let A=null!=o?o:globalThis.URL;if(!(null==A?void 0:A.createObjectURL)||!(null==A?void 0:A.revokeObjectURL))throw Error("Report download requires URL.createObjectURL support.");let c=(null!=a?a:(e,t)=>new Blob(e,t))([e],{type:"text/html"}),u=A.createObjectURL(c),d=l.createElement("a");d.href=u,d.download=r,d.style.display="none",l.body.appendChild(d);try{d.click()}finally{l.body.removeChild(d),(null!=s?s:e=>setTimeout(e,0))(()=>{A.revokeObjectURL(u)})}},function(){var e=this,t=arguments;return new Promise(function(n,i){var o=r.apply(e,t);function a(e){lf(o,n,i,a,s,"next",e)}function s(e){lf(o,n,i,a,s,"throw",e)}a(void 0)})})())}catch(e){G(e,{title:"Failed to download report"})}})(),[null==e?void 0:e.onDownloadReport,null==e?void 0:e.reportFileContent]),P=(0,a.useMemo)(()=>j&&(j.title||j.subTitle)?{title:j.title,subTitle:j.subTitle}:null,[j]),[M,T]=(0,a.useState)(!1),[N,D]=(0,a.useState)(0),B=(0,a.useRef)(!1),[z,L]=(0,a.useState)(!0),F=(0,a.useRef)(null),K=(0,a.useCallback)(()=>{L(!0),F.current&&clearTimeout(F.current),M||(F.current=setTimeout(()=>L(!1),3e3))},[M]),U=(0,a.useCallback)(()=>{L(!0),F.current&&clearTimeout(F.current)},[]),Q=(0,a.useCallback)(()=>{F.current&&clearTimeout(F.current),M||(F.current=setTimeout(()=>L(!1),1e3))},[M]);(0,a.useEffect)(()=>{M&&(L(!0),F.current&&(clearTimeout(F.current),F.current=null))},[M]),(0,a.useEffect)(()=>{let e=e=>{var t;let r=null==(t=e.target)?void 0:t.tagName;"INPUT"!==r&&"TEXTAREA"!==r&&"SELECT"!==r&&"Space"===e.code&&(e.preventDefault(),I())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[I]);let Z=(0,a.useRef)(null),J=(0,a.useCallback)(e=>{if(!v||!Z.current)return;let t=Z.current;t.setPointerCapture(e.pointerId);let r=e=>{let r=t.getBoundingClientRect(),n=Math.max(0,Math.min(1,(e-r.left)/r.width));S.seekTo(Math.round(n*C))};r(e.clientX);let n=e=>r(e.clientX),i=()=>{t.removeEventListener("pointermove",n),t.removeEventListener("pointerup",i)};t.addEventListener("pointermove",n),t.addEventListener("pointerup",i)},[v,S,C]),[X,H]=(0,a.useState)(!1),V=(0,a.useCallback)(()=>{let e=b.current;e&&(document.fullscreenElement?document.exitFullscreen().then(()=>H(!1)):e.requestFullscreen().then(()=>H(!0)))},[]);(0,a.useEffect)(()=>{let e=()=>H(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[]);let q=(0,a.useCallback)(()=>lN(function*(){if(v&&!B.current){B.current=!0,T(!0),D(0);try{var e,t;yield(e={autoZoom:A},t=e=>D(Math.round(100*e)),lO(function*(){if(lP)throw Error("Video export is already in progress");lP=!0;try{var r,n,i;yield(r=v,n=e,i=t,lO(function*(){var e;let{totalDurationInFrames:t,fps:o}=r,a=null==(e=null==n?void 0:n.autoZoom)||e,s=new Set;for(let e of r.scriptFrames)e.img&&s.add(e.img);let l=new Map;yield Promise.all([...s].map(e=>lO(function*(){try{l.set(e,(yield lR(e)))}catch(e){}})()));let A=new Set([sa]);for(let e of r.scriptFrames)e.pointerImg&&A.add(e.pointerImg);let c=new Map;yield Promise.all([...A].map(e=>lO(function*(){try{c.set(e,(yield lR(e)))}catch(e){}})()));let u=null;try{u=yield lR(ss)}catch(e){}let d=document.createElement("canvas");d.width=960,d.height=540;let p=d.getContext("2d"),h=d.captureStream(o),f=new MediaRecorder(h,{mimeType:"video/webm"}),g=[];return f.ondataavailable=e=>{e.data.size>0&&g.push(e.data)},new Promise((e,n)=>{let s=null,A=!1,d=0,m=performance.now(),y=m,v=null,b=null,w=1e3/o,E=()=>{v&&clearTimeout(v),b&&clearTimeout(b),document.removeEventListener("visibilitychange",x),h.getTracks().forEach(e=>e.stop())},k=e=>{A||s||(s=e,"inactive"!==f.state?f.stop():(E(),A=!0,n(e)))},x=()=>{document.hidden&&k(Error("Video export was interrupted because the report tab was hidden"))};f.onerror=()=>{k(Error("MediaRecorder error"))},f.onstop=()=>{if(E(),A)return;if(A=!0,s)return void n(s);if(0===g.length)return void n(Error("No video data"));let t=new Blob(g,{type:"video/webm"}),r=URL.createObjectURL(t),i=document.createElement("a");i.href=r,i.download="midscene_replay.webm",i.click(),setTimeout(()=>URL.revokeObjectURL(r),1e3),e()},document.addEventListener("visibilitychange",x),f.start();let S=e=>{if(!A&&"inactive"!==f.state){if(d>0&&e-y>Math.max(2e3,10*w))return void k(Error("Video export was interrupted because rendering stalled"));y=e,p.clearRect(0,0,960,540),function(e,t,r,n,i,o,a){var s,l,A,c,u,d,p,h,f,g,m,y,v,b,w,E,k;let x,{scriptFrames:S,imageWidth:C,imageHeight:I,fps:j}=r,O=lw(S,t,C,I,j);if(!O.img)return;let{img:P,prevImg:R,imageWidth:M,imageHeight:T,camera:N,prevCamera:D,pointerMoved:B,imageChanged:z,rawProgress:L,frameInScript:F,spinning:K,spinningElapsedMs:U,currentPointerImg:Q,pointerVisible:Z,insights:J}=O,X=a?B?Math.min(L/.375,1):L:1,{camLeft:H,camTop:G,camWidth:V}=(h=D,f=N,g=M,m=B?L<=.375?0:Math.min((L-.375)/.625,1):L,a?{camLeft:(y=h.left,v=f.left,y+(v-y)*m),camTop:(b=h.top,w=f.top,b+(w-b)*m),camWidth:(E=h.width,k=f.width,E+(k-E)*m)}:{camLeft:0,camTop:0,camWidth:g}),q=(l=D.pointerLeft,A=N.pointerLeft,l+(A-l)*X),W=(c=D.pointerTop,u=N.pointerTop,c+(u-c)*X),Y=M/V,{offsetX:_,offsetY:$,contentWidth:ee,contentHeight:et}=lE(960,540,M,T),er=-(ee/M*H),en=-(et/T*G),ei=z?Math.min(Math.max(F/10,0),1):1;e.fillStyle="#000",e.fillRect(0,0,960,540);let eo=(t,r)=>{let i=n.get(t);i&&!(r<=0)&&(e.save(),e.globalAlpha=r,e.beginPath(),e.rect(0,0,960,540),e.clip(),e.translate(_+er*Y,$+en*Y),e.scale(Y,Y),e.drawImage(i,0,0,ee,et),e.restore())};z&&R&&ei<1&&eo(R,1-ei),eo(P,z?ei:1),J.length>0&&function(e,t,r,n){for(let i of(e.save(),e.beginPath(),e.rect(n.offsetX,n.offsetY,n.contentWidth,n.contentHeight),e.clip(),t))if(!(i.alpha<=0)){if(e.save(),e.globalAlpha*=i.alpha,i.highlightElement){let t=lM(sA(i.highlightElement),r,n);e.fillStyle="rgba(253, 89, 7, 0.4)",e.fillRect(t.left,t.top,t.width,t.height),e.strokeStyle="#fd5907",e.lineWidth=1,e.strokeRect(t.left,t.top,t.width,t.height),e.shadowColor="rgba(51, 51, 51, 0.4)",e.shadowBlur=2,e.shadowOffsetX=4,e.shadowOffsetY=4,e.strokeRect(t.left,t.top,t.width,t.height),e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0}if(i.searchArea){let t=lM(i.searchArea,r,n);e.fillStyle="rgba(2, 131, 145, 0.4)",e.fillRect(t.left,t.top,t.width,t.height),e.strokeStyle="#028391",e.lineWidth=1,e.strokeRect(t.left,t.top,t.width,t.height)}e.restore()}e.restore()}(e,J,{zoom:Y,tx:er,ty:en},{offsetX:_,offsetY:$,contentWidth:ee,contentHeight:et,imageWidth:M,imageHeight:T});let ea=T/M*V,es=_+(q-H)/V*ee,el=$+(W-G)/ea*et,eA=(lk(ee,"contentWidth"),lx(lS(M).scale*(ee/M))),ec=lC(eA),eu=null!=(s=i.get(Q))?s:i.get(sa),ed=lb(Z,N,D,M,T);K&&o&&(d=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},eA),p=p={width:ec.size,height:ec.size,centerOffsetX:ec.centerOffset,centerOffsetY:ec.centerOffset},Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(p)).forEach(function(e){Object.defineProperty(d,e,Object.getOwnPropertyDescriptor(p,e))}),x=(Math.sin(U/500-Math.PI/2)+1)/2*Math.PI*2,e.save(),e.translate(es,el),e.rotate(x),e.drawImage(o,-d.centerOffsetX,-d.centerOffsetY,d.width,d.height),e.restore()),!K&&ed&&eu&&e.drawImage(eu,es-eA.hotspotX,el-eA.hotspotY,eA.width,eA.height)}(p,d,r,l,c,u,a),null==i||i((d+1)/t),(d+=1)<t?(m+=w,b=setTimeout(()=>{requestAnimationFrame(S)},Math.max(0,m-performance.now()))):v=setTimeout(()=>{"inactive"!==f.state&&f.stop()},2*w)}};requestAnimationFrame(e=>{y=e,m=e,S(e)})})})())}finally{lP=!1}})()),l.success("Video exported")}catch(e){console.error("Export failed:",e),G(e,{title:"Video export failed"})}finally{B.current=!1,T(!1),D(0)}}})(),[A,v]),W=(0,a.useMemo)(()=>{if(!v||C<=0)return[];let e=[];for(let t of v.scriptFrames){if("img"!==t.type&&"insight"!==t.type||0===t.durationInFrames)continue;let r=t.startFrame,n=r/C*100;if(n>1&&n<99){let i=[t.title,t.subTitle].filter(Boolean);e.push({percent:n,title:i.length>0?i.join(": "):`Chapter ${e.length+1}`,frame:r})}}return e},[v,C]),Y=null!=(i=null==e?void 0:e.reportFileContent)?i:null,_=(null==e?void 0:e.canDownloadReport)!==!1;if(!y||0===y.length||!v)return Y&&_?(0,o.jsx)("div",{className:"player-container player-container-empty",children:(0,o.jsxs)("div",{className:"player-empty-state",children:[(0,o.jsx)("span",{className:"player-empty-text",children:"No replay available"}),(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(lr.A,{}),onClick:()=>{O()},children:"Download report"})]})}):null;let $=(null==j?void 0:j.imageWidth)||v.imageWidth,ee=(null==j?void 0:j.imageHeight)||v.imageHeight,et=ee>$,er=C>0?Math.min(100,S.currentFrame/C*100):0;return(0,o.jsx)("div",{className:"player-container","data-fit-mode":null==e?void 0:e.fitMode,children:(0,o.jsxs)("div",{className:"canvas-container",ref:b,onMouseMove:K,onMouseEnter:U,onMouseLeave:Q,children:[(0,o.jsx)("div",{className:"player-wrapper","data-portrait":et?"":void 0,style:{aspectRatio:`${$}/${ee}`},children:(0,o.jsx)("div",{ref:w,style:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%",overflow:"hidden"},onClick:I,children:(s=k.width>0&&k.height>0?Math.min(k.width/$,k.height/ee):1,(0,o.jsx)("div",{style:{width:$*s,height:ee*s,flexShrink:0,position:"relative",overflow:"hidden"},children:(0,o.jsx)("div",{style:{width:$,height:ee,transformOrigin:"0 0",transform:`scale(${s})`},children:(0,o.jsx)(lI,{frameMap:v,autoZoom:A&&S.playing,frame:S.currentFrame,width:$,height:ee,fps:v.fps})})}))})}),f&&P&&(0,o.jsxs)("div",{className:"player-subtitle",children:[P.title&&(0,o.jsx)("span",{className:"player-subtitle-badge",children:P.title}),P.subTitle&&(0,o.jsx)("span",{className:"player-subtitle-text",children:P.subTitle})]}),!(null==e?void 0:e.hideControls)&&(0,o.jsxs)("div",{className:`control-bar ${z?"":"hidden"}`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("div",{className:"status-icon",onClick:I,children:S.playing?(0,o.jsx)(ln.A,{}):(0,o.jsx)(li.A,{})}),(0,o.jsxs)("span",{className:"time-display",children:[lD(Math.min(S.currentFrame,C),v.fps)," ","/ ",lD(C+1,v.fps)]}),(0,o.jsxs)("div",{className:"seek-bar-track",ref:Z,onPointerDown:J,children:[(0,o.jsx)("div",{className:"seek-bar-fill",style:{width:`${er}%`}}),(0,o.jsx)("div",{className:"seek-bar-knob",style:{left:`${er}%`}}),W.map(e=>(0,o.jsx)(h.A,{title:e.title,overlayClassName:"chapter-tooltip",children:(0,o.jsx)("div",{className:"chapter-marker",style:{left:`${e.percent}%`},onClick:t=>{t.stopPropagation(),S.seekTo(e.frame)}})},e.percent))]}),(0,o.jsxs)("div",{className:"player-custom-controls",children:[Y&&_?(0,o.jsx)(h.A,{title:"Download Report",children:(0,o.jsx)("div",{className:"status-icon",onClick:()=>{O()},children:(0,o.jsx)(lr.A,{})})}):null,(0,o.jsx)(lc.A,{trigger:["hover","click"],placement:"topRight",overlayStyle:{minWidth:"148px"},dropdownRender:()=>(0,o.jsxs)("div",{className:"player-settings-dropdown",children:[(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",gap:"4px",height:"32px",padding:"0 8px",borderRadius:"4px",cursor:M?"not-allowed":"pointer",opacity:M?.5:1},onClick:M?void 0:q,children:[(0,o.jsx)("span",{style:{width:16,height:16,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:M?(0,o.jsx)(lu.A,{type:"circle",percent:N,size:16,strokeWidth:14,showInfo:!1,strokeColor:"#1677ff",trailColor:"rgba(0, 0, 0, 0.12)"}):(0,o.jsx)(lo.A,{style:{width:"16px",height:"16px"}})}),(0,o.jsx)("span",{className:"player-export-label",children:M?`Exporting ${N}%`:"Export video"})]}),(0,o.jsx)("div",{className:"player-settings-divider"}),(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",justifyContent:"space-between",height:"32px",padding:"0 8px",borderRadius:"4px"},children:[(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[(0,o.jsx)(lp,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px",marginRight:"16px"},children:"Focus on cursor"})]}),(0,o.jsx)(ld.A,{size:"small",checked:A,onChange:e=>c(e)})]}),(0,o.jsxs)("div",{className:"player-settings-item",style:{display:"flex",alignItems:"center",justifyContent:"space-between",height:"32px",padding:"0 8px",borderRadius:"4px"},children:[(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[(0,o.jsx)(la.A,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px",marginRight:"16px"},children:"Subtitle"})]}),(0,o.jsx)(ld.A,{size:"small",checked:f,onChange:e=>m(e)})]}),(0,o.jsx)("div",{className:"player-settings-divider"}),(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px",height:"32px",padding:"0 8px"},children:[(0,o.jsx)(ls.A,{style:{width:"16px",height:"16px"}}),(0,o.jsx)("span",{style:{fontSize:"14px"},children:"Playback speed"})]}),[.5,1,1.5,2].map(e=>(0,o.jsxs)("div",{onClick:()=>d(e),style:{height:"32px",lineHeight:"32px",padding:"0 8px 0 28px",fontSize:"14px",cursor:"pointer",borderRadius:"4px"},className:`player-speed-option${u===e?" active":""}`,children:[e,"x"]},e))]}),menu:{items:[]},children:(0,o.jsx)("div",{className:"status-icon",children:(0,o.jsx)(lh,{style:{width:"16px",height:"16px"}})})}),(0,o.jsx)("div",{className:"status-icon",onClick:V,children:X?(0,o.jsx)(ll.A,{}):(0,o.jsx)(lA.A,{})})]})]})]})})}let lz=e=>{let{result:t,loading:r,serverValid:n,serviceMode:i,replayScriptsInfo:a,replayCounter:s,loadingProgressText:l,verticalMode:A=!1,notReadyMessage:c,fitMode:u,autoZoom:d,actionType:p,canDownloadReport:h,onDownloadReport:f}=e,g="result-wrapper";A&&(g+=" vertical-mode-result"),a&&A&&(g+=" result-wrapper-compact");let m=s8,y=p&&i0.includes(p);if(n||"Server"!==i)if(r)m=(0,o.jsxs)("div",{className:"loading-container",children:[(0,o.jsx)(en.A,{spinning:r,indicator:(0,o.jsx)(a8.A,{spin:!0})}),(0,o.jsx)("div",{className:"loading-progress-text loading-progress-text-progress",children:(0,o.jsx)(s5,{text:l,speed:3})})]});else if(null==t?void 0:t.error){let e=(0,o.jsx)("pre",{style:{color:"#ff4d4f",whiteSpace:"pre-wrap"},children:null==t?void 0:t.error});m=t.reportHTML||a?(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto",maxHeight:"40%",overflow:"auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Error:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{replayScripts:null==a?void 0:a.scripts,imageWidth:null==a?void 0:a.width,imageHeight:null==a?void 0:a.height,reportFileContent:t.reportHTML||null,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]}):e}else if(y&&(null==t?void 0:t.result)!==void 0&&a){let e="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}),r=(null==t?void 0:t.reportHTML)||null;m=(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Output:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{replayScripts:a.scripts,imageWidth:a.width,imageHeight:a.height,reportFileContent:r,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]})}else if(a){let e=(null==t?void 0:t.reportHTML)||null;m=(0,o.jsx)(lB,{replayScripts:a.scripts,imageWidth:a.width,imageHeight:a.height,reportFileContent:e,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)}else if(y&&(null==t?void 0:t.result)!==void 0&&(null==t?void 0:t.reportHTML)){let e="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)});m=(0,o.jsxs)("div",{className:"combined-result-layout",children:[(0,o.jsxs)("div",{style:{flex:"0 0 auto"},children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Output:"}),e]}),(0,o.jsxs)("div",{className:"combined-result-section",children:[(0,o.jsx)("div",{style:{fontWeight:"bold",marginBottom:"8px"},children:"Report:"}),(0,o.jsx)("div",{className:"combined-result-player",children:(0,o.jsx)(lB,{reportFileContent:t.reportHTML,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s)})]})]})}else y&&(null==t?void 0:t.result)!==void 0?m="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}):(null==t?void 0:t.reportHTML)?m=(0,o.jsx)(lB,{reportFileContent:t.reportHTML,fitMode:u,autoZoom:d,canDownloadReport:null!=h?h:"In-Browser"!==i,onDownloadReport:f},s):(null==t?void 0:t.result)!==void 0&&(m="string"==typeof(null==t?void 0:t.result)?(0,o.jsx)("pre",{children:null==t?void 0:t.result}):(0,o.jsx)("pre",{children:JSON.stringify(null==t?void 0:t.result,null,2)}));else m=s4(c);return(0,o.jsx)("div",{className:g,style:{height:"100%",display:"flex",flexDirection:"column",flex:"1 1 auto",justifyContent:"center"},children:m})},lL=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"none","aria-label":"Playground",viewBox:"0 0 20 20"},e),r=r={children:[(0,o.jsx)("rect",{width:20,height:20,fill:"#2B83FF",rx:10}),(0,o.jsx)("path",{fill:"#2B83FF",stroke:"#fff",strokeLinejoin:"round",strokeWidth:1.125,d:"M6.866 5.882a.56.56 0 0 1 .667-.078l3.248 1.875 3.247 1.875a.563.563 0 0 1 0 .974l-3.247 1.875-3.248 1.875a.563.563 0 0 1-.784-.74l1.749-3.497-1.75-3.498a.56.56 0 0 1 .118-.661Z"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function lF(){return(0,a.createElement)("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,focusable:!1},(0,a.createElement)("path",{d:"M3 7.99984L6.33333 11.3332L13 4.6665",stroke:"#188F4D",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}))}let lK="ZodOptional",lU="ZodDefault",lQ="ZodNullable",lZ="ZodObject",lJ="midscene_location_field_flag",lX=e=>"object"==typeof e&&null!==e&&("shape"in e||"ZodObject"===e.type),lH=e=>{var t,r,n;if((null==(t=e._def)?void 0:t.typeName)===lZ){let t;if(e._def.shape&&(t="function"==typeof e._def.shape?e._def.shape():e._def.shape),!t&&e.shape&&(t=e.shape),t&&lJ in t)return!0;let n=(null==(r=e._def)?void 0:r.description)||e.description||"";if("string"==typeof n&&n.toLowerCase().includes("input field"))return!0}if("object"==typeof e&&null!==e){let t=e.description||(null==(n=e._def)?void 0:n.description)||"";if("string"==typeof t){let e=t.toLowerCase();if(e.includes("input field")||e.includes("element")||e.includes("locate"))return!0}if("ZodObject"===e.typeName||"ZodObject"===e.type)return"string"==typeof t&&t.toLowerCase().includes("input field")}return!1},lG=e=>{var t,r,n,i,o;let a=e,s=!1,l=!1;for(;(null==(t=a._def)?void 0:t.typeName)===lK||(null==(r=a._def)?void 0:r.typeName)===lU||(null==(n=a._def)?void 0:n.typeName)===lQ;)(null==(i=a._def)?void 0:i.typeName)===lK&&(s=!0),(null==(o=a._def)?void 0:o.typeName)===lU&&(l=!0),a=a._def.innerType||a;return{actualField:a,isOptional:s,hasDefault:l}},lV=(e,t)=>{var r,n;if(!(null==e?void 0:e.length)||!t)return null;let i=e.find(e=>e.interfaceAlias===t||e.name===t);if(!(null==i?void 0:i.paramSchema)||!lX(i.paramSchema))return null;let o=i.paramSchema.shape||{},a=Object.keys(o);if(1!==a.length)return null;let[s]=a,{actualField:l}=lG(o[s]),A=lH(l);if(!("ZodString"===(null==(r=l._def)?void 0:r.typeName)||A))return null;let c=(null==(n=l._def)?void 0:n.description)||l.description||(A?"Describe the element you want to interact with":`Enter ${s}`);return{name:s,placeholder:c}};var lq=r(8460),lW=r(3896),lY=r(3246),l_=r(1631),l$=r(4665);let l0=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:6,height:10,fill:"none",viewBox:"0 0 6 10"},e),r=r={children:(0,o.jsx)("path",{fill:"#000",fillOpacity:.25,fillRule:"evenodd",d:"M.195 9.138a.667.667 0 0 1 0-.943l3.529-3.528L.195 1.138a.667.667 0 0 1 .943-.943l4 4c.26.26.26.683 0 .943l-4 4a.667.667 0 0 1-.943 0",clipRule:"evenodd"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},l1=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:[(0,o.jsx)("path",{stroke:"#878787",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.33,d:"M1.505 4.164c-2.862 6.126 2.197 10.501 6.063 10.501a7 7 0 1 0-6.063-10.5"}),(0,o.jsx)("path",{stroke:"#878787",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.33,d:"M7.57 3.465v4.203l2.967 2.968"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};var l2={};l2.d=(e,t)=>{for(var r in t)l2.o(t,r)&&!l2.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l2.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l2.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l3={};function l5(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}l2.r(l3),l2.d(l3,{create:()=>v.vt});let{create:l7}=l3,l4="midscene-prompt-history-v2",l8="midscene-last-selected-type",l6=l7((e,t)=>{let r;return{history:(r=localStorage.getItem(l4))?JSON.parse(r):{},lastSelectedType:localStorage.getItem(l8)||"aiAct",clearHistory:r=>{let n=l5({},t().history);delete n[r],e({history:n}),localStorage.setItem(l4,JSON.stringify(n))},addHistory:r=>{var n,i;let{type:o}=r,a=t().history,s=a[o]||[],l=JSON.stringify({prompt:r.prompt,params:r.params}),A=[r,...s.filter(e=>JSON.stringify({prompt:e.prompt,params:e.params})!==l)];A.length>10&&(A.length=10);let c=(n=l5({},a),i=i={[o]:A},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))}),n);e({history:c}),localStorage.setItem(l4,JSON.stringify(c))},getHistoryForType:e=>t().history[e]||[],setLastSelectedType:t=>{e({lastSelectedType:t}),localStorage.setItem(l8,t)}}}),l9=e=>{if(!e)return"";if("aiAct"===e)return"Action";let t=e.startsWith("ai")?e.slice(2):e;if(t.startsWith("IOS"))return t.substring(3).replace(/([A-Z])/g," $1").replace(/^/,"IOS").trim();let r=t.replace(/([A-Z])/g," $1").trim(),n=r.split(" ");return(n.length>3?n.slice(-3).join(" "):r).replace(/\b\w/g,e=>e.toUpperCase())};function Ae(e){return{supportsImeStrategy:"android"===e,supportsKeyboardDismissStrategy:"android"===e||"harmony"===e,supportsAutoDismissKeyboard:"android"===e||"ios"===e||"harmony"===e,supportsAlwaysRefreshScreenInfo:"android"===e}}function At(e){return Object.values(Ae(e)).some(Boolean)}var Ar=r(6356);let An=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:27,height:27,fill:"none",viewBox:"0 0 27 27"},e),r=r={children:(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.333,d:"M19.527 8.855h-2M14.86 7.522v2.667M14.86 8.855H7.527M10.194 13.522H7.527M12.86 12.189v2.666M20.193 13.522H12.86M19.527 18.189h-2M14.86 16.855v2.667M14.86 18.189H7.527"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Ai=e=>{let t,{showDeepLocateOption:r=!1,showDeepThinkOption:n=!1,enableTracking:i=!1,showDataExtractionOptions:a=!1,hideDomAndScreenshotOptions:s=!1,deviceType:l,trigger:A,popupPlacement:c="bottomRight"}=e,u=X(e=>e.forceSameTabNavigation),d=X(e=>e.setForceSameTabNavigation),p=X(e=>e.deepLocate),f=X(e=>e.setDeepLocate),g=X(e=>e.deepThink),m=X(e=>e.setDeepThink),y=X(e=>e.screenshotIncluded),v=X(e=>e.setScreenshotIncluded),b=X(e=>e.domIncluded),w=X(e=>e.setDomIncluded),E=X(e=>e.imeStrategy),k=X(e=>e.setImeStrategy),x=X(e=>e.autoDismissKeyboard),S=X(e=>e.setAutoDismissKeyboard),C=X(e=>e.keyboardDismissStrategy),I=X(e=>e.setKeyboardDismissStrategy),j=X(e=>e.alwaysRefreshScreenInfo),O=X(e=>e.setAlwaysRefreshScreenInfo),P=Ae(l),R=At(l);if(!i&&!r&&!n&&!a&&!R)return null;let M=(t=[],i&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>d(e.target.checked),checked:u,children:"Limit popup to current tab"}),key:"track-config"}),r&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>{f(e.target.checked)},checked:p,children:"Deep Locate"}),key:"deep-locate-config"}),n&&t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Deep Think"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:g,onChange:e=>m(e.target.value),children:[(0,o.jsx)(h.A,{title:"Controlled by MIDSCENE_MODEL_REASONING_ENABLED env variable",children:(0,o.jsx)(l$.A,{value:"unset",children:"Auto"})}),(0,o.jsx)(l$.A,{value:!0,children:"On"}),(0,o.jsx)(l$.A,{value:!1,children:"Off"})]})]}),key:"deep-think-config"}),a&&!s&&(t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>{v(e.target.checked)},checked:y,children:"Include screenshot in request"}),key:"screenshot-included-config"}),t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Include DOM info in request"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:b,onChange:e=>w(e.target.value),children:[(0,o.jsx)(l$.A,{value:!1,children:"Off"}),(0,o.jsx)(l$.A,{value:!0,children:"All"}),(0,o.jsx)(l$.A,{value:"visible-only",children:"Visible only"})]})]}),key:"dom-included-config"})),P.supportsImeStrategy&&(t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"IME strategy"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:E,onChange:e=>k(e.target.value),children:[(0,o.jsx)(l$.A,{value:"always-yadb",children:"Always YADB"}),(0,o.jsx)(l$.A,{value:"yadb-for-non-ascii",children:"YADB for non-ASCII"})]})]}),key:"ime-strategy-config"}),P.supportsAutoDismissKeyboard&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>S(e.target.checked),checked:x,children:st}),key:"auto-dismiss-keyboard-config"}),P.supportsKeyboardDismissStrategy&&t.push({label:(0,o.jsxs)("div",{style:{padding:"4px 0"},children:[(0,o.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:"Keyboard dismiss strategy"}),(0,o.jsxs)(l$.A.Group,{size:"small",value:C,onChange:e=>I(e.target.value),children:[(0,o.jsx)(l$.A,{value:"esc-first",children:"ESC first"}),(0,o.jsx)(l$.A,{value:"back-first",children:"Back first"})]})]}),key:"keyboard-dismiss-strategy-config"}),P.supportsAlwaysRefreshScreenInfo&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>O(e.target.checked),checked:j,children:"Always refresh screen info"}),key:"always-refresh-screen-info-config"})),!P.supportsImeStrategy&&P.supportsAutoDismissKeyboard&&t.push({label:(0,o.jsx)(Ar.A,{onChange:e=>S(e.target.checked),checked:x,children:st}),key:"auto-dismiss-keyboard-config"}),t),T=null!=A?A:(0,o.jsx)("button",{"aria-label":"Open run configuration",className:"selector-trigger-button",type:"button",children:(0,o.jsx)(An,{width:24,height:24})});return(0,o.jsx)("div",{className:"selector-trigger",children:(0,o.jsx)(lc.A,{getPopupContainer:e=>e.ownerDocument.body,menu:{items:M},overlayClassName:"config-selector-dropdown",overlayStyle:{zIndex:10010},placement:c,trigger:["click"],children:T})})};var Ao=r(7991),Aa=r(2752);let{TextArea:As}=m.A,Al=(e,t)=>`${e}${t?" (Optional)":""}`,AA=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=a||`Enter ${t}`;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`Please input ${t}`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(m.A,{placeholder:s})},t)},Ac=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=a||`Describe the ${t}, use natural language`;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`The ${t} is required`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(As,{rows:2,placeholder:s})},t)},Au=e=>{var t;let{name:r,label:n,fieldSchema:i,isRequired:a,marginBottom:s,placeholder:l}=e,A=((null==(t=i._def)?void 0:t.values)||[]).map(e=>({value:e,label:e.charAt(0).toUpperCase()+e.slice(1)}));return(0,o.jsx)(aF.A.Item,{name:["params",r],label:n,rules:a?[{required:!0,message:`Please select ${r}`}]:[],style:{marginBottom:s},colon:!1,children:(0,o.jsx)(Ao.A,{placeholder:l||`Select ${r}`,options:A})},r)},Ad=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e,s=500*("distance"===t),l=a&&Number(a)||s,A="distance"===t?1e4:void 0;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:`${r}${"distance"===t?" (px)":""}`,rules:n?[{required:!0,message:`Please input ${t}`},{type:"number",min:0,message:`${r} must be at least 0`}]:[{type:"number",min:0,message:`${r} must be at least 0`}],style:{flex:"distance"===t?1:void 0,marginBottom:i},colon:!1,children:(0,o.jsx)(Aa.A,{placeholder:l.toString(),min:0,max:A,step:"distance"===t?10:1,style:{width:"100%"}})},t)},Ap=e=>{let{name:t,label:r,isRequired:n,marginBottom:i,placeholder:a}=e;return(0,o.jsx)(aF.A.Item,{name:["params",t],label:Al(r,!n),rules:n?[{required:!0,message:`Please select ${t}`}]:[],style:{marginBottom:i},colon:!1,children:(0,o.jsx)(Ao.A,{placeholder:a||`Select ${t}`,options:[{value:!0,label:"True"},{value:!1,label:"False"}]})},t)};var Ah=r(316);let Af=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:18,height:16,fill:"none",viewBox:"0 0 18 16"},e),r=r={children:(0,o.jsx)("path",{stroke:"#333",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.333,d:"m3.124 2.667 11.162 10.666M3.124 13.333 14.286 2.667"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Ag=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:25,height:25,fill:"none",viewBox:"0 0 25 25"},e),r=r={children:[(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.33,d:"M6.63 9.021c-2.862 6.126 2.197 10.501 6.063 10.501a7 7 0 1 0-6.063-10.5"}),(0,o.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:.85,strokeWidth:1.33,d:"M12.695 8.322v4.203l2.967 2.968"})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},Am=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:19,height:19,fill:"none",viewBox:"0 0 19 19"},e),r=r={children:[(0,o.jsxs)("g",{stroke:"currentColor",strokeLinejoin:"round",strokeOpacity:.65,strokeWidth:1.5,clipPath:"url(#magnifying-glass_svg__a)",children:[(0,o.jsx)("path",{d:"M8.397 14.29a6.375 6.375 0 1 0 0-12.75 6.375 6.375 0 0 0 0 12.75Z"}),(0,o.jsx)("path",{strokeLinecap:"round",d:"M10.519 5.42a3 3 0 0 0-2.122-.88 3 3 0 0 0-2.121.88M12.98 12.499l3.182 3.182"})]}),(0,o.jsx)("defs",{children:(0,o.jsx)("clipPath",{id:"magnifying-glass_svg__a",children:(0,o.jsx)("path",{fill:"#fff",d:"M.522.04h18v18h-18z"})})})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},{Text:Ay}=u.A,Av=e=>{let{onSelect:t,history:r,currentType:n,trigger:i,popupPlacement:s="bottom",title:l="History",showClear:A=!0,onClear:c,searchPlaceholder:u="Search",emptyText:d="No history record",noMatchText:p="No matching history record",renderItemActions:h,renderItemLabel:f,overlayClassName:y,popupWidth:v=320,popupHeight:b=400,portalContainerSelector:w}=e,[E,k]=(0,a.useState)(!1),[x,S]=(0,a.useState)(""),[C,I]=(0,a.useState)(0),j=l6(e=>e.clearHistory),O=(0,a.useRef)(null),P=(0,a.useRef)(null),[R,M]=(0,a.useState)(null),[T,N]=(0,a.useState)(null),[D,B]=(0,a.useState)(!1),z=(0,a.useMemo)(()=>{let e=Date.now(),t=e-6048e5,n=e-31536e6,i=r.filter(e=>e.prompt.toLowerCase().includes(x.toLowerCase()));return{recent7Days:i.filter(e=>e.timestamp>=t),recent1Year:i.filter(e=>e.timestamp<t&&e.timestamp>=n),older:i.filter(e=>e.timestamp<n)}},[r,x]),L=()=>{k(!1)};(0,a.useEffect)(()=>{if(!E)return;let e=()=>{var e,t;if(!P.current)return;let r=P.current.getBoundingClientRect(),n=w?P.current.closest(w):null,i=null==n?void 0:n.getBoundingClientRect(),o=null!=(e=null==i?void 0:i.width)?e:window.innerWidth,a=null!=(t=null==i?void 0:i.height)?t:window.innerHeight,l=i?r.right-i.left:r.right,A=i?r.top-i.top:r.top,c=i?r.bottom-i.top:r.bottom,u=Math.max(16,o-v-16),d=Math.max(16,a-b-16);M({left:Math.min(Math.max(16,l-v),u),top:Math.min(Math.max(16,"top"===s?A-b-8:c+8),d)}),N(null!=n?n:document.body),B(!!n)},t=e=>{O.current&&!O.current.contains(e.target)&&P.current&&!P.current.contains(e.target)&&k(!1)};e();let r=setTimeout(()=>{document.addEventListener("click",t)},100);return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{clearTimeout(r),document.removeEventListener("click",t),window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[E,b,s,v,w]);let F=(e,r)=>0===r.length?null:(0,o.jsxs)("div",{className:"history-group",children:[(0,o.jsx)("div",{className:"history-group-title",children:e}),r.map((e,r)=>(0,o.jsxs)("div",{className:"history-item",onClick:()=>{t(e),k(!1)},children:[(0,o.jsx)("span",{className:"history-item-label",children:f?f(e,{close:L}):e.prompt}),h?(0,o.jsx)("span",{className:"history-item-actions",onClick:e=>e.stopPropagation(),children:h(e,{close:L,scrollVersion:C})}):null]},`${e.timestamp}-${r}`))]},e);return(0,o.jsxs)("div",{className:"history-selector-wrapper",children:[(0,o.jsx)("div",{className:"selector-trigger",onClick:()=>k(e=>!e),ref:P,children:null!=i?i:(0,o.jsx)(Ag,{width:24,height:24})}),E&&R&&T&&(0,Ah.createPortal)((0,o.jsx)("div",{className:y?`history-modal-overlay ${y}${D?" history-modal-overlay-in-container":""}`:`history-modal-overlay${D?" history-modal-overlay-in-container":""}`,ref:O,style:R,children:(0,o.jsxs)("div",{className:"history-modal-container",children:[(0,o.jsxs)("div",{className:"history-modal-header",children:[(0,o.jsxs)(Ay,{strong:!0,style:{fontSize:"16px"},children:[l," (",r.length,")"]}),(0,o.jsx)(g.Ay,{size:"small",type:"text",icon:(0,o.jsx)(Af,{width:16,height:16}),onClick:()=>k(!1),className:"close-button"})]}),(0,o.jsx)("div",{className:"history-search-section",children:(0,o.jsxs)("div",{className:"search-input-wrapper",children:[(0,o.jsx)(m.A,{placeholder:u,value:x,onChange:e=>S(e.target.value),prefix:(0,o.jsx)(Am,{width:18,height:18}),className:"search-input",allowClear:!0}),A?(0,o.jsx)(g.Ay,{type:"link",onClick:()=>{c?c():j(n),S(""),k(!1)},className:"clear-button",disabled:0===r.length,children:"Clear"}):null]})}),(0,o.jsx)("div",{className:"history-content",onScroll:()=>{I(e=>e+1)},children:0===r.length?(0,o.jsx)("div",{className:"no-results",children:(0,o.jsx)(Ay,{type:"secondary",children:d})}):(0,o.jsxs)(o.Fragment,{children:[F("Last 7 days",z.recent7Days),F("Last 1 year",z.recent1Year),F("Earlier",z.older),x&&0===z.recent7Days.length&&0===z.recent1Year.length&&0===z.older.length&&(0,o.jsx)("div",{className:"no-results",children:(0,o.jsx)(Ay,{type:"secondary",children:p})})]})})]})}),T)]})};function Ab(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}let{TextArea:Aw}=m.A,AE=e=>{var t,r,n,i,s,l,A;let{runButtonEnabled:c,form:u,serviceMode:d,selectedType:p,dryMode:f,stoppable:y,loading:v,onRun:b,onStop:w,clearPromptAfterRun:E=!0,actionSpace:k,hideDomAndScreenshotOptions:x=!1,deviceType:S,chrome:C}=e,[I,j]=(0,a.useState)(!1),[O,P]=(0,a.useState)(""),R="aiQuery"===p?"What do you want to query?":"aiAssert"===p?"What do you want to assert?":"aiTap"===p?"What element do you want to tap?":"aiDoubleClick"===p?"What element do you want to double-click?":"aiHover"===p?"What element do you want to hover over?":"aiInput"===p?"Format: <value> | <element>\nExample: hello world | search box":"aiRightClick"===p?"What element do you want to right-click?":"aiKeyboardPress"===p?"Format: <key> | <element (optional)>\nExample: Enter | text field":"aiScroll"===p?"Format: <direction> <amount> | <element (optional)>\nExample: down 500 | main content":"aiLocate"===p?"What element do you want to locate?":"aiBoolean"===p?"What do you want to check (returns true/false)?":"aiNumber"===p?"What number do you want to extract?":"aiString"===p?"What text do you want to extract?":"aiAsk"===p?"What do you want to ask?":"aiWaitFor"===p?"What condition do you want to wait for?":"What do you want to do?",M=(null==C?void 0:C.variant)==="minimal",T=(null==C?void 0:C.placeholder)||R,N=(A=null==C?void 0:C.primaryActionLabel)?A:l9(p)||"Action",D=(0,a.useRef)(null),B=(0,a.useRef)(null),z=aF.A.useWatch("params",u),L=(0,a.useRef)(null),F=l6(e=>e.history),K=l6(e=>e.lastSelectedType),U=l6(e=>e.addHistory),Q=l6(e=>e.setLastSelectedType),Z=(0,a.useMemo)(()=>F[p]||[],[F,p]),{markExplicitSelection:J,skipNextRestore:X,shouldSkipRestoreOnce:H}=function(e){let{enabled:t,form:r,selectedType:n,onAfterReset:i,defaultType:o="aiAct"}=e,[s,l]=(0,a.useState)(!1),A=(0,a.useRef)(!1);(0,a.useEffect)(()=>{t&&!s&&n&&n!==o&&(A.current=!1,r.setFieldsValue({type:o,prompt:"",params:{}}),null==i||i())},[t,s,n,o,r,i]);let c=(0,a.useCallback)(()=>{t&&l(!0)},[t]),u=(0,a.useCallback)(()=>{A.current=!0},[]),d=(0,a.useCallback)(()=>!!A.current&&(A.current=!1,!0),[]);return(0,a.useMemo)(()=>({markExplicitSelection:c,skipNextRestore:u,shouldSkipRestoreOnce:d}),[c,u,d])}({enabled:M,form:u,selectedType:p,onAfterReset:(0,a.useCallback)(()=>{L.current=null,P("")},[])}),G=(0,a.useMemo)(()=>{if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);return!!(null==e?void 0:e.paramSchema)&&(!lX(e.paramSchema)||Object.keys(e.paramSchema.shape||{}).length>0)}return!1},[p,k]),V=(0,a.useMemo)(()=>{if(k&&k.length>0){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if(e){if(e.paramSchema&&lX(e.paramSchema)){let t=e.paramSchema.shape||{};return Object.keys(t).some(e=>{let{isOptional:r}=lG(t[e]);return!r})}return!!e.paramSchema}}return!0},[p,k]),q=(0,a.useMemo)(()=>["aiQuery","aiBoolean","aiNumber","aiString","aiAsk","aiAssert"].includes(p),[p]),W=(0,a.useMemo)(()=>{if("aiAct"===p||"aiLocate"===p)return!0;if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t=e.paramSchema.shape||{};return Object.keys(t).some(e=>{let{actualField:r}=lG(t[e]);return lH(r)})}}return!1},[p,k]),Y=(0,a.useMemo)(()=>"aiAct"===p,[p]),_=(0,a.useMemo)(()=>{let e="In-Browser-Extension"===d,t=q&&!x,r=At(S);return e||W||Y||t||r},[d,W,Y,q,x,S]),$=(0,a.useMemo)(()=>(e=>{let t=Object.keys(sr);if(!(null==e?void 0:e.length))return t;let r=e.map(e=>e.interfaceAlias||e.name),n=new Set;return t.forEach(e=>{let t=sr[e];"aiAct"===e||(null==t?void 0:t.group)==="extraction"||(null==t?void 0:t.group)==="validation"?n.add(e):r.includes(e)&&n.add(e)}),r.forEach(e=>{n.add(e)}),Array.from(n)})(k),[k]),ee=(0,a.useMemo)(()=>$.filter(e=>!sn.includes(e)),[$]),et=(0,a.useCallback)(e=>{J(),u.setFieldValue("type",e)},[u,J]),er=(0,a.useMemo)(()=>[{key:"interaction-group",label:"Interaction APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="interaction"}},{key:"extraction-group",label:"Data Extraction APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="extraction"}},{key:"validation-group",label:"Validation APIs",match:e=>{var t;return(null==(t=sr[e])?void 0:t.group)==="validation"}},{key:"device-specific-group",label:"Device-Specific APIs",match:e=>!sr[e]}],[]),en=(0,a.useCallback)(e=>{var t;return{key:e,label:l9(e),title:(null==(t=sr[e])?void 0:t.title)||"",onClick:()=>et(e)}},[et]),ei=(0,a.useMemo)(()=>{let e=[];for(let t of er){let r=ee.filter(t.match);0!==r.length&&e.push({key:t.key,type:"group",label:t.label,children:r.map(en)})}return e},[er,ee,en]),eo=(0,a.useMemo)(()=>{let e=sn.filter(e=>$.includes(e)),t=[];return e.length>0&&t.push({key:"primary-group",type:"group",label:"Primary APIs",children:e.map(en)}),t.push(...ei),{items:t}},[$,en,ei]),ea=(0,a.useMemo)(()=>({items:ei}),[ei]),es=(0,a.useCallback)(()=>{if(!G||!k)return{};let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t={},r=e.paramSchema.shape||{};return Object.keys(r).forEach(e=>{let n=(e=>{var t;let r=e;for(;null==(t=r._def)?void 0:t.innerType;){if(r._def.typeName===lU){if("function"==typeof r._def.defaultValue)return r._def.defaultValue();if(void 0!==r._def._serializedDefaultValue)return r._def._serializedDefaultValue}r=r._def.innerType}})(r[e]);void 0!==n&&(t[e]=n)}),t}return{}},[p,G,k]);(0,a.useEffect)(()=>{M||u.getFieldValue("type")||!K||u.setFieldValue("type",K)},[u,M,K]),(0,a.useEffect)(()=>{!M&&p&&p!==K&&Q(p)},[p,M,K,Q]);let el=(0,a.useCallback)(()=>{let e=B.current;if(!e)return;let t=null,r=e.querySelector(".ant-radio-button-wrapper-checked"),n=e.querySelector(".more-apis-button.selected-from-dropdown");if(r?t=r:n&&(t=n),t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=n.left-r.left+e.scrollLeft,o=n.width,a=r.width;e.scrollTo({left:Math.max(0,i-(a-o)/2),behavior:"smooth"})}},[]);(0,a.useEffect)(()=>{if(H())return;if(M){let e=es();u.setFieldsValue({prompt:"",params:e}),P(""),L.current=null;return}let e=Z[0];if(!e||!L.current||e.timestamp!==L.current.timestamp)if(e)u.setFieldsValue({type:e.type,prompt:e.prompt||"",params:e.params}),P(e.prompt||""),L.current=e;else{let e=es();u.setFieldsValue({prompt:"",params:e}),P(""),L.current=null}},[p,Z,u,es,M,H]),(0,a.useEffect)(()=>{let e=setTimeout(()=>{el()},100);return()=>clearTimeout(e)},[p,el]);let eA=aF.A.useWatch("prompt",u);(0,a.useEffect)(()=>{eA!==O&&P(eA||"")},[eA,O]);let ec=(0,a.useCallback)(e=>{J(),e.type!==p&&X(),u.setFieldsValue({prompt:e.prompt,type:e.type,params:e.params}),P(e.prompt)},[u,J,p,X]),eu=(0,a.useCallback)(e=>{P(e.target.value)},[]),ed=(0,a.useMemo)(()=>{if(!G||!k)return!1;let e=k.find(e=>e.interfaceAlias===p||e.name===p);return!!((null==e?void 0:e.paramSchema)&&lX(e.paramSchema))&&1===Object.keys(e.paramSchema.shape||{}).length},[p,G,k]),ep=(0,a.useMemo)(()=>M?lV(k,p):null,[k,M,p]),eh=(0,a.useMemo)(()=>((e,t,r,n,i,o)=>{if(!e)return!1;if(!(()=>{if(n){let e=n.find(e=>e.interfaceAlias===i||e.name===i);if(e){if(!e.paramSchema)return!1;if("object"==typeof e.paramSchema&&"shape"in e.paramSchema)return Object.keys(e.paramSchema.shape||{}).length>0}}return!0})())return!0;if(t){let e=r||{},t=null==n?void 0:n.find(e=>e.interfaceAlias===i||e.name===i);if((null==t?void 0:t.paramSchema)&&lX(t.paramSchema)){let r=t.paramSchema.shape||{};return Object.keys(r).every(t=>{let{isOptional:n}=lG(r[t]),i=e[t];return n||void 0!==i&&""!==i&&null!==i})}return!0}return o.trim().length>0})(c,!!G,z,k,p,O),[c,G,p,k,O,z]),ef=(0,a.useCallback)(()=>{let e=u.getFieldsValue(),t="";if(G&&e.params&&k){let r=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==r?void 0:r.paramSchema)&&lX(r.paramSchema)){let n="",i=[],o=r.paramSchema.shape||{};Object.keys(o).forEach(t=>{var r;let a=null==(r=e.params)?void 0:r[t];if(null!=a&&""!==a){let{actualField:e}=lG(o[t]);lH(e)?n=String(a):"distance"===t?i.push(`${a}`):i.push(String(a))}});let a=i.join(" ");t=n?`${n} - ${a}`:a}else t=e.prompt||""}else t=e.prompt||"";let r={type:e.type,prompt:t,params:e.params,timestamp:Date.now()};if(U(r),b(),E)if(L.current=r,P(""),G){let e=es();u.setFieldValue("params",e)}else u.setFieldValue("prompt","")},[u,U,b,G,p,E,k,es]),eg=(0,a.useCallback)(e=>{"Enter"===e.key&&e.metaKey&&eh?(ef(),e.preventDefault(),e.stopPropagation()):"Enter"===e.key&&setTimeout(()=>{if(D.current){var e;let t=null==(e=D.current.resizableTextArea)?void 0:e.textArea;if(t){let e=t.selectionStart,r=t.value.lastIndexOf("\n");(-1===r||e>r)&&(t.scrollTop=t.scrollHeight)}}},0)},[ef,eh]),em=(0,a.useCallback)(e=>{"Enter"===e.key&&e.metaKey&&eh&&(ef(),e.preventDefault(),e.stopPropagation())},[ef,eh]),ey=(0,a.useCallback)(()=>{if(!G)return null;if(k){let e=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==e?void 0:e.paramSchema)&&lX(e.paramSchema)){let t=e.paramSchema.shape||{},r=Object.keys(t);if(1===r.length){let e=r[0],{actualField:n}=lG(t[e]),i=lH(n),a=(()=>{var t,r;if(null==(t=n._def)?void 0:t.description)return n._def.description;if(n.description)return n.description;if(k){let t=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==t?void 0:t.paramSchema)&&"object"==typeof t.paramSchema&&"shape"in t.paramSchema){let n=(t.paramSchema.shape||{})[e];if(null==n||null==(r=n._def)?void 0:r.description)return n._def.description;if(null==n?void 0:n.description)return n.description}}return i?"Describe the element you want to interact with":"keyName"===e?"Enter key name or text to type":"value"===e?"Enter text to input":`Enter ${e}`})();return(0,o.jsx)(aF.A.Item,{name:["params",e],style:{margin:0},children:(0,o.jsx)(m.A.TextArea,{className:"main-side-console-input-textarea",rows:3,placeholder:a,autoFocus:!0,onKeyDown:em})})}let n=[],i=r.sort((e,r)=>{let n=t[e],i=t[r],{isOptional:o}=lG(n),{isOptional:a}=lG(i);return!o&&a?-1:o&&!a?1:0});if(i.forEach((e,r)=>{var a,s,l;let{actualField:A,isOptional:c}=lG(t[e]),u=lH(A),d=e.charAt(0).toUpperCase()+e.slice(1),h=12*(r!==i.length-1),f=(()=>{var t,r;if(null==(t=A._def)?void 0:t.description)return A._def.description;if(A.description)return A.description;if(k){let t=k.find(e=>e.interfaceAlias===p||e.name===p);if((null==t?void 0:t.paramSchema)&&"object"==typeof t.paramSchema&&"shape"in t.paramSchema){let n=(t.paramSchema.shape||{})[e];if(null==n||null==(r=n._def)?void 0:r.description)return n._def.description;if(null==n?void 0:n.description)return n.description}}if(u)return"Describe the element you want to interact with"})(),g={name:e,label:d,fieldSchema:A,isRequired:!c,marginBottom:h,placeholder:f};u?n.push((0,o.jsx)(Ac,Ab({},g),e)):(null==(a=A._def)?void 0:a.typeName)==="ZodEnum"?n.push((0,o.jsx)(Au,Ab({},g),e)):(null==(s=A._def)?void 0:s.typeName)==="ZodNumber"?n.push((0,o.jsx)(Ad,Ab({},g),e)):(null==(l=A._def)?void 0:l.typeName)==="ZodBoolean"?n.push((0,o.jsx)(Ap,Ab({},g),e)):n.push((0,o.jsx)(AA,Ab({},g),e))}),"aiScroll"===p){let e=n.find(e=>a.isValidElement(e)&&"direction"===e.props.name),t=n.find(e=>a.isValidElement(e)&&"distance"===e.props.name),r=n.filter(e=>a.isValidElement(e)&&"direction"!==e.props.name&&"distance"!==e.props.name);if(e&&t)return(0,o.jsxs)("div",{className:"structured-params",children:[(0,o.jsxs)("div",{style:{display:"flex",gap:12,marginBottom:12},children:[e,t]}),r]})}return(0,o.jsx)("div",{className:"structured-params",children:n})}}return null},[p,G,k,em]),ev=(0,a.useCallback)(()=>{j(!0)},[]),eb=(0,a.useCallback)(()=>{j(!1)},[]),ew=(0,a.useCallback)(()=>{let e=e=>(0,o.jsx)(g.Ay,{type:"primary",icon:(0,o.jsx)(lq.A,{}),style:{borderRadius:20,zIndex:999},onClick:ef,disabled:!eh,loading:v,children:e});return f?"aiAct"===p?(0,o.jsx)(h.A,{title:"Start executing until some interaction actions need to be performed. You can see the process of planning and locating.",children:e("Dry Run")}):e("Run"):y?(0,o.jsx)(g.Ay,{icon:(0,o.jsx)(lW.A,{}),onClick:w,style:{borderRadius:20,zIndex:999},children:"Stop"}):e("Run")},[f,v,ef,w,eh,p,y]),eE=(0,a.useCallback)(()=>{let e=e=>(0,o.jsx)(g.Ay,{"aria-label":e,className:"minimal-run-trigger",type:"primary",icon:(0,o.jsx)(lY.A,{}),onClick:ef,disabled:!eh,loading:v});return f?"aiAct"===p?(0,o.jsx)(h.A,{title:"Start executing until some interaction actions need to be performed. You can see the process of planning and locating.",children:e("Dry run")}):e("Run"):y?(0,o.jsx)(g.Ay,{"aria-label":"Stop running",className:"minimal-run-trigger minimal-run-trigger-stop",icon:(0,o.jsx)(lW.A,{}),onClick:w}):e("Run")},[f,v,ef,eh,w,p,y]),ek=V?G?ep?(0,o.jsx)(aF.A.Item,{name:["params",ep.name],style:{margin:0},children:(0,o.jsx)(Aw,{className:"main-side-console-input-textarea",disabled:!c,rows:3,placeholder:"prompt"===ep.name?T:ep.placeholder,autoFocus:!0,onKeyDown:em})}):ed?ey():(0,o.jsx)("div",{className:"structured-params-container",children:ey()}):(0,o.jsx)(aF.A.Item,{name:"prompt",style:{margin:0},children:(0,o.jsx)(Aw,{className:"main-side-console-input-textarea",disabled:!c,rows:3,placeholder:T,autoFocus:!0,onKeyDown:eg,onChange:eu,ref:D})}):(0,o.jsxs)("div",{className:"no-input-method",children:['Click "Run" to execute ',l9(p)]}),ex=null!=(s=null==C||null==(t=C.icons)?void 0:t.action)?s:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAASdJREFUeAHtlt3NgjAUhg8/CVx+G8gGX5xAnUDdQMcgkIgJBLbQEXQD3MAR6gZewgXgOUn9iRp6vAC96JM07YG36Zv+nBZAwySO4ymWgUoXRdEfaYGJyRElSbKyLGuHJVdpHcc5khb7RMCAZcA0TU82PYZ8IPsoZ4ttoEu0ga8bMB6DNE1X8H6jTUBuLmQL7SxkLbDkzz/ruhZBEKxfDGRZNm2aZgc9UFXVLAzDPbVvS1AUxQGrE3SPwHK8BganBy7NBuTU+r5vKLSNbG5RuwQF+hRoA9rA76RifMl4+JjI4Z5yu0KUZTnE8c4U3GbAdd3/HgYnPNu2R9eg98uIvmOGfL2M2tCpWBv4BQPiqW7j9IGWZ4CODT7X5pRAVFrUjEn7eNQ0bVwAyWpjMDlJKpAAAAAASUVORK5CYII=",eS=null==C||null==(r=C.icons)?void 0:r.actionChevron,eC=null!=(l=null==C||null==(n=C.icons)?void 0:n.settings)?l:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAaFJREFUeAHtlt9tgzAQxi8EJa/pBMkIHYENygalG7RvSQQKlfjz2I5ANkg3oBukG6QbtI9IIPq5ihHQOBXmFImqPwnZBvtsf9ydTfQPA77vz4IguCENDGJgOp3ux+PxLgxDnzrCsgAw/zZmGPOO48iUFci4wE42xITKXlEUO9d1X34s4NjZISZU9qCSjeKqastKWZYpMaKyNxqNto02MRDHcXmsJqvV6q7LWBYnxK4+SBOTeHDw2HAwn4aGlg9EUfQE2e+xYwchtaUeaPmAmFyUyH4W9aThA9jZ7alOiN39crl8O/FpoRpzjrq96hcgj2/wwVcNQlxb6/X6VdRrYaeNtGfUVvXbgE9iRNprOCHktPF/Z+3OeZ4fPM9LZbumgHjX2Qnr9rSioE/ma6MVBZDvWWQ/cbLR0GE5jEQoQhFLpGIkpvcuY1nOAkyeiBKJSRSXPw37UCkgbrWmaSZwsBkxoLInHBgJ6EG2KwUgn801+Tl78hyRVApkWfaIexxp4rRfqOzBUdN6+29cyYAMvQN1hCUMIbc1mUyu4VzDz4wX5wvRfah9kIOcwwAAAABJRU5ErkJggg==",eI=null==C||null==(i=C.icons)?void 0:i.history;return M?(0,o.jsxs)("div",{className:"prompt-input-wrapper prompt-input-wrapper-minimal",children:[(0,o.jsx)(aF.A.Item,{hidden:!0,name:"type",style:{margin:0},children:(0,o.jsx)(m.A,{})}),(0,o.jsxs)("div",{className:`main-side-console-input minimal-main-side-console-input ${!c?"disabled":""} ${v?"loading":""}`,children:[ek,(0,o.jsxs)("div",{className:"minimal-toolbar-row",children:[(0,o.jsxs)("div",{className:"minimal-toolbar-left",children:[(0,o.jsx)(lc.A,{menu:eo,placement:"topLeft",trigger:["click"],disabled:!c,overlayClassName:"more-apis-dropdown",children:(0,o.jsxs)("button",{"aria-label":`Select action type (current: ${N})`,className:"minimal-action-trigger",disabled:!c,type:"button",children:[(0,o.jsx)("img",{alt:"",className:"minimal-action-icon",src:ex}),(0,o.jsx)("span",{className:"minimal-action-label",children:N}),eS?(0,o.jsx)("img",{alt:"",className:"minimal-action-chevron",src:eS}):(0,o.jsx)(l0,{"aria-hidden":"true",className:"minimal-action-chevron",focusable:"false"})]})}),(0,o.jsx)(Av,{onSelect:ec,history:Z,currentType:p,popupPlacement:"top",trigger:(0,o.jsx)("button",{"aria-label":"Open prompt history",className:"minimal-icon-trigger",type:"button",children:eI?(0,o.jsx)("img",{alt:"",className:"minimal-toolbar-icon minimal-toolbar-icon-history",src:eI}):(0,o.jsx)(l1,{"aria-hidden":"true",className:"minimal-toolbar-icon minimal-toolbar-icon-history",focusable:"false"})})}),_?(0,o.jsx)("div",{className:I?"settings-wrapper settings-wrapper-hover":"settings-wrapper",onMouseEnter:ev,onMouseLeave:eb,children:(0,o.jsx)(Ai,{enableTracking:"In-Browser-Extension"===d,showDeepLocateOption:W,showDeepThinkOption:Y,showDataExtractionOptions:q,hideDomAndScreenshotOptions:x,deviceType:S,popupPlacement:"topRight",trigger:(0,o.jsx)("button",{"aria-label":"Open run configuration",className:"minimal-icon-trigger",type:"button",children:(0,o.jsx)("img",{alt:"",className:"minimal-toolbar-icon",src:eC})})})}):null]}),(0,o.jsxs)("div",{className:"form-controller-wrapper",children:[null==C?void 0:C.inputActions,eE()]})]})]})]}):(0,o.jsxs)("div",{className:"prompt-input-wrapper",children:[(0,o.jsxs)("div",{className:"mode-radio-group-wrapper",children:[(0,o.jsxs)("div",{className:"mode-radio-group",ref:B,children:[(0,o.jsx)(aF.A.Item,{name:"type",style:{margin:0},children:(0,o.jsx)(l$.A.Group,{buttonStyle:"solid",disabled:!c,children:sn.map(e=>{var t;return(0,o.jsx)(h.A,{title:(null==(t=sr[e])?void 0:t.title)||"",children:(0,o.jsx)(l$.A.Button,{value:e,children:l9(e)})},e)})})}),(0,o.jsx)(lc.A,{menu:ea,placement:"bottomLeft",trigger:["click"],disabled:!c,overlayClassName:"more-apis-dropdown",children:(0,o.jsxs)(g.Ay,{className:`more-apis-button ${!sn.includes(p)?"selected-from-dropdown":""}`,children:[p&&!sn.includes(p)?l9(p):"more",(0,o.jsx)(l_.A,{style:{fontSize:"10px",marginLeft:"2px"}})]})})]}),(0,o.jsxs)("div",{className:"action-icons",children:[(0,o.jsx)(Av,{onSelect:ec,history:Z,currentType:p}),_&&(0,o.jsx)("div",{className:I?"settings-wrapper settings-wrapper-hover":"settings-wrapper",onMouseEnter:ev,onMouseLeave:eb,children:(0,o.jsx)(Ai,{enableTracking:"In-Browser-Extension"===d,showDeepLocateOption:W,showDeepThinkOption:Y,showDataExtractionOptions:q,hideDomAndScreenshotOptions:x,deviceType:S})})]})]}),(0,o.jsxs)("div",{className:`main-side-console-input ${!c?"disabled":""} ${v?"loading":""}`,children:[ek,(0,o.jsxs)("div",{className:"form-controller-wrapper",children:[null==C?void 0:C.inputActions,ew()]})]})]})};function Ak(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function Ax(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){Ak(o,n,i,a,s,"next",e)}function s(e){Ak(o,n,i,a,s,"throw",e)}a(void 0)})}}let{Text:AS}=u.A,AC=new Set;function AI(e){let{error:t}=e;if(!t)return null;let r=t.replace(/^(Error:\s*)+/,"Error: ");return(0,o.jsx)(y.A,{message:(0,o.jsx)("span",{style:{color:"#ff4d4f"},children:r}),type:"error",showIcon:!0})}function Aj(e){var t,r,n;let{playgroundSDK:i,storage:s,contextProvider:l,config:A={},branding:c={},className:u="",dryMode:d=!1,showContextPreview:p=!0}=e,[h]=aF.A.useForm(),{config:f}=X(),[m,y]=(0,a.useState)(!1),v=(0,a.useRef)(null);(0,a.useEffect)(()=>{Ax(function*(){if(i&&"function"==typeof i.checkStatus)try{yield i.checkStatus(),y(!0)}catch(e){console.warn("Failed to initialize SDK, using default namespace:",e),y(!0)}else y(!0)})()},[i]);let b=(0,a.useMemo)(()=>{if(!1===A.persistMessages)return null;if(s)return s;if(!m)return null;let e=A.storageNamespace||(i&&i.id&&"string"==typeof i.id?`agent-${i.id}`:"playground-default"),t=sX();return console.log(`Using ${t} storage for namespace: ${e}`),sJ(t,e)},[s,m,A.storageNamespace,A.persistMessages,i]),{loading:w,setLoading:E,infoList:k,setInfoList:x,actionSpace:S,actionSpaceLoading:C,uiContextPreview:I,setUiContextPreview:j,showScrollToBottomButton:O,verticalMode:P,replayCounter:R,setReplayCounter:M,messagesInitialized:T,infoListRef:N,currentRunningIdRef:D,interruptedFlagRef:B,clearInfoList:z,handleScrollToBottom:L}=function(e,t,r,n){let i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],[o,s]=(0,a.useState)(!1),[l,A]=(0,a.useState)([]),[c,u]=(0,a.useState)([]),[d,p]=(0,a.useState)(!0),[h,f]=(0,a.useState)(),[g,m]=(0,a.useState)(!1),[y,v]=(0,a.useState)(!0),b=(0,a.useRef)(0),[w,E]=(0,a.useState)(!1),[k,x]=(0,a.useState)(0),S=(0,a.useRef)(null),C=(0,a.useRef)(null),I=(0,a.useRef)({}),j=(0,a.useRef)(),[,O]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=!1,r=null!=t?t:null,o=t=>{e||A(t)};return j.current!==r&&(t||0===l.length)&&sG(function*(){let a=sq(sV({},si(n)),{id:"welcome",timestamp:new Date});if(null==t?void 0:t.loadMessages)try{let e=yield t.loadMessages();0===e.length&&(e=yield sG(function*(){if(!i)return[];let e=sJ(sX(),"playground-default");try{if(null==e?void 0:e.loadMessages){let r=yield e.loadMessages();if(r.length>1)return console.log("Found data in old namespace, migrating..."),(null==t?void 0:t.saveMessages)&&(yield t.saveMessages(r)),e.clearMessages&&(yield e.clearMessages()),r}}catch(e){console.debug("No data found in old namespace:",e)}return[]})()),e.some(e=>"welcome"===e.id)?o(e):o([a,...e])}catch(e){console.error("Failed to load messages:",e),o([a])}else o([a]);e||(j.current=r,O(e=>e+1))})(),()=>{e=!0}},[i,t]),(0,a.useEffect)(()=>{(null==t?void 0:t.saveMessages)&&l.length>1&&t.saveMessages(l).catch(e=>{e instanceof DOMException&&"QuotaExceededError"===e.name?console.warn("Storage quota exceeded - some messages may not be saved persistently"):console.error("Failed to save messages:",e)})},[l,t]),(0,a.useEffect)(()=>{(null==r?void 0:r.getUIContext)&&!h&&r.getUIContext().then(e=>f(e)).catch(e=>{console.error("Failed to get UI context:",e)})},[r,h]),(0,a.useEffect)(()=>{sG(function*(){p(!0);try{var t;if(!e)return void u([]);let n=h||(yield null==r||null==(t=r.getUIContext)?void 0:t.call(r)),i=yield e.getActionSpace(n);u(i||[])}catch(e){console.error("Failed to load action space:",e),u([])}finally{p(!1)}})()},[e,h,r]),(0,a.useEffect)(()=>{E(window.innerWidth<750);let e=()=>{E(window.innerWidth<750)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let P=(0,a.useCallback)(()=>{setTimeout(()=>{S.current&&(S.current.scrollTop=S.current.scrollHeight)},100)},[]),R=(0,a.useCallback)(()=>{if(S.current){let{scrollTop:e,scrollHeight:t,clientHeight:r}=S.current,n=e+r>=t-10;m(!n);let i=e<b.current;b.current=e,n?v(!0):i&&v(!1)}},[]),M=(0,a.useCallback)(()=>{S.current&&(S.current.scrollTo({top:S.current.scrollHeight,behavior:"smooth"}),m(!1),v(!0))},[]);(0,a.useEffect)(()=>{l.length>0&&y&&P()},[l,P,y]),(0,a.useEffect)(()=>{let e=S.current;if(e)return e.addEventListener("scroll",R),R(),()=>{e.removeEventListener("scroll",R)}},[R]);let T=(0,a.useCallback)(()=>sG(function*(){if(A([sq(sV({},si(n)),{id:"welcome",timestamp:new Date})]),null==t?void 0:t.clearMessages)try{yield t.clearMessages()}catch(e){console.error("Failed to clear stored messages:",e)}})(),[t,n]),N=(0,a.useCallback)(()=>sG(function*(){if(null==r?void 0:r.refreshContext)try{let e=yield r.refreshContext();f(e)}catch(e){console.error("Failed to refresh context:",e)}})(),[r]);return{loading:o,setLoading:s,infoList:l,setInfoList:A,messagesInitialized:j.current===(null!=t?t:null),actionSpace:c,actionSpaceLoading:d,uiContextPreview:h,setUiContextPreview:f,showScrollToBottomButton:g,verticalMode:w,replayCounter:k,setReplayCounter:x,infoListRef:S,currentRunningIdRef:C,interruptedFlagRef:I,clearInfoList:T,refreshContext:N,handleScrollToBottom:M,scrollToBottom:P}}(i,b,l,c.targetName,!1!==A.persistMessages&&!A.storageNamespace),{handleRun:F,handleStop:K,canStop:U}=function(e){let{playgroundSDK:t,storage:r,actionSpace:n,loading:i,setLoading:o,setInfoList:s,replayCounter:l,setReplayCounter:A,verticalMode:c,currentRunningIdRef:u,interruptedFlagRef:d,deviceType:p}=e,{deepLocate:h,deepThink:f,screenshotIncluded:g,domIncluded:m,imeStrategy:y,autoDismissKeyboard:v,keyboardDismissStrategy:b,alwaysRefreshScreenInfo:w}=X(),E=(0,a.useCallback)(function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sy(function*(){if(!t)return void console.warn("PlaygroundSDK is not available");let i=Date.now(),a=e.type,E=n.displayContent||`${e.type}: ${e.prompt||JSON.stringify(e.params)}`,k={id:`user-${Date.now()}`,type:"user",content:E,timestamp:new Date};s(e=>[...e,k]),o(!0);let x=sv({},so),S={id:`system-${i}`,type:"system",content:"",timestamp:new Date,loading:!0,loadingProgressText:""};s(e=>[...e,S]);try{u.current=i,d.current[i]=!1,t.onDumpUpdate&&t.onDumpUpdate((e,t)=>{var r;if(d.current[i]||!(null==t||null==(r=t.tasks)?void 0:r.length))return;let n=t.tasks.map((e,t)=>{var r;let n,o;return{id:`progress-${i}-task-${t}`,type:"progress",content:(n=am(e),(o=aw(e))?`${n} - ${o}`:n),actionKind:am(e),timestamp:new Date((null==(r=e.timing)?void 0:r.start)||Date.now()),result:e.error?{error:sw(e.error),result:null}:void 0}});s(e=>{let t=e.findIndex(e=>e.id===`system-${i}`);if(-1===t)return e;let r=e.filter(e=>!("progress"===e.type&&e.id.startsWith(`progress-${i}-`)));return[...r.slice(0,t+1),...n,...r.slice(t+1)]})}),sk(a)||!0!==f||console.warn("[Playground] Non-aiAct action will be executed without deepThink. deepThink is only forwarded for aiAct and runMarkdown.",{actionType:a,requestId:i.toString()});let r="unset"===f?void 0:f,o=sv(sb(sv({requestId:i.toString(),deepLocate:h},sk(a)&&void 0!==r?{deepThink:r}:{}),{screenshotIncluded:g,domIncluded:m,deviceOptions:{imeStrategy:y,autoDismissKeyboard:v,keyboardDismissStrategy:b,alwaysRefreshScreenInfo:w}}),n.reportDisplay?{reportDisplay:n.reportDisplay}:{});if(x.result=yield t.executeAction(a,e,o),"object"==typeof x.result&&null!==x.result){let e=x.result;e.dump&&(x.dump=e.dump),e.reportHTML&&(x.reportHTML=e.reportHTML),e.error&&(x.error=sw(e.error)),"result"in e&&(x.result=e.result)}}catch(e){x.error=sw(e),console.error("Playground execution error:",e),"object"==typeof e&&null!==e&&(e.dump&&(x.dump=e.dump),e.reportHTML&&(x.reportHTML=e.reportHTML))}if(d.current[i])return;o(!1),u.current=null;let C=null,I=l;if(null==x?void 0:x.dump){let e=sE(x.dump,p);e&&(A(e=>e+1),C=e,I=l+1)}s(e=>e.map(e=>e.id===`system-${i}`?sb(sv({},e),{content:"",loading:!1,loadingProgressText:""}):e));let j={id:`result-${i}`,type:"result",content:"Execution result",timestamp:new Date,result:x,loading:!1,replayScriptsInfo:C,replayCounter:I,loadingProgressText:"",verticalMode:c,actionType:a};if(s(e=>[...e,j]),null==r?void 0:r.saveResult)try{yield r.saveResult(j.id,j)}catch(e){console.error("Failed to save result:",e)}let O={id:`separator-${i}`,type:"separator",content:"New Session",timestamp:new Date};s(e=>[...e,O])})()},[t,r,n,o,s,l,A,c,u,d,h,f,g,m,p,y,v,b,w]),k=(0,a.useCallback)(()=>sy(function*(){let e=u.current;if(e&&t&&t.cancelExecution)try{let r=yield t.cancelExecution(e.toString()),n=null;if(r)n=r;else if(t.getCurrentExecutionData)try{n=yield t.getCurrentExecutionData()}catch(e){console.error("Failed to get execution data before stop:",e)}if(d.current[e]=!0,o(!1),t.onProgressUpdate&&t.onProgressUpdate(()=>{}),t.onDumpUpdate&&t.onDumpUpdate(()=>{}),s(t=>t.map(t=>t.id===`system-${e}`?sb(sv({},t),{content:"",loading:!1,loadingProgressText:""}):t)),n&&(n.dump||n.reportHTML)){let t=null,r=l;(t=sE(n.dump,p))&&(A(e=>e+1),r=l+1);let i={id:`stop-result-${e}`,type:"result",content:"Execution stopped by user",timestamp:new Date,result:{result:null,dump:n.dump,reportHTML:n.reportHTML,error:null},loading:!1,verticalMode:c,replayScriptsInfo:t,replayCounter:r};s(e=>[...e,i])}else{let t={id:`stop-${e}`,type:"system",content:"Operation stopped",timestamp:new Date,loading:!1};s(e=>[...e,t])}let i={id:`separator-${e}`,type:"separator",content:"New Session",timestamp:new Date};s(e=>[...e,i])}catch(e){console.error("Failed to stop execution:",e)}})(),[t,u,d,o,s,c,l,p]);return{handleRun:E,handleStop:k,canStop:i&&!!u.current&&!!t&&!!t.cancelExecution}}({playgroundSDK:i,storage:b,actionSpace:S,loading:w,setLoading:E,setInfoList:x,replayCounter:R,setReplayCounter:M,verticalMode:P,currentRunningIdRef:D,interruptedFlagRef:B,deviceType:A.deviceType});(0,a.useEffect)(()=>{(null==i?void 0:i.overrideConfig)&&f&&i.overrideConfig(f).catch(e=>{console.error("Failed to override SDK config:",e),G(e,{title:"Failed to apply AI configuration"})})},[i,f]);let Q=(0,a.useCallback)(()=>Ax(function*(){try{let e=h.getFieldsValue();yield F(e)}catch(e){G(e,{title:"Execution failed"})}})(),[h,F]);(0,a.useEffect)(()=>{let e=A.externalRunRequest;if(e&&function(e){let{request:t,handledRequestIds:r,lastRequestId:n,sdkReady:i,messagesInitialized:o}=e;return!!(t&&t.id!==n&&!(null==r?void 0:r.has(t.id))&&i&&o)}({request:e,handledRequestIds:AC,lastRequestId:v.current,sdkReady:m,messagesInitialized:T})){if(v.current=e.id,AC.add(e.id),AC.size>100){let e=AC.values().next().value;e&&AC.delete(e)}F(e.value,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({displayContent:e.displayContent},e.reportDisplay?{reportDisplay:e.reportDisplay}:{})).catch(e=>{G(e,{title:"Execution failed"})})}},[A.externalRunRequest,F,T,m]);let Z=Object.keys(f||{}).length>=1,J=A.serverMode||!d&&!C&&Z,H=aF.A.useWatch("type",h)||sn["0"],V=(0,a.useMemo)(()=>i&&"function"==typeof i.getServiceMode?i.getServiceMode():"Server",[i]),q=p&&!1!==A.showContextPreview,W=A.layout||"vertical",Y=!1!==A.showVersionInfo,_=A.deviceType,$=null!=(t=A.executionFlow)?t:{},ee=!0===$.collapsible,et=null!=(r=$.label)?r:"Execution Flow",[er,en]=(0,a.useState)(()=>new Set),ei=(0,a.useCallback)(e=>{en(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),{firstInProgressGroup:eo,visibleInfoList:ea}=(0,a.useMemo)(()=>{let e=new Set,t=[],r=null,n=k.length>1;for(let i of k)if(!n||"welcome"!==i.id)if("progress"===i.type){if(null===r){r=i.id,e.add(i.id),t.push(i);continue}ee&&er.has(r)||t.push(i)}else r=null,t.push(i);return{firstInProgressGroup:e,visibleInfoList:t}},[er,ee,k]),es=(0,a.useMemo)(()=>{for(let e=k.length-1;e>=0;e--)if("progress"===k[e].type)return k[e].id;return null},[k]),el=void 0!==A.emptyState&&1===ea.length&&(null==(n=ea[0])?void 0:n.id)==="welcome",eA=(0,a.useMemo)(()=>el&&((e,t)=>{if(!(null==e?void 0:e.length)||!t||lV(e,t))return!1;let r=e.find(e=>e.interfaceAlias===t||e.name===t);return!!(null==r?void 0:r.paramSchema)&&!!lX(r.paramSchema)&&Object.keys(r.paramSchema.shape||{}).length>1})(S,H),[S,el,H]);(0,a.useEffect)(()=>{if(!eA)return;let e=()=>{let e=N.current;if(!e)return;let t=e.querySelector(".playground-empty-state-wrapper"),r=null==t?void 0:t.querySelector("[data-playground-empty-state-content-start]"),n=null==t?void 0:t.querySelector("[data-playground-empty-state-content-end]");if(!(r instanceof HTMLElement)||!(n instanceof HTMLElement))return;let i=e.getBoundingClientRect(),o=r.getBoundingClientRect(),a=n.getBoundingClientRect(),s=function(e){let{currentScrollTop:t,maxScrollTop:r,containerTop:n,containerBottom:i,contentStartTop:o,contentEndBottom:a,topSafeMargin:s=24,bottomSafeMargin:l=24}=e;return Math.max(0,Math.round(Math.min(t+a-(i-l),t+o-(n+s),r)))}({currentScrollTop:e.scrollTop,maxScrollTop:Math.max(0,e.scrollHeight-e.clientHeight),containerTop:i.top,containerBottom:i.bottom,contentStartTop:o.top,contentEndBottom:a.bottom});e.scrollTo({top:s,behavior:"auto"})},t=window.requestAnimationFrame(e),r=window.setTimeout(e,160);return()=>{window.cancelAnimationFrame(t),window.clearTimeout(r)}},[N,H,eA]);let ec=["playground-empty-state-wrapper",eA?"playground-empty-state-wrapper-offset-for-prompt":""].filter(Boolean).join(" ");return(0,o.jsx)("div",{className:`playground-container ${W}-mode ${u}`.trim(),children:(0,o.jsxs)(aF.A,{form:h,onFinish:Q,className:"command-form",initialValues:{type:sn["0"]},children:[q&&(0,o.jsx)("div",{className:"context-preview-section",children:(0,o.jsx)(s9,{uiContextPreview:I,setUiContextPreview:j,showContextPreview:q})}),(0,o.jsxs)("div",{className:"middle-dialog-area",children:[!1!==A.showClearButton&&k.length>1&&(0,o.jsx)("div",{className:"clear-button-container",children:(0,o.jsx)(g.Ay,{size:"small",icon:(0,o.jsx)(a7.A,{}),onClick:z,type:"text",className:"clear-button"})}),(0,o.jsx)("div",{ref:N,className:"info-list-container",children:el?(0,o.jsx)("div",{className:ec,children:A.emptyState}):(0,o.jsx)(se.A,{itemLayout:"vertical",dataSource:ea,renderItem:e=>{var t,r,n;let i,s,l,u,d,p,h,f=ee&&eo.has(e.id),g=f&&er.has(e.id);return(0,o.jsxs)(se.A.Item,{className:"list-item",children:[f?(0,o.jsxs)("button",{type:"button",className:`progress-group-toggle ${er.has(e.id)?"is-collapsed":"is-expanded"}`,"aria-expanded":!er.has(e.id),onClick:()=>ei(e.id),children:[(0,o.jsx)("span",{className:"progress-group-toggle-label",children:et}),(0,o.jsx)(a4.A,{className:"progress-group-toggle-chevron"})]}):null,g?null:"user"===e.type?(0,o.jsx)("div",{className:"user-message-container",children:(0,o.jsx)("div",{className:"user-message-bubble",children:e.content})}):"progress"===e.type?(0,o.jsx)("div",{children:(s=null==(t=(i=e.content.split(" - "))[0])?void 0:t.trim(),l=i.slice(1).join(" - ").trim(),u=e.id===es,h="completed"==(p=(d=w&&u)?"loading":(null==(r=e.result)?void 0:r.error)?"error":"completed")?function(e,t){if(!e)return null;if(t){let r=t(e);if(void 0!==r)return r}return(0,a.createElement)(lF)}(e.actionKind,$.resolveActionIcon):null,(0,o.jsxs)("div",{className:"progress-row",children:[s?(0,o.jsx)("span",{className:`progress-status-icon ${p}`,children:"loading"===p?(0,o.jsx)(a8.A,{spin:!0}):"error"===p?"✗":null!==h?h:"✓"}):null,(0,o.jsxs)("div",{className:"progress-row-content",children:[s?(0,o.jsx)("span",{className:"progress-action-item",children:s}):null,l?(0,o.jsx)("div",{className:"progress-description-wrap",children:(0,o.jsx)(s5,{text:l,className:"progress-description",disabled:!d})}):null,(null==(n=e.result)?void 0:n.error)&&(0,o.jsx)(AI,{error:e.result.error})]})]}))}):"separator"===e.type?(0,o.jsxs)("div",{className:"new-conversation-separator",children:[(0,o.jsx)("div",{className:"separator-line"}),(0,o.jsx)("div",{className:"separator-text-container",children:(0,o.jsx)(AS,{type:"secondary",className:"separator-text",children:e.content})})]}):(0,o.jsxs)("div",{className:"system-message-container",children:[!1!==A.showSystemMessageHeader&&(0,o.jsxs)("div",{className:"system-message-header",children:[(0,o.jsx)(a6.A,{component:c.icon||lL,style:{fontSize:20}}),(0,o.jsx)("span",{className:"system-message-title",children:c.title||"Playground"})]}),(e.content||e.result)&&(0,o.jsx)("div",{className:"system-message-content",children:"result"===e.type?(0,o.jsx)(lz,{result:e.result||null,loading:e.loading||!1,serverValid:!0,serviceMode:V,replayScriptsInfo:e.replayScriptsInfo||null,replayCounter:e.replayCounter||0,loadingProgressText:e.loadingProgressText||"",verticalMode:e.verticalMode||!1,fitMode:"width",actionType:e.actionType,onDownloadReport:A.onDownloadReport}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"system-message-text",children:e.content}),e.loading&&e.loadingProgressText&&(0,o.jsx)("div",{className:"loading-progress-text",children:(0,o.jsx)("span",{children:e.loadingProgressText})})]})})]})]},e.id)}})}),O&&!1!==A.enableScrollToBottom&&(0,o.jsx)(g.Ay,{className:"scroll-to-bottom-button",type:"primary",shape:"circle",icon:(0,o.jsx)(a9.A,{}),onClick:L,size:"large"})]}),(0,o.jsxs)("div",{className:"bottom-input-section",children:[A.showEnvConfigReminder?(0,o.jsx)(lt,{}):null,(0,o.jsx)(AE,{runButtonEnabled:J,form:h,serviceMode:V,selectedType:H,dryMode:d,stoppable:U,loading:w,onRun:Q,onStop:K,actionSpace:S,chrome:A.promptInputChrome,deviceType:_})]}),Y&&c.version&&(0,o.jsx)("div",{className:"version-info-section",children:(0,o.jsxs)("span",{className:"version-text",children:["Midscene.js version: ",c.version]})})]})})}let AO=e=>{var t,r;return(0,o.jsx)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r=r={children:(0,o.jsx)("path",{stroke:"#333",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.333,d:"m12 6-4 4-4-4"})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))},AP=e=>{var t,r;return(0,o.jsxs)("svg",(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:55,height:52,fill:"none",viewBox:"0 0 55 52"},e),r=r={children:[(0,o.jsxs)("mask",{id:"midscene-logo_svg__a",width:55.371,height:52.35,x:-.202,y:-.201,fill:"#000",maskUnits:"userSpaceOnUse",children:[(0,o.jsx)("path",{fill:"#fff",d:"M-.202-.201h55.371v52.35H-.202z"}),(0,o.jsx)("path",{fillRule:"evenodd",d:"M35.38 1.812c1.168 0 1.762 1.405.948 2.244l-.83.853a23.38 23.38 0 0 1 13.968 14.069c2.56 2.523 3.834 6.176 3.714 13.116-.083 4.799-1.883 7.946-4.24 9.99-2.23 1.933-4.832 2.754-6.322 3.224l-.069.022-.088.029q-.675.212-1.328.378a23.22 23.22 0 0 1-13.634 4.399 23.22 23.22 0 0 1-13.632-4.399q-.653-.165-1.328-.379l-.09-.028-.067-.022c-1.49-.47-4.092-1.29-6.323-3.224-2.357-2.044-4.157-5.191-4.24-9.99C1.7 25.154 2.975 21.5 5.535 18.978a23.39 23.39 0 0 1 14.02-14.089l-.81-.833c-.814-.839-.22-2.244.948-2.244zM20.254 6.747A21.4 21.4 0 0 0 7.25 20.086C5.046 22.067 3.68 25.032 3.803 32.06c.146 8.506 6.254 10.434 9.244 11.378l.09.029q.811.256 1.586.437A21.24 21.24 0 0 0 27.5 48.152l.001-.001a21.24 21.24 0 0 1-12.776-4.247 22 22 0 0 1-1.586-.437l-.09-.029c-2.99-.944-9.097-2.872-9.243-11.379-.122-7.027 1.243-9.992 3.447-11.973a21.4 21.4 0 0 1 13.003-13.34m11.359 41.007q.128-.023.255-.05h.002zm.88-.191.215-.051.002-.001zM21.084 6.465h.001",clipRule:"evenodd"})]}),(0,o.jsx)("path",{fill:"#3A4953",fillRule:"evenodd",d:"M35.38 1.812c1.168 0 1.762 1.405.948 2.244l-.83.853a23.38 23.38 0 0 1 13.968 14.069c2.56 2.523 3.834 6.176 3.714 13.116-.083 4.799-1.883 7.946-4.24 9.99-2.23 1.933-4.832 2.754-6.322 3.224l-.069.022-.088.029q-.675.212-1.328.378a23.22 23.22 0 0 1-13.634 4.399 23.22 23.22 0 0 1-13.632-4.399q-.653-.165-1.328-.379l-.09-.028-.067-.022c-1.49-.47-4.092-1.29-6.323-3.224-2.357-2.044-4.157-5.191-4.24-9.99C1.7 25.154 2.975 21.5 5.535 18.978a23.39 23.39 0 0 1 14.02-14.089l-.81-.833c-.814-.839-.22-2.244.948-2.244zM20.254 6.747A21.4 21.4 0 0 0 7.25 20.086C5.046 22.067 3.68 25.032 3.803 32.06c.146 8.506 6.254 10.434 9.244 11.378l.09.029q.811.256 1.586.437A21.24 21.24 0 0 0 27.5 48.152l.001-.001a21.24 21.24 0 0 1-12.776-4.247 22 22 0 0 1-1.586-.437l-.09-.029c-2.99-.944-9.097-2.872-9.243-11.379-.122-7.027 1.243-9.992 3.447-11.973a21.4 21.4 0 0 1 13.003-13.34m11.359 41.007q.128-.023.255-.05h.002zm.88-.191.215-.051.002-.001zM21.084 6.465h.001",clipRule:"evenodd"}),(0,o.jsx)("path",{fill:"#3A4953",d:"m36.328 4.056 1.3 1.263zm-.83.853L34.2 3.646l-1.95 2.006 2.628.96zm13.968 14.069-1.707.609.14.39.295.291zm3.714 13.116 1.812.031zm-4.24 9.99 1.187 1.369zm-6.322 3.224.543 1.73.002-.002zm-.069.022-.543-1.729-.012.004zm-.088.029.546 1.727.01-.003zm-1.328.378-.446-1.757-.335.086-.28.202zm-13.634 4.399v1.812zm-13.632-4.399 1.06-1.47-.28-.202-.334-.084zm-1.328-.379-.55 1.727.004.001zm-.09-.028-.55 1.727zm-.067-.022.55-1.726-.005-.002zm-6.323-3.224-1.187 1.369zm-4.24-9.99-1.811.031zm3.715-13.116 1.272 1.29.295-.29.14-.391zm14.02-14.089.618 1.704 2.636-.955-1.954-2.011zm-.81-.833-1.3 1.262zm.948-2.244V0zm.563 4.935.615 1.704-1.23-3.409zM7.25 20.086l1.211 1.347.357-.32.151-.456zM3.803 32.06l-1.812.03zm9.244 11.378.55-1.726-.004-.002zm.09.029-.55 1.727h.004zm1.586.437 1.087-1.45-.304-.227-.369-.087zM27.5 48.152v1.812h.75l.532-.531zm.001-.001 1.282 1.281 3.093-3.093H27.5zm-12.776-4.247 1.087-1.45-.304-.227-.369-.087zm-1.586-.437-.55 1.727h.004zm-.09-.029.55-1.726-.004-.002zM3.805 32.06l-1.812.032zm3.447-11.973 1.211 1.347.357-.32.151-.456zm24.043 27.727.32 1.784-.64-3.567zm-.573.096-.271-1.792.542 3.584zm.892-.155-.348-1.778.695 3.557zm.255-.05.37 1.774.23-.048.21-.105zm.002 0 .81 1.62-1.179-3.395zm.623-.141L32.07 45.8l.845 3.524zm.215-.051.441 1.757.192-.048.177-.089zm.002-.001.81 1.62-1.251-3.378zM21.084 6.465V4.653h-.278l-.266.084zm-.572.191-.593-1.712 1.186 3.424zm.573-.19.545 1.728-.545-3.54zM35.38 1.811v1.812a.49.49 0 0 1-.351-.83l1.3 1.262 1.3 1.262C39.558 3.33 38.15 0 35.379 0zm.949 2.244-1.3-1.264-.829.854 1.3 1.263 1.298 1.263.83-.853zm-.83.853-.621 1.702a21.57 21.57 0 0 1 12.882 12.976l1.707-.61 1.706-.608A25.2 25.2 0 0 0 36.12 3.207zm13.968 14.069-1.272 1.29c2.043 2.015 3.29 5.063 3.174 11.795l1.812.03 1.812.032c.123-7.147-1.178-11.405-4.254-14.438zm3.714 13.116-1.812-.031c-.074 4.3-1.658 6.955-3.615 8.651l1.187 1.37 1.187 1.369c2.758-2.391 4.773-6.03 4.865-11.328zm-4.24 9.99-1.187-1.37c-1.919 1.663-4.188 2.395-5.68 2.866l.545 1.728.545 1.728c1.488-.469 4.421-1.379 6.964-3.583zm-6.322 3.224-.543-1.728-.069.021.543 1.729.544 1.729.068-.022zm-.069.022-.555-1.725-.089.029.556 1.724.556 1.725.088-.028zm-.088.029-.546-1.728q-.626.197-1.228.35l.446 1.756.445 1.756q.704-.178 1.429-.407zm-1.328.378-1.06-1.47a21.4 21.4 0 0 1-12.574 4.057v3.624c5.48 0 10.562-1.759 14.694-4.742zm-13.634 4.399v-1.812a21.4 21.4 0 0 1-12.571-4.056l-1.06 1.469-1.061 1.47a25.03 25.03 0 0 0 14.692 4.74zm-13.632-4.399.446-1.757q-.602-.151-1.228-.35l-.546 1.728-.546 1.728q.723.229 1.429.407zm-1.328-.379.55-1.726-.09-.029-.55 1.727-.55 1.727.09.028zm-.09-.028.55-1.727-.067-.021-.55 1.726-.55 1.727.067.022zm-.067-.022.545-1.728c-1.492-.47-3.762-1.202-5.681-2.866l-1.187 1.37-1.187 1.369c2.543 2.204 5.477 3.114 6.964 3.583zm-6.323-3.224 1.187-1.37c-1.957-1.696-3.54-4.35-3.615-8.651l-1.811.03-1.812.032c.091 5.297 2.106 8.937 4.864 11.328zm-4.24-9.99 1.812-.031c-.116-6.733 1.13-9.78 3.175-11.795l-1.272-1.29-1.272-1.29C1.185 20.72-.115 24.977.008 32.124zm3.715-13.116 1.707.609A21.57 21.57 0 0 1 20.172 6.593l-.617-1.704-.618-1.703a25.2 25.2 0 0 0-15.11 15.183zm14.02-14.089 1.3-1.262-.81-.834-1.3 1.263-1.3 1.262.811.834zm-.81-.833 1.3-1.263a.49.49 0 0 1-.351.831V1.812L19.691 0c-2.771 0-4.177 3.332-2.247 5.318zm.948-2.244v1.812H35.38V0H19.692zm.563 4.935-.616-1.705A23.2 23.2 0 0 0 5.53 19.514l1.72.572 1.72.571a19.58 19.58 0 0 1 11.9-12.206zM7.25 20.086l-1.212-1.348C3.27 21.228 1.866 24.83 1.99 32.091l1.812-.032 1.811-.03c-.117-6.794 1.208-9.122 2.847-10.596zM3.803 32.06l-1.812.03c.082 4.753 1.861 7.854 4.18 9.864 2.236 1.938 4.852 2.746 6.33 3.212l.546-1.728.546-1.728c-1.511-.477-3.445-1.105-5.047-2.494-1.519-1.316-2.867-3.433-2.932-7.188zm9.244 11.378-.55 1.727.09.029.55-1.727.55-1.727-.09-.028zm.09.029-.546 1.728q.875.276 1.718.474l.414-1.765.414-1.764q-.706-.164-1.454-.401zm1.586.437-1.086 1.45a23.05 23.05 0 0 0 13.862 4.61V46.34a19.43 19.43 0 0 1-11.69-3.886zM27.5 48.152l1.282 1.281v-.001l-1.28-1.281-1.282-1.282-.001.001zm.001-.001v-1.812a19.43 19.43 0 0 1-11.69-3.885l-1.086 1.45-1.086 1.45A23.05 23.05 0 0 0 27.5 49.964zm-12.776-4.247.414-1.764c-.472-.11-.954-.243-1.454-.401l-.546 1.728-.546 1.728q.875.276 1.718.474zm-1.586-.437.55-1.727-.09-.028-.55 1.726-.55 1.727.09.029zm-.09-.029.546-1.728c-1.511-.477-3.444-1.105-5.047-2.494-1.518-1.316-2.866-3.433-2.93-7.188l-1.812.032-1.812.03c.082 4.752 1.86 7.853 4.18 9.864 2.235 1.938 4.85 2.745 6.33 3.212zM3.805 32.06l1.811-.03c-.117-6.794 1.208-9.122 2.847-10.596l-1.211-1.347-1.212-1.348c-2.767 2.49-4.172 6.092-4.047 13.353zm3.447-11.973 1.72.571A19.58 19.58 0 0 1 20.87 8.451l-.615-1.704-.616-1.705A23.2 23.2 0 0 0 5.532 19.514zm24.043 27.727-.32-1.783q-.266.048-.524.087l.271 1.792.271 1.791q.319-.048.622-.103zm-.573.096.272 1.791q.316-.048.622-.103l-.32-1.784-.321-1.783a20 20 0 0 1-.524.087zm.892-.155.347 1.779c.061-.012.179-.034.278-.055l-.37-1.774-.369-1.774c-.071.015-.124.025-.234.046zm.255-.05.81 1.621h.003l-.81-1.622-.811-1.62h-.002zm.002 0-.369-1.775-.235.047.347 1.778.347 1.779.28-.056zm.623-.141.422 1.762c.023-.006.159-.037.234-.056l-.441-1.757-.441-1.758-.197.047zm.215-.051.81 1.62h.002l-.81-1.621-.81-1.621h-.002zm.002-.001-.441-1.758-.199.047.423 1.763.422 1.762.236-.057zM21.084 6.465l-.544-1.728q-.325.104-.621.207l.593 1.712.593 1.712q.273-.095.524-.174zm-.572.191.594 1.712q.27-.093.524-.174l-.545-1.729-.544-1.728q-.323.103-.622.207zm.573-.19V4.652zv1.812z",mask:"url(#midscene-logo_svg__a)"}),(0,o.jsx)("mask",{id:"midscene-logo_svg__b",width:53,height:50,x:1,y:1,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"},children:(0,o.jsx)("path",{fill:"#F0F0F0",fillRule:"evenodd",d:"M24.214 12.537a4.63 4.63 0 0 0 6.64 0l6.608-6.805a23.4 23.4 0 0 1 12 13.247c2.56 2.524 3.833 6.176 3.714 13.114-.083 4.8-1.883 7.947-4.24 9.991-2.231 1.934-4.833 2.755-6.322 3.225l-.158.05q-.675.213-1.328.378a23.22 23.22 0 0 1-13.632 4.399 23.22 23.22 0 0 1-13.632-4.399q-.654-.165-1.33-.378l-.157-.05c-1.49-.47-4.092-1.291-6.322-3.225-2.358-2.044-4.157-5.192-4.24-9.99-.12-6.941 1.155-10.593 3.716-13.117a23.4 23.4 0 0 1 12.05-13.27zM35.38 1.812c1.168 0 1.763 1.406.949 2.244l-6.895 7.1c-.52.534-1.21.8-1.899.8h-.012a2.65 2.65 0 0 1-1.536-.503 2.7 2.7 0 0 1-.35-.299L19.552 4.89l.001-.001-.808-.833c-.814-.838-.22-2.244.949-2.244z",clipRule:"evenodd"})}),(0,o.jsxs)("g",{mask:"url(#midscene-logo_svg__b)",children:[(0,o.jsx)("path",{fill:"#fff",d:"M-4.044-9.086h63.087V65.49H-4.044z"}),(0,o.jsx)("g",{filter:"url(#midscene-logo_svg__c)",opacity:.8,children:(0,o.jsx)("path",{fill:"#005EEC",fillOpacity:.01,d:"M41.85 43.36c-.378-.748-3.453.67-7.362 2.242s-7.175 2.702-6.798 3.45c.378.746 3.853.078 7.763-1.494s6.773-3.452 6.396-4.199"})})]}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__d)",d:"M5.773 18.412h43.601v24.223H5.773z"}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__e)",d:"M5.773 18.473h43.086v24.454H5.773z"}),(0,o.jsx)("path",{fill:"url(#midscene-logo_svg__f)",d:"M5.926 18.075h43.092v24.457H5.926z"}),(0,o.jsx)("foreignObject",{width:27.157,height:19.138,x:21.193,y:36.687,children:(0,o.jsx)("div",{xmlns:"http://www.w3.org/1999/xhtml",style:{backdropFilter:"blur(2.96px)",clipPath:"url(#midscene-logo_svg__g)",height:"100%",width:"100%"}})}),(0,o.jsx)("path",{fill:"#3A4953",fillRule:"evenodd",stroke:"#3A4953",strokeWidth:.514,d:"m14.619 40.412.082.025c2.186.657 4.053.825 6.578.932.365.016.704-.127.932-.363l3.08-5.674c.94-1.735 3.484-1.735 4.426 0l3.08 5.674c.227.236.566.379.931.363 2.525-.107 4.392-.275 6.578-.932l.082-.025c1.384-.416 3.235-.984 4.774-2.253 1.475-1.216 2.74-3.144 2.8-6.483.066-3.66-.372-5.858-1.066-7.316-.672-1.411-1.641-2.254-2.965-3.093-1.305-.828-2.922-1.54-4.435-1.54H37.44c-1.566 0-3.128.159-4.66.473l-.265.055a24.45 24.45 0 0 1-10.02-.043 22 22 0 0 0-4.582-.484h-2.402c-1.895 0-3.3.818-4.435 1.539-1.359.862-2.325 1.704-2.988 3.106-.686 1.45-1.11 3.637-1.043 7.303.06 3.339 1.325 5.267 2.8 6.483 1.539 1.269 3.39 1.837 4.774 2.253Zm17.133 1.319-3.146-5.796c-.463-.854-1.742-.854-2.205 0l-3.146 5.796a2.48 2.48 0 0 1-2.03.901c-2.556-.11-4.549-.282-6.888-.985l-.082-.024c-2.74-.824-8.339-2.505-8.473-9.924-.136-7.494 1.7-9.65 4.617-11.5 1.164-.738 2.832-1.735 5.112-1.735h2.402c1.63 0 3.256.172 4.847.512 3.127.67 6.368.683 9.5.04l.266-.054a24.5 24.5 0 0 1 4.914-.498h2.056c1.865 0 3.727.857 5.112 1.736 2.852 1.808 4.753 4.005 4.618 11.499-.135 7.419-5.733 9.1-8.474 9.924l-.082.024c-2.339.703-4.332.876-6.888.985a2.48 2.48 0 0 1-2.03-.901Z",clipRule:"evenodd","data-figma-bg-blur-radius":5.911}),(0,o.jsxs)("defs",{children:[(0,o.jsx)("pattern",{id:"midscene-logo_svg__d",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__h",transform:"scale(.00483 .0087)"})}),(0,o.jsx)("pattern",{id:"midscene-logo_svg__e",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__i",transform:"scale(.009 .01587)"})}),(0,o.jsx)("pattern",{id:"midscene-logo_svg__f",width:1,height:1,patternContentUnits:"objectBoundingBox",children:(0,o.jsx)("use",{xlinkHref:"#midscene-logo_svg__j",transform:"scale(.009 .01587)"})}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__h",width:207,height:115,preserveAspectRatio:"none"}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__i",width:111,height:63,preserveAspectRatio:"none"}),(0,o.jsx)("image",{xlinkHref:"data:image/png;base64,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",id:"midscene-logo_svg__j",width:111,height:63,preserveAspectRatio:"none"}),(0,o.jsx)("clipPath",{id:"midscene-logo_svg__g",transform:"translate(-21.193 -36.687)",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"m14.619 40.412.082.025c2.186.657 4.053.825 6.578.932.365.016.704-.127.932-.363l3.08-5.674c.94-1.735 3.484-1.735 4.426 0l3.08 5.674c.227.236.566.379.931.363 2.525-.107 4.392-.275 6.578-.932l.082-.025c1.384-.416 3.235-.984 4.774-2.253 1.475-1.216 2.74-3.144 2.8-6.483.066-3.66-.372-5.858-1.066-7.316-.672-1.411-1.641-2.254-2.965-3.093-1.305-.828-2.922-1.54-4.435-1.54H37.44c-1.566 0-3.128.159-4.66.473l-.265.055a24.45 24.45 0 0 1-10.02-.043 22 22 0 0 0-4.582-.484h-2.402c-1.895 0-3.3.818-4.435 1.539-1.359.862-2.325 1.704-2.988 3.106-.686 1.45-1.11 3.637-1.043 7.303.06 3.339 1.325 5.267 2.8 6.483 1.539 1.269 3.39 1.837 4.774 2.253m17.133 1.319-3.146-5.796c-.463-.854-1.742-.854-2.205 0l-3.146 5.796a2.48 2.48 0 0 1-2.03.901c-2.556-.11-4.549-.282-6.888-.985l-.082-.024c-2.74-.824-8.339-2.505-8.473-9.924-.136-7.494 1.7-9.65 4.617-11.5 1.164-.738 2.832-1.735 5.112-1.735h2.402c1.63 0 3.256.172 4.847.512 3.127.67 6.368.683 9.5.04l.266-.054a24.5 24.5 0 0 1 4.914-.498h2.056c1.865 0 3.727.857 5.112 1.736 2.852 1.808 4.753 4.005 4.618 11.499-.135 7.419-5.733 9.1-8.474 9.924l-.082.024c-2.339.703-4.332.876-6.888.985a2.48 2.48 0 0 1-2.03-.901",clipRule:"evenodd"})}),(0,o.jsxs)("filter",{id:"midscene-logo_svg__c",width:27.157,height:19.138,x:21.193,y:36.687,colorInterpolationFilters:"sRGB",filterUnits:"userSpaceOnUse",children:[(0,o.jsx)("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),(0,o.jsx)("feBlend",{in:"SourceGraphic",in2:"BackgroundImageFix",result:"shape"}),(0,o.jsx)("feGaussianBlur",{result:"effect1_foregroundBlur_8049_134028",stdDeviation:3.212})]})]})]},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))};function AR(e){var t;return null==e||null==(t=e.platformSelector)?void 0:t.fieldKey}function AM(){return(0,o.jsx)(AO,{"aria-hidden":"true",className:"session-setup-select-icon"})}let AT="Create Agent";function AN(e){var t,r,n,i;let{form:a,sessionSetup:s,sessionSetupError:l,sessionViewState:A,sessionLoading:c,sessionMutating:u,onCreateSession:d}=e,p=u||c||"blocked"===A.setupState,h=null!=(t=null==s?void 0:s.primaryActionLabel)?t:AT,f=null!=(r=null==s?void 0:s.title)?r:AT,g=null!=(n=null==s?void 0:s.description)?n:"Create a platform session before running actions.";return(0,o.jsx)("div",{className:"session-setup-panel",children:(0,o.jsxs)("div",{className:"session-setup-card",children:[(0,o.jsx)(AP,{"aria-hidden":"true",className:"session-setup-logo"}),(0,o.jsx)("h1",{className:"session-setup-title",children:f}),(0,o.jsx)("p",{className:"session-setup-description",children:g}),"blocked"===A.setupState&&A.setupBlockingReason&&(0,o.jsx)(y.A,{type:"error",showIcon:!0,message:"Setup blocked",description:A.setupBlockingReason,className:"session-setup-alert"}),l?(0,o.jsx)(y.A,{type:"error",showIcon:!0,message:"Failed to load setup",description:l,className:"session-setup-alert"}):null,(null==s?void 0:s.notice)?(0,o.jsx)(y.A,{type:s.notice.type,showIcon:!0,message:s.notice.message,description:s.notice.description,className:"session-setup-alert"}):null,(0,o.jsxs)(aF.A,{form:a,layout:"vertical",className:"session-setup-form",onFinish:()=>{p||d()},children:[(null!=(i=null==s?void 0:s.fields)?i:[]).map(e=>(0,o.jsx)(aF.A.Item,{label:e.label,name:e.key,tooltip:e.description,rules:e.required?[{required:!0,message:`${e.label} is required`}]:void 0,children:function(e,t){if("number"===e.type)return(0,o.jsx)(Aa.A,{style:{width:"100%"},placeholder:e.placeholder});if("select"===e.type){var r,n;let i=AR(t),a=function(e,t){var r;if(AR(t)!==e.key||!(null==t||null==(r=t.platformRegistry)?void 0:r.length))return e.options;let n=t.platformRegistry.map(e=>({label:e.label,value:e.id,description:[e.description,e.unavailableReason].filter(Boolean).join(" \xb7 ")||void 0}));return n.length>0?n:e.options}(e,t);return i===e.key&&(null==t||null==(r=t.platformSelector)?void 0:r.variant)==="cards"?(0,o.jsx)(l$.A.Group,{className:"platform-selector-group",children:(a||[]).map(e=>(0,o.jsxs)(l$.A.Button,{value:e.value,className:"platform-selector-card",children:[(0,o.jsx)("div",{className:"platform-selector-title",children:e.label}),e.description?(0,o.jsx)("div",{className:"platform-selector-description",children:e.description}):null]},String(e.value)))}):(0,o.jsx)(Ao.A,{placeholder:e.placeholder,suffixIcon:(0,o.jsx)(AM,{}),options:(null!=(n=null!=a?a:e.options)?n:[]).map(e=>({label:e.label,value:e.value,description:e.description})),optionRender:e=>{let t=e.data.description;return t?(0,o.jsxs)("div",{className:"session-select-option",children:[(0,o.jsx)("div",{className:"session-select-option-label",children:e.data.label}),(0,o.jsx)("div",{className:"session-select-option-description",children:t})]}):e.data.label}})}return(0,o.jsx)(m.A,{placeholder:e.placeholder})}(e,s)},e.key)),(0,o.jsx)("button",{type:"submit",className:"session-setup-submit",disabled:p,children:u?"Creating...":h})]})]})})}function AD(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function AB(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function Az(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,i)}function AL(e){var t,r,n,i,a,s;let l,{controller:A,appVersion:c,title:u="Playground",branding:d,playgroundConfig:p,header:h,className:m,playgroundClassName:v,notConnectedFallback:b}=e,{state:w,actions:E}=A,k=AB(AD({},l={showContextPreview:!1,layout:"vertical",showVersionInfo:!1,enableScrollToBottom:!1,serverMode:!0,showEnvConfigReminder:!1,showClearButton:!1,showSystemMessageHeader:!1,promptInputChrome:{variant:"minimal"},executionFlow:{collapsible:!0},deviceType:w.deviceType,executionUx:{hints:w.executionUxHints,countdownSeconds:w.countdownSeconds}},p),{executionFlow:AD({},l.executionFlow,null==p?void 0:p.executionFlow),executionUx:AD({},l.executionUx,null==p?void 0:p.executionUx)}),x=(t=w.runtimeInfo,r=w.deviceType,AB(AD({},d),{title:null!=(n=null==t?void 0:t.title)?n:u,version:c,targetName:null!=(s=null!=(a=null!=(i=null==t?void 0:t.platformId)?i:null==d?void 0:d.targetName)?a:r)?s:"screen"}));return(0,o.jsxs)("div",{className:["playground-conversation-panel",m].filter(Boolean).join(" "),children:[(0,o.jsx)(f.A,{open:null!==w.countdown,footer:(0,o.jsx)(g.Ay,{onClick:E.finishCountdown,type:"default",children:"Skip countdown"}),closable:!0,maskClosable:!0,onCancel:E.finishCountdown,centered:!0,width:400,styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.75)"}},children:(0,o.jsxs)("div",{style:{textAlign:"center",padding:"40px 20px"},children:[(0,o.jsx)("div",{style:{fontSize:"120px",fontWeight:"bold",color:"GO!"===w.countdown?"#52c41a":"#1890ff",marginBottom:"24px",lineHeight:1},children:w.countdown}),(0,o.jsx)("div",{style:{fontSize:"18px",fontWeight:500,marginBottom:"12px"},children:"Automation Starting Soon"}),(0,o.jsxs)("div",{style:{fontSize:"14px",color:"var(--midscene-text-secondary)"},children:["The selected session requested a countdown before execution.",(0,o.jsx)("br",{}),"Please wait until the run starts."]})]})}),h,(0,o.jsx)("div",{className:"playground-conversation-body",children:w.serverOnline?w.sessionViewState.connected?(0,o.jsx)(Aj,{playgroundSDK:w.playgroundSDK,config:k,branding:x,className:["playground-container","playground-conversation-skin",v].filter(Boolean).join(" ")}):void 0!==b?(0,o.jsx)(o.Fragment,{children:b}):(0,o.jsx)(AN,{form:w.form,sessionSetup:w.sessionSetup,sessionSetupError:w.sessionSetupError,sessionViewState:w.sessionViewState,sessionLoading:w.sessionLoading,sessionMutating:w.sessionMutating,onCreateSession:()=>{var e;return(e=function*(){yield E.createSession()},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){Az(o,n,i,a,s,"next",e)}function s(e){Az(o,n,i,a,s,"throw",e)}a(void 0)})})()}}):(0,o.jsx)("div",{className:"playground-conversation-offline",children:(0,o.jsx)(y.A,{type:"warning",showIcon:!0,message:"Playground server offline",description:"Reconnect the runtime to continue using the Android playground."})})})]})}let{Content:AF}=Y.A;function AK(e){var t;let{serverUrl:r,appVersion:n,title:i="Playground",defaultDeviceType:s="web",branding:A,playgroundConfig:c,offlineTitle:u="Midscene Playground",offlineStatusText:d="Server offline...",pollIntervalMs:h=5e3}=e,[f,g]=(0,a.useState)(!1),m=function(e){var t;let{serverUrl:r,defaultDeviceType:n="web",pollIntervalMs:i=5e3,countdownSeconds:s=3,initialFormValues:l,onCountdownFinish:A}=e,{message:c}=p.A.useApp(),[u]=aF.A.useForm(),d=(0,a.useRef)(l);(0,a.useLayoutEffect)(()=>{let e=d.current;if(e)for(let[t,r]of Object.entries(e))void 0===u.getFieldValue(t)&&u.setFieldsValue({[t]:r})},[u]);let h=null!=(t=aF.A.useWatch([],u))?t:{},[f,g]=(0,a.useState)(null),[m,y]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[w,E]=(0,a.useState)(!1),[k,x]=(0,a.useState)(!1),S=X(e=>e.config),C=(0,a.useMemo)(()=>JSON.stringify(Object.entries(S).sort((e,t)=>{let[r]=e,[n]=t;return r.localeCompare(n)})),[S]),I=a2(m),j="string"==typeof I?h[I]:void 0,O=(0,a.useMemo)(()=>new aL({type:"remote-execution",serverUrl:r}),[r]),{serverOnline:P,isUserOperating:R,deviceType:M,runtimeInfo:T,executionUxHints:N,refreshServerState:D}=function(e,t,r){let[n,i]=(0,a.useState)(!1),[o,s]=(0,a.useState)(!1),[l,A]=(0,a.useState)(t),[c,u]=(0,a.useState)(null),[d,p]=(0,a.useState)([]),h=(0,a.useRef)(null),f=(0,a.useRef)(!0);(0,a.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]),(0,a.useEffect)(()=>{h.current=c},[c]),(0,a.useEffect)(()=>{e.onProgressUpdate(e=>{s(!!e)})},[e]);let g=(0,a.useCallback)(()=>{var r;return(r=function*(){try{let a=yield e.checkStatus();if(!f.current)return;if(i(a),!a){h.current=null,u(null),p([]);return}try{let r=yield e.getRuntimeInfo();if(!f.current)return;if(r){h.current=r,u(r),A(eS(r,t)),p(eC(r));return}}catch(e){console.warn("Failed to get runtime info:",e)}try{var r,n,o;let i=yield e.getInterfaceInfo();if(!f.current||!(null==i?void 0:i.type))return;let a=(r=h.current,n=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},r),o=o={interface:i,preview:(null==r?void 0:r.preview)||{kind:"none",capabilities:[]},executionUxHints:(null==r?void 0:r.executionUxHints)||[],metadata:(null==r?void 0:r.metadata)||{}},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);h.current=a,u(a),A(eS(a,t)),p(eC(a))}catch(e){console.warn("Failed to get interface info:",e)}}catch(e){if(!f.current)return;console.error("Failed to check server status:",e),i(!1)}},function(){var e=this,t=arguments;return new Promise(function(n,i){var o=r.apply(e,t);function a(e){aQ(o,n,i,a,s,"next",e)}function s(e){aQ(o,n,i,a,s,"throw",e)}a(void 0)})})()},[t,e]);return(0,a.useEffect)(()=>{g();let e=window.setInterval(()=>{g()},r);return()=>{window.clearInterval(e)}},[r,g]),{serverOnline:n,isUserOperating:o,deviceType:l,runtimeInfo:c,executionUxHints:d,refreshServerState:g}}(O,n,i),B=(0,a.useMemo)(()=>{let e,t;return t=(e=(null==T?void 0:T.metadata)||{}).setupState,{connected:!!e.sessionConnected,displayName:"string"==typeof e.sessionDisplayName?e.sessionDisplayName:void 0,setupState:"blocked"===t||"ready"===t||"required"===t?t:"ready",setupBlockingReason:"string"==typeof e.setupBlockingReason?e.setupBlockingReason:void 0}},[T]),z=(0,a.useRef)(null),L=(0,a.useRef)(null),F=(0,a.useRef)(!0),K=(0,a.useRef)(void 0),U=(0,a.useRef)(null),Q=(0,a.useRef)(null),Z=(0,a.useRef)(!1),J=(0,a.useRef)(null),H=(0,a.useRef)(null),V=(0,a.useRef)(null),q=(0,a.useCallback)(()=>a0(function*(){if(!aJ(S))return J.current=null,V.current=null,!0;if(J.current===C)return!0;let e=V.current;if((null==e?void 0:e.signature)===C)return e.promise;let t={promise:Promise.resolve(!0),signature:C},r=a0(function*(){try{var e;return yield(e=function*(){return!!aJ(S)&&(yield O.overrideConfig(S),!0)},function(){var t=this,r=arguments;return new Promise(function(n,i){var o=e.apply(t,r);function a(e){aZ(o,n,i,a,s,"next",e)}function s(e){aZ(o,n,i,a,s,"throw",e)}a(void 0)})})(),J.current=C,!0}catch(e){return G(e,{title:"Failed to apply AI configuration"}),!1}finally{V.current===t&&(V.current=null)}})();return t.promise=r,V.current=t,r})(),[S,C,O]),W=(0,a.useCallback)(()=>{let e=null!==z.current;null!==z.current&&(window.clearInterval(z.current),z.current=null);let t=L.current;L.current=null,F.current&&g(null),null==t||t(),e&&F.current&&(null==A||A())},[A]),Y=(0,a.useCallback)(()=>a0(function*(){if(!(s<=0))return W(),new Promise(e=>{L.current=e;let t=s;F.current&&g(t),z.current=window.setInterval(()=>{if((t-=1)>0){F.current&&g(t);return}if(0===t){F.current&&g("GO!");return}W()},1e3)})})(),[s,W]);(0,a.useEffect)(()=>(F.current=!0,()=>{F.current=!1,W()}),[W]),(0,a.useEffect)(()=>N.includes("countdown-before-run")?(O.setBeforeActionHook(()=>a0(function*(){yield Y()})()),()=>{O.setBeforeActionHook(void 0)}):void O.setBeforeActionHook(void 0),[N,O,Y]);let _=(0,a.useCallback)(e=>a0(function*(){let t=a1({},u.getFieldsValue(!0),e||{});E(!0);try{let r=yield O.getSessionSetup(e);y(r),b(null);let n=a2(r);K.current=n&&"string"==typeof t[n]?t[n]:void 0,u.setFieldsValue(aK(r,t))}catch(e){console.error("Failed to load session setup:",e),b(e instanceof Error?e.message:"Failed to load session setup")}finally{E(!1)}})(),[u,O]),$=(0,a.useCallback)((e,t)=>a0(function*(){if(H.current)return H.current;let r=a0(function*(){var r;let n;try{if(Z.current=!0,x(!0),!(yield q()))return!1;let r=null!=e?e:yield u.validateFields();return n=r,yield O.createSession(r),(null==t?void 0:t.silent)||(Q.current=null),(null==t?void 0:t.silent)||c.success("Agent created"),yield D(),!0}catch(e){if(e.errorFields)return!1;if(null==t?void 0:t.silent)return Q.current=aX(n),!1;return G(e,null!=(r=function(e){let t;if(t=aq(e).toLowerCase(),aV.test(t)&&(t.includes("puppeteer browsers install chrome")||t.includes("cache path")||t.includes("puppeteer")))return{description:(0,o.jsx)(a_,{error:e}),duration:0,title:"Failed to create Agent"}}(e))?r:{title:"Failed to create Agent"}),!1}finally{Z.current=!1,x(!1)}})(),n={promise:null};return n.promise=r.finally(()=>{H.current===n.promise&&(H.current=null)}),H.current=n.promise,n.promise})(),[q,u,c,O,D]),ee=(0,a.useCallback)(()=>a0(function*(){try{Q.current=aX(aU(m,u.getFieldsValue(!0))),Z.current=!0,x(!0),yield O.destroySession(),c.success("Session disconnected"),yield D(),yield _()}catch(e){G(e,{title:"Failed to disconnect session"})}finally{Z.current=!1,x(!1)}})(),[u,c,O,D,_,m]);return(0,a.useEffect)(()=>{P&&q()},[q,P]),(0,a.useEffect)(()=>{if(!P||B.connected)return;let e=!1,t=!1,r=()=>a0(function*(){if(!e&&!t){t=!0;try{yield _(u.getFieldsValue(!0))}finally{t=!1}}})();r();let n=window.setInterval(()=>{r()},i);return()=>{e=!0,window.clearInterval(n)}},[u,i,_,P,B.connected]),(0,a.useEffect)(()=>{if(!P||B.connected||!j)return;let e=a2(m);if(e&&K.current!==j){var t,r;_((t=a1({},u.getFieldsValue(!0)),r=r={[e]:j},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))}},[u,_,j,P,m,B.connected]),(0,a.useEffect)(()=>{if(B.connected){U.current=null;return}if(!P||w||k||Z.current||v)return;let e=aU(m,u.getFieldsValue(!0)),{signature:t,shouldCreate:r}=function(e){let{autoCreateInput:t,lastAttemptedSignature:r,blockedSignature:n}=e,i=aX(t);return i?{signature:i,shouldCreate:i!==r&&i!==n}:{signature:null,shouldCreate:!1}}({autoCreateInput:e,lastAttemptedSignature:U.current,blockedSignature:Q.current});if(!r||!t){t||(U.current=null);return}U.current=t,a0(function*(){(yield $(null!=e?e:void 0,{silent:!0}))||(U.current=null)})()},[$,u,P,w,k,m,v,B.connected]),{state:{playgroundSDK:O,form:u,formValues:h,serverOnline:P,isUserOperating:R,deviceType:M,runtimeInfo:T,executionUxHints:N,sessionViewState:B,sessionSetup:m,sessionSetupError:v,sessionLoading:w,sessionMutating:k,countdown:f,countdownSeconds:s},actions:{refreshServerState:D,refreshSessionSetup:_,createSession:$,destroySession:ee,finishCountdown:W}}}({serverUrl:r,defaultDeviceType:s,countdownSeconds:null==c||null==(t=c.executionUx)?void 0:t.countdownSeconds,pollIntervalMs:h});return((0,a.useEffect)(()=>{let e=()=>{g(window.innerWidth<=1024)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),m.state.serverOnline)?(0,o.jsx)(eM,{children:(0,o.jsx)(Y.A,{className:"app-container playground-container",children:(0,o.jsx)(AF,{className:"app-content",children:(0,o.jsxs)(_.YZ,{autoSaveId:"playground-layout",direction:f?"vertical":"horizontal",children:[(0,o.jsx)(_.Zk,{defaultSize:f?67:32,maxSize:f?85:60,minSize:f?67:25,className:"app-panel left-panel",children:(0,o.jsxs)("div",{className:"panel-content left-panel-content",children:[(0,o.jsx)("div",{className:"playground-panel-header",children:(0,o.jsxs)("div",{className:"header-row",children:[(0,o.jsx)(l,{}),(0,o.jsx)(W,{showTooltipWhenEmpty:!1,showModelName:!1,playgroundSDK:m.state.playgroundSDK})]})}),(0,o.jsx)("div",{className:"playground-panel-playground",children:(0,o.jsx)(AL,{controller:m,appVersion:n,branding:A,playgroundConfig:c,title:i})})]})}),(0,o.jsx)(_.TW,{className:"panel-resize-handle"}),(0,o.jsx)(_.Zk,{defaultSize:f?33:68,minSize:f?15:40,className:"app-panel right-panel",children:(0,o.jsx)("div",{className:"panel-content right-panel-content",children:m.state.sessionViewState.connected?(0,o.jsx)(eP,{playgroundSDK:m.state.playgroundSDK,runtimeInfo:m.state.runtimeInfo,serverUrl:r,serverOnline:m.state.serverOnline,isUserOperating:m.state.isUserOperating}):(0,o.jsx)(ee,{})})})]})})})}):(0,o.jsx)(eM,{children:(0,o.jsx)("div",{className:"server-offline-container",children:(0,o.jsxs)("div",{className:"server-offline-message",children:[(0,o.jsx)(l,{}),(0,o.jsxs)("div",{className:"server-offline-content",children:[(0,o.jsxs)("div",{className:"server-offline-icon",children:[(0,o.jsx)(a3,{className:"icon-background"}),(0,o.jsx)(a5,{className:"icon-foreground"})]}),(0,o.jsx)("h1",{children:u}),(0,o.jsx)("p",{className:"connection-status",children:d})]})]})})})}let AU=document.getElementById("root");if(!AU)throw Error("Root element not found");(0,s.createRoot)(AU).render((0,o.jsx)(a.StrictMode,{children:(0,o.jsx)(function(){return(0,o.jsx)(AK,{serverUrl:"",appVersion:"1.10.4-beta-20260707113335.0",title:"Playground",offlineTitle:"Midscene Playground"})},{})}))},1182(){},3198(e,t,r){"use strict";r.d(t,{ZH:()=>d});var n=r(3244),i=r(5207),o=r(3078),a=r.n(o),s=r(217),l=r(6987),A=r(9152),c=r(5409);let u="midscene_run",d=e=>{if(!A.$9)return"";let t=(()=>{if(!A.$9)return"";let e=a().resolve(c.cwd(),A.$9?(0,s.j)(l.Tr)||u:"");if(!(0,n.existsSync)(e))try{(0,n.mkdirSync)(e,{recursive:!0})}catch(t){e=a().join((0,i.tmpdir)(),u),(0,n.mkdirSync)(e,{recursive:!0})}return e})(),r=a().join(t,e);return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),r}},217(e,t,r){"use strict";r.d(t,{j:()=>o});var n=r(6987),i=r(5409);let o=e=>{if(!n.Wh.includes(e))throw Error(`getBasicEnvValue with key ${e} is not supported.`);return i.env[e]}},6987(e,t,r){"use strict";r.d(t,{$:()=>C,$H:()=>h,$L:()=>c,$l:()=>s,AU:()=>w,CA:()=>S,Cn:()=>eA,DL:()=>ev,El:()=>B,FU:()=>d,G0:()=>i,HR:()=>o,I2:()=>n,IQ:()=>p,JM:()=>j,Jq:()=>E,Km:()=>m,Lg:()=>ew,Lh:()=>J,M1:()=>b,NF:()=>P,OK:()=>eo,OY:()=>ed,Od:()=>I,Pm:()=>H,Sk:()=>T,T4:()=>U,TN:()=>L,Tr:()=>F,UH:()=>eC,V7:()=>V,VM:()=>v,Vb:()=>ep,W4:()=>g,WH:()=>es,Wh:()=>em,XE:()=>eE,YK:()=>z,Yf:()=>Q,Yg:()=>G,Z$:()=>el,Z7:()=>X,ZX:()=>A,_j:()=>ex,_q:()=>K,aK:()=>y,aO:()=>ef,ag:()=>ea,b6:()=>x,c$:()=>ey,d8:()=>D,fS:()=>ee,ho:()=>N,iw:()=>u,jG:()=>k,j_:()=>M,kX:()=>Z,mZ:()=>er,n0:()=>l,nc:()=>$,pp:()=>R,rd:()=>eb,sg:()=>ec,tk:()=>ek,u1:()=>eh,v:()=>Y,v4:()=>a,vC:()=>q,wu:()=>eu,xP:()=>et,xg:()=>W,y2:()=>_,yR:()=>eg,yb:()=>O,zD:()=>f,zG:()=>ei,zQ:()=>en});let n="MIDSCENE_MODEL_INIT_CONFIG_JSON",i="MIDSCENE_MODEL_EXTRA_BODY_JSON",o="MIDSCENE_MODEL_NAME",a="MIDSCENE_DEBUG_MODEL_PROFILE",s="MIDSCENE_DEBUG_MODEL_RESPONSE",l="MIDSCENE_DEBUG_MODE",A="MIDSCENE_LANGSMITH_DEBUG",c="MIDSCENE_LANGFUSE_DEBUG",u="MIDSCENE_MODEL_SOCKS_PROXY",d="MIDSCENE_MODEL_HTTP_PROXY",p="MIDSCENE_MODEL_API_KEY",h="MIDSCENE_MODEL_BASE_URL",f="MIDSCENE_MODEL_TIMEOUT",g="MIDSCENE_MODEL_TEMPERATURE",m="MIDSCENE_MODEL_RETRY_COUNT",y="MIDSCENE_MODEL_RETRY_INTERVAL",v="MIDSCENE_MODEL_REASONING_EFFORT",b="MIDSCENE_MODEL_REASONING_ENABLED",w="MIDSCENE_MODEL_REASONING_BUDGET",E="OPENAI_API_KEY",k="OPENAI_BASE_URL",x="MIDSCENE_OPENAI_INIT_CONFIG_JSON",S="MIDSCENE_OPENAI_HTTP_PROXY",C="MIDSCENE_OPENAI_SOCKS_PROXY",I="MIDSCENE_CACHE",j="MIDSCENE_USE_VLM_UI_TARS",O="MIDSCENE_USE_QWEN_VL",P="MIDSCENE_USE_QWEN3_VL",R="MIDSCENE_USE_DOUBAO_VISION",M="MIDSCENE_USE_GEMINI",T="MATCH_BY_POSITION",N="MIDSCENE_REPORT_TAG_NAME",D="MIDSCENE_REPORT_QUIET",B="MIDSCENE_PREFERRED_LANGUAGE",z="MIDSCENE_CACHE_MAX_FILENAME_LENGTH",L="MIDSCENE_REPLANNING_CYCLE_LIMIT",F="MIDSCENE_RUN_DIR",K="MIDSCENE_INSIGHT_MODEL_NAME",U="MIDSCENE_INSIGHT_MODEL_SOCKS_PROXY",Q="MIDSCENE_INSIGHT_MODEL_HTTP_PROXY",Z="MIDSCENE_INSIGHT_MODEL_BASE_URL",J="MIDSCENE_INSIGHT_MODEL_API_KEY",X="MIDSCENE_INSIGHT_MODEL_INIT_CONFIG_JSON",H="MIDSCENE_INSIGHT_MODEL_EXTRA_BODY_JSON",G="MIDSCENE_INSIGHT_MODEL_TIMEOUT",V="MIDSCENE_INSIGHT_MODEL_TEMPERATURE",q="MIDSCENE_INSIGHT_MODEL_RETRY_COUNT",W="MIDSCENE_INSIGHT_MODEL_RETRY_INTERVAL",Y="MIDSCENE_INSIGHT_MODEL_FAMILY",_="MIDSCENE_INSIGHT_MODEL_REASONING_EFFORT",$="MIDSCENE_INSIGHT_MODEL_REASONING_ENABLED",ee="MIDSCENE_INSIGHT_MODEL_REASONING_BUDGET",et="MIDSCENE_PLANNING_MODEL_NAME",er="MIDSCENE_PLANNING_MODEL_SOCKS_PROXY",en="MIDSCENE_PLANNING_MODEL_HTTP_PROXY",ei="MIDSCENE_PLANNING_MODEL_BASE_URL",eo="MIDSCENE_PLANNING_MODEL_API_KEY",ea="MIDSCENE_PLANNING_MODEL_INIT_CONFIG_JSON",es="MIDSCENE_PLANNING_MODEL_EXTRA_BODY_JSON",el="MIDSCENE_PLANNING_MODEL_TIMEOUT",eA="MIDSCENE_PLANNING_MODEL_TEMPERATURE",ec="MIDSCENE_PLANNING_MODEL_RETRY_COUNT",eu="MIDSCENE_PLANNING_MODEL_RETRY_INTERVAL",ed="MIDSCENE_PLANNING_MODEL_FAMILY",ep="MIDSCENE_PLANNING_MODEL_REASONING_EFFORT",eh="MIDSCENE_PLANNING_MODEL_REASONING_ENABLED",ef="MIDSCENE_PLANNING_MODEL_REASONING_BUDGET",eg="MIDSCENE_MODEL_FAMILY",em=[l,a,s,F],ey=[I,A,c,D],ev=[z,L],eb=["MIDSCENE_ADB_PATH","MIDSCENE_ADB_REMOTE_HOST","MIDSCENE_ADB_REMOTE_PORT","MIDSCENE_ANDROID_IME_STRATEGY","MIDSCENE_IOS_DEVICE_UDID","MIDSCENE_IOS_SIMULATOR_UDID",N,B,T,"MIDSCENE_CHROME_PATH","MIDSCENE_MCP_CHROME_PATH","DOCKER_CONTAINER"],ew=[...ey,...ev,...eb],eE=[o,n,i,p,h,u,d,f,g,m,y,v,b,w,j,O,P,R,M,"MIDSCENE_USE_VL_MODEL",E,k,x,S,C,K,U,Q,Z,J,X,H,G,V,q,W,Y,_,$,ee,et,er,en,ei,eo,ea,es,el,eA,ec,eu,ed,ep,eh,ef,eg],ek=["MIDSCENE_DANGEROUSLY_PRINT_ALL_CONFIG",...em,...ew,...eE],ex=["doubao-vision","doubao-seed","gemini","qwen2.5-vl","qwen3-vl","qwen3","qwen3.5","qwen3.6","vlm-ui-tars","vlm-ui-tars-doubao","vlm-ui-tars-doubao-1.5","glm-v","auto-glm","auto-glm-multilingual","gpt-5","kimi","xiaomi-mimo"];var eS,eC=((eS={}).V1_0="1.0",eS.V1_5="1.5",eS.DOUBAO_1_5_15B="doubao-1.5-15B",eS.DOUBAO_1_5_20B="doubao-1.5-20B",eS)},4565(e,t,r){"use strict";r.d(t,{N:()=>g,a:()=>function e(t,r){let n=`${p}:${t}`,o=(null==r?void 0:r.console)??!1,s=o?`${n}:withConsole`:n;if(!f.has(s))if(o){let r=e(t);f.set(s,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];r(...t);try{console.warn("[Midscene]",...t)}catch{}})}else{let e=c()(n);f.set(s,function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];d.$9&&function(e,t){if(!d.$9)return;let r=function(e){let t=e.replace(/:/g,"-");if(!h.has(t)){let e=a().join((0,u.ZH)("log"),`${t}.log`),r=i().createWriteStream(e,{flags:"a"});h.set(t,r)}return h.get(t)}(e),n=new Date,o=n.toLocaleDateString("sv-SE"),s=n.toLocaleTimeString("sv-SE"),l=n.getMilliseconds().toString().padStart(3,"0"),A=n.getTimezoneOffset(),c=Math.floor(Math.abs(A)/60).toString().padStart(2,"0"),p=(Math.abs(A)%60).toString().padStart(2,"0"),f=`${A<=0?"+":"-"}${c}:${p}`,g=`${o}T${s}.${l}${f}`;r.write(`[${g}] ${t}
|
|
958
958
|
`)}(t,l().format(...n)),e(...n)})}return f.get(s)}});var n=r(3244),i=r.n(n),o=r(3078),a=r.n(o),s=r(1344),l=r.n(s),A=r(7617),c=r.n(A),u=r(3198),d=r(9152);let p="midscene",h=new Map,f=new Map;function g(e){d.$9||c().enable(`${p}:${e}`)}},9152(e,t,r){"use strict";r.d(t,{$9:()=>A,NB:()=>v,Qd:()=>E,gQ:()=>h,gV:()=>w,ht:()=>s,rS:()=>l,tD:()=>d,uR:()=>c,vA:()=>p,x3:()=>b});var n,i=r(7086),o=r(3961),a=r(5409);let s="undefined"!=typeof window,l="undefined"!=typeof WorkerGlobalScope,A=void 0!==a&&(null==(n=a.versions)?void 0:n.node);function c(){return(0,o.A)()}let u={};function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=JSON.stringify({content:t,rect:e}),n=5,o="",a=i.sha256.create().update(r).hex().split("").map(e=>String.fromCharCode(97+Number.parseInt(e,16)%26)).join("");for(;n<a.length-1;){if(u[o=a.slice(0,n)]&&u[o]!==r){n++;continue}u[o]=r;break}return o}function p(e,t){if(!e)throw Error(t||"Assertion failed")}function h(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];console.log(...t)}let f=/</g,g=/>/g,m="__midscene_lt__",y="__midscene_gt__",v=e=>e.replace(f,m).replace(g,y),b=e=>{let t=RegExp(m,"g"),r=RegExp(y,"g");return e.replace(t,"<").replace(r,">")};function w(e){return e.replace(/[:*?"<>|# ]/g,"-")}function E(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}},4678(e){"use strict";if("undefined"==typeof sharp){var t=Error("Cannot find module 'sharp'");throw t.code="MODULE_NOT_FOUND",t}e.exports=sharp},6122(){},7407(){},9140(){},8973(){},3009(){},2801(){},6390(){},6970(){},3147(){},3612(){},3244(){},5592(){}},l={};function A(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return s[e].call(r.exports,r,r.exports,A),r.exports}A.m=s,A.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return A.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,A.t=function(r,n){if(1&n&&(r=this(r)),8&n||"object"==typeof r&&r&&(4&n&&r.__esModule||16&n&&"function"==typeof r.then))return r;var i=Object.create(null);A.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&r;("object"==typeof a||"function"==typeof a)&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach(e=>{o[e]=()=>r[e]});return o.default=()=>r,A.d(i,o),i},A.d=(e,t)=>{for(var r in t)A.o(t,r)&&!A.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},A.f={},A.e=e=>Promise.all(Object.keys(A.f).reduce((t,r)=>(A.f[r](e,t),t),[])),A.u=e=>"static/js/async/"+e+"."+({195:"0366f6e8",236:"a5d2c1b1",271:"72510be8",467:"710fa05a",985:"c09263d7"})[e]+".js",A.miniCssF=e=>""+e+".css",A.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),A.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},A.l=function(e,t,n,i){if(r[e])return void r[e].push(t);if(void 0!==n)for(var o,a,s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var c=s[l];if(c.getAttribute("src")==e||c.getAttribute("data-rspack")=="playground:"+n){o=c;break}}o||(a=!0,(o=document.createElement("script")).timeout=120,A.nc&&o.setAttribute("nonce",A.nc),o.setAttribute("data-rspack","playground:"+n),o.src=e),r[e]=[t];var u=function(t,n){o.onerror=o.onload=null,clearTimeout(d);var i=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach(function(e){return e(n)}),t)return t(n)},d=setTimeout(u.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=u.bind(null,o.onerror),o.onload=u.bind(null,o.onload),a&&document.head.appendChild(o)},A.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n=[],A.O=(e,t,r,i)=>{if(t){i=i||0;for(var o=n.length;o>0&&n[o-1][2]>i;o--)n[o]=n[o-1];n[o]=[t,r,i];return}for(var a=1/0,o=0;o<n.length;o++){for(var[t,r,i]=n[o],s=!0,l=0;l<t.length;l++)(!1&i||a>=i)&&Object.keys(A.O).every(e=>A.O[e](t[l]))?t.splice(l--,1):(s=!1,i<a&&(a=i));if(s){n.splice(o--,1);var c=r();void 0!==c&&(e=c)}}return e},A.p="/",A.b=document.baseURI||self.location.href,i={410:0},A.f.j=function(e,t){var r=A.o(i,e)?i[e]:void 0;if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((t,n)=>r=i[e]=[t,n]);t.push(r[2]=n);var o=A.p+A.u(e),a=Error();A.l(o,function(t){if(A.o(i,e)&&(0!==(r=i[e])&&(i[e]=void 0),r)){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",a.name="ChunkLoadError",a.type=n,a.request=o,r[1](a)}},"chunk-"+e,e)}},A.O.j=e=>0===i[e],o=(e,t)=>{var r,n,[o,a,s]=t,l=0;if(o.some(e=>0!==i[e])){for(r in a)A.o(a,r)&&(A.m[r]=a[r]);if(s)var c=s(A)}for(e&&e(t);l<o.length;l++)n=o[l],A.o(i,n)&&i[n]&&i[n][0](),i[n]=0;return A.O(c)},(a=self.webpackChunkplayground=self.webpackChunkplayground||[]).forEach(o.bind(null,0)),a.push=o.bind(null,a.push.bind(a));var c=A.O(void 0,["783","445"],()=>A(372));c=A.O(c)})();
|
|
959
|
-
//# sourceMappingURL=index.
|
|
959
|
+
//# sourceMappingURL=index.92e643ed.js.map
|