@rtrvr-ai/rover 4.2.0 → 4.2.1

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/rover.js CHANGED
@@ -1,22 +1,22 @@
1
- var al;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(al||(al={}));var xh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(xh||(xh={}));var x0=["image/png","image/jpeg","image/webp"],w0=["application/pdf","text/plain"],NM=[...x0,...w0];var hn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(hn||(hn={}));var cn;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(cn||(cn={}));var LM={[hn.ACT]:cn.AGENTIC_SEEK,[hn.CRAWL]:cn.CRAWL_PAGES,[hn.EXTRACT]:cn.EXTRACT_PAGE,[hn.SHEETS_WORKFLOW]:cn.SHEETS_WORKFLOW,[hn.INFER_SHEET_DATA]:cn.INFER_SHEET_DATA,[hn.PDF_FILLER]:cn.PDF_FILLER,[hn.CUSTOM_TOOL_GENERATOR]:cn.CUSTOM_TOOL_GENERATOR,[hn.WEBPAGE_GENERATOR]:cn.WEBPAGE_GENERATOR,[hn.GOOGLE_DOC_GENERATOR]:cn.GOOGLE_DOC_GENERATOR,[hn.GOOGLE_SLIDES_GENERATOR]:cn.GOOGLE_SLIDES_GENERATOR,[hn.PROCESS_TEXT]:cn.PROCESS_TEXT,[hn.CREATE_SHEET_FROM_DATA]:cn.CREATE_SHEET_FROM_DATA,[hn.ROVER_EXTERNAL_READ_CONTEXT]:cn.ROVER_EXTERNAL_READ_CONTEXT,[hn.ROVER_EXTERNAL_ACT_CONTEXT]:cn.ROVER_EXTERNAL_ACT_CONTEXT,[hn.EXECUTE_MULTIPLE_TOOLS]:cn.EXECUTE_MULTIPLE_TOOLS,[hn.CONFIGURE_API_KEY]:cn.CONFIGURE_API_KEY,[hn.QUERY_RTRVR_AI_DOCUMENTATION]:cn.QUERY_RTRVR_AI_DOCUMENTATION};var Eu=200;var S0=30,T0=320,_0=0,E0=50,I0=1,DM=al.FLASH;var PM=cn.PLANNER;var Iu="application/pdf",Au="application/gsheet";var OM=20*1024*1024;var Bo={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!0,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:S0,adaptiveSettleMaxWaitMs:T0,adaptiveSettleRetries:_0,sparseTreeRetryDelayMs:E0,sparseTreeRetryMaxAttempts:I0,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};function ar(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function $t(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Ru(e,t=!1){return typeof e=="boolean"?e:t}function ho(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||240);for(let a of e){let s=$t(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function A0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function Sh(e){return e==="run"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function Th(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function _h(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function R0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function Eh(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function Ih(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function Ah(e){let t=ar(e);return t?{...t}:void 0}function C0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function M0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=$t(t.id,120),o=$t(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:Sh(t.preferredInterface),source:Th(n?.source),deepLink:$t(n?.deepLink,2048)||void 0,toolName:$t(n?.toolName,120)||void 0,runPayload:Ah(ar(n?.run)?.payload)}}function N0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=$t(t.capabilityId||t.id,120),o=$t(t.label||t.name,180);if(!r||!o)return null;let i=Array.isArray(t.resultModes)?t.resultModes.map(a=>C0(a)).filter(a=>!!a):[];return{capabilityId:r,version:$t(t.version,80)||void 0,label:o,description:$t(t.description,320)||void 0,preferredInterface:Sh(t.preferredInterface),source:Th(n?.source),...i.length?{resultModes:i}:{},pageScope:ho(t.pageScope,{max:24,maxLen:80}),analyticsTags:ho(t.analyticsTags,{max:24,maxLen:64}),deepLink:$t(n?.deepLink,2048)||void 0,toolName:$t(n?.toolName,120)||void 0,runPayload:Ah(ar(n?.run)?.payload)}}function L0(e){let t=ar(e);if(!t)return;let n=_h(t.mode),r=R0(t.branding),o=Eh(t.hostSurface),i=Ih(t.actionReveal);if(!(!n||!r||!o||!i))return{mode:n,branding:r,hostSurface:o,actionReveal:i,beaconLabel:$t(t.beaconLabel,180)||void 0,agentModeEntryHints:ho(t.agentModeEntryHints,{max:8,maxLen:240})}}function wh(e){let t=ar(e);if(!t)return null;let n=$t(t.pageId||t.id,120);if(!n)return null;let r=$t(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:$t(t.route,512)||void 0,label:$t(t.label,180)||void 0,capabilityIds:ho(t.capabilityIds,{max:48,maxLen:120}),entityHints:ho(t.entityHints,{max:24,maxLen:120}),formHints:ho(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:_h(t.discoveryMode),hostSurface:Eh(t.hostSurface),actionReveal:Ih(t.actionReveal),agentModeEntryHints:ho(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:ho(t.capabilitySummary,{max:12,maxLen:180})}}function Rh(e){let t=ar(e);if(!t)return;let n=ar(t.extensions),r=ar(n?.rover);if(!r)return;let o=$t(r.siteUrl,2048),i=$t(r.runEndpoint||t.url,2048),a=$t(r.workflowEndpoint,2048);if(!o||!i||!a)return;let s=Ru(r.a2wRunsEnabled),c=Ru(r.delegatedHandoffs),l=ar(r.webmcp),d=Ru(l?.available),m=L0(r.discoverySurface),f=Array.isArray(t.skills)?t.skills.map(S=>M0(S)).filter(S=>!!S):[],u=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(S=>N0(S)).filter(S=>!!S):[],h=Array.isArray(r.pages)?r.pages.map(S=>wh(S)).filter(S=>!!S):[],b=wh(r.currentPage),v=ho(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||d,siteUrl:o,runEndpoint:i,workflowEndpoint:a,serviceDescUrl:$t(r.serviceDescUrl,2048)||void 0,llmsUrl:$t(r.llmsUrl,2048)||void 0,roverSiteUrl:$t(r.roverSiteUrl,2048)||void 0,preferredExecution:A0(r.preferredExecution),a2wRunsEnabled:s,delegatedHandoffs:c,webmcpAvailable:d,skills:f,...m?{discoverySurface:m}:{},...u.length?{capabilities:u}:{},...h.length?{pages:h}:{},...b?{page:b}:{},instructions:v}}var Mh={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},jn={...Mh},cl=globalThis;function Nh(e){jn={...Mh,...e||{}}}function pi(){return jn.signalProvider??null}function qt(){try{return typeof cl.document<"u"?cl.document:null}catch{return null}}function Nr(){try{return typeof cl.window<"u"?cl.window:null}catch{return null}}function fe(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??qt()??{}}function Ke(e,t){return fe(e,t?t.document:null)?.defaultView??t??Nr()??{}}function xe(e,t){return e?.defaultView??t??Nr()??{}}function ll(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function dl(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function Cu(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function vs(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function ul(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function sr(e,t){try{return e[t]}catch{return}}function Qr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Lh(e,t){let n=sr(t,"HTMLAnchorElement");return n?e instanceof n:Qr(e,"A")}function xr(e,t){let n=sr(t,"HTMLInputElement");return n?e instanceof n:Qr(e,"INPUT")}function Lr(e,t){let n=sr(t,"HTMLTextAreaElement");return n?e instanceof n:Qr(e,"TEXTAREA")}function Dh(e,t){let n=sr(t,"HTMLLabelElement");return n?e instanceof n:Qr(e,"LABEL")}function Ph(e,t){let n=sr(t,"HTMLSelectElement");return n?e instanceof n:Qr(e,"SELECT")}function Oh(e,t){let n=sr(t,"HTMLSlotElement");return n?e instanceof n:Qr(e,"SLOT")}function Bh(e,t){let n=sr(t,"HTMLButtonElement");return n?e instanceof n:Qr(e,"BUTTON")}function Uh(e,t){let n=sr(t,"HTMLImageElement");return n?e instanceof n:Qr(e,"IMG")}function Fh(e,t){let n=sr(t,"HTMLVideoElement");return n?e instanceof n:Qr(e,"VIDEO")}function zh(e,t){let n=sr(t,"HTMLCanvasElement");return n?e instanceof n:Qr(e,"CANVAS")}function ln(e,t){if(!e||e.nodeType!==1)return!1;let n=sr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function cr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function mi(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=xe(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function ks(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=xe(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function D0(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=sr(t,"Document");return n?e instanceof n:!1}function P0(e,t){if(!e)return!1;let n=sr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function fl(e){try{return e.document}catch{return null}}function pl(e,t){if(D0(e,t))try{return e.documentElement}catch{return null}if(P0(e,t)){let n=fl(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function sl(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Ch(e,t,n){try{let r=fe(t,n);return new URL(e,r.baseURI).href}catch{return e}}function Hh(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Ch(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,i=sl(o.href)||sl(o.src)||sl(o.data)||sl(o.action);return i?Ch(i,e,t):null}catch{return null}}var jh=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],xt={};jh.forEach((e,t)=>{xt[e]=t});var go={};jh.forEach((e,t)=>{go[t]=e});function hi(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,i]=r.split("~"),a=Number(o);if(!Number.isFinite(a))continue;let s=i&&parseInt(i,36)||0;n.push({id:a,mask:s})}return n.length?{entries:n}:null}function O0(e){let t=hi(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function xs(e){return oa(e).map(n=>go[n]).filter(n=>!!n)}function oa(e){let t=pi();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(Uo),r=O0(n);return!r||r.length===0?[]:r}var Mu=["media"],$h=new Set(Mu),Nu=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var qh=new Set(Nu),bo=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),ws=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var Vh=["none","presentation"],st;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(st||(st={}));var Wh={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},Ss={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:st.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:st.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:st.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:st.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:st.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:st.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:st.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:st.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},Uo="rtrvr-ls",yo="rtrvr-ro",Lu="rtrvr-mw-ready",gi="rtrvr-mw-busy",Du="rtrvr-mwa-ready",Kh=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),Gh=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],Xh=["h1","h2","h3","h4","h5","h6"],Yh="http://www.w3.org/1999/xhtml",Jh="http://www.w3.org/2000/svg",Mn="rtrvr-label";var gl=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),bi="CODE",yi="PRE",Qh="aria-hidden",Zh="target";var ml;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(ml||(ml={}));var ia;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(ia||(ia={}));var hl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(hl||(hl={}));var Pu=new Set([xt.click,xt.dblclick,xt.doubleclick,xt.contextmenu,xt.auxclick,xt.pointerdown,xt.pointerup,xt.mousedown,xt.mouseup,xt.touchstart,xt.touchend,xt.keydown,xt.keyup,xt.input,xt.beforeinput,xt.change,xt.submit,xt.reset,xt.paste,xt.dragstart,xt.dragend,xt.drop]),eg=new Set([...Pu,xt.scroll,xt.wheel,xt.mouseenter,xt.mouseover,xt.focus,xt.blur,xt.focusin,xt.focusout]),bl=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),Ou=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),Bu=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Ts;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Ts||(Ts={}));var _s;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(_s||(_s={}));var Dr;(function(e){e[e.SameOrigin=0]="SameOrigin",e[e.Cooperative=1]="Cooperative",e[e.Adapter=2]="Adapter",e[e.Opaque=3]="Opaque",e[e.Verification=4]="Verification"})(Dr||(Dr={}));var Pr;(function(e){e[e.None=0]="None",e[e.CrossOriginNoAgent=1]="CrossOriginNoAgent",e[e.EmptyDom=2]="EmptyDom",e[e.NotReady=3]="NotReady",e[e.Timeout=4]="Timeout",e[e.SandboxBlocked=5]="SandboxBlocked",e[e.AdapterUnavailable=6]="AdapterUnavailable",e[e.TreeFailed=7]="TreeFailed"})(Pr||(Pr={}));var yl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(yl||(yl={}));var vl;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(vl||(vl={}));var Yn;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})(Yn||(Yn={}));var En;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(En||(En={}));var vo;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(vo||(vo={}));var B0=[...Nu,...Object.keys(Ss),...Mu],tg=[...new Set(B0)],aa={};tg.forEach((e,t)=>{aa[e]=t});var Es={};tg.forEach((e,t)=>{Es[t]=e});var kl=class{currentId;constructor(t=1){this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function Is(e){let t=pi();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(yo);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let i=Es[o];if(i)return i}}return r}function sa(e){return Array.from(new Set(e))}function ng(e,t){if(!e||e.length===0)return sa(t);let n=new Set([...e,...t]);return sa(Array.from(n))}function lr(e,t){let r=pi()?.getEventHandlerIds?.(e)??oa(e),o=r.length>0&&r.some(s=>Pu.has(s)),i=xl(e),a=t?ws.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:i,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}}var U0=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function F0(e){let n=Ke(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function z0(e){let t=Ke(e);if(!xr(e,t))return!1;let n=(e.type||"text").toLowerCase();return U0.has(n)?!e.disabled&&!e.readOnly:!1}function H0(e){let t=Ke(e);return Lr(e,t)&&!e.disabled&&!e.readOnly}function j0(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function xl(e){return!e||!F0(e)?!1:!!(z0(e)||H0(e)||j0(e))}function As(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,i=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(i)||i.includes("iframeRoot="))continue;let a=parseInt(r[1],10);if(Number.isFinite(a))return a}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let i=parseInt(o[1],10);return Number.isFinite(i)?i:null}}catch{}return null}function Rs(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"&#91;").replace(/\]/g,"&#93;"),t}function rg({element:e,elementID:t,frameContextLabel:n}){let r=!jn.disableDomAnnotations,o=[`[id=${t}]`],i=Ke(e);if(ks(e)){let c=Rs(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=Rs(n);o.push(`[iframeRoot=${c}]`)}if(Uh(e,i)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(Fh(e,i)||zh(e,i))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),xr(e,i)||Lr(e,i)){let c=$0(e);o.push(...c)}e.getAttribute(Qh)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Lh(e,i)&&e.setAttribute(Zh,"_self");let s=o.join(" ");return r&&e.setAttribute(Mn,s),s}function $0(e){let t=[],n=Ke(e),r=xr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=Rs(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=Rs(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let i=Rs(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${i}"]`)}return t}var Cs=new kl,Uu=new WeakMap;function og(){Uu=new WeakMap}function Fo(e){let t=Uu.get(e);if(t)return t;let n=Cs.generateId();return Uu.set(e,n),n}var wl=new Map,Fu=new WeakMap;function ig(){wl.clear(),Fu=new WeakMap}function zu(e,t){try{typeof WeakRef<"u"?wl.set(e,new WeakRef(t)):wl.set(e,t)}catch{}}function Ms(e){let t=wl.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function zo(e){let t=null,n=Fo(e);if(jn.frameContextLabel)t=jn.frameContextLabel;else{let o=qt();if(o&&e.ownerDocument!==o)try{let a=e.ownerDocument?.defaultView?.frameElement?.getAttribute(Mn)||"",s=a?As(a):null;t=s?String(s):null}catch{t=""}}let r=rg({element:e,elementID:n,frameContextLabel:t});if(zu(n,e),r)try{Fu.set(e,r)}catch{}return r}function ag(e){return Fu.get(e)??null}function Hu(e,t){try{e.querySelectorAll?.(`[${Mn}]`)?.forEach(r=>r.removeAttribute(Mn))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&Hu(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=vs(r);o?.body&&Hu(o.body,t)}catch{}}catch{}}function sg(e,t={}){if(jn.disableDomAnnotations)return;let n=mi(e)?Ke(e):xe(e)??window,r=pl(e,n)??e;if(r){try{r.removeAttribute?.(Mn)}catch{}Hu(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var Ho={},ju=new WeakMap,Sl=new WeakSet;function cg(){Ho={},ju=new WeakMap,Sl=new WeakSet,og()}function Nn({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,originatedFromParent:s,elementContext:c}){let l=Fo(e);zu(l,e);let d=Ho[l];if(s){if(!d){let m={nodeCategory:e.nodeType,provisionalFromParent:!0},f=e.nodeName;f&&f.trim()&&(m.elementName=f);let u=e.getAttribute("role");u&&(m.preservedAttributes={1:u});let h=e.tagName;h&&(m.elementTag=h),Ho[l]=m}}else{if(d&&!d.provisionalFromParent){if((o||ca(e))&&(d.isFrameElement=!0,i&&i.length>0&&(d.frameContent=i),a&&(d.frameRealm=a)),c){let{eventHandlerIndices:m,isEditableRegion:f}=c;if(m&&m.length>0){let u=sa(m);u.length>0&&(d.eventHandlers=ng(d.eventHandlers,u))}f&&(d.isEditable=!0)}return l}if(Sl.has(e))return l;Sl.add(e);try{Ho[l]=lg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:c})}finally{Sl.delete(e)}}return l}function Ns(e){let t=ju.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let i=Cs.generateId(),a={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(a.rawData=o),Ho[i]=a,ju.set(e,i),i}function ug(e,t){let n=pg(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(i=>i.some(Ls))}function fg(e,t){let n=pg(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(i=>i.slice(r,o+1).some(Ls))}var _l=class{cells;constructor(t=[]){this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}getCellAt=(t,n)=>this.getRowAt(n)[t];setCellAt=(t,n,r)=>{this.getRowAt(n)[t]=r};getRowAt=t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]);getRows=()=>this.cells;getCellBounds=t=>{let n=this.columnCount,r=this.rowCount,o=-1,i=-1;for(let a=0;a<this.rowCount;a++){let s=this.getRowAt(a),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),i=Math.max(i,a),n=Math.min(n,c),r=Math.min(r,a))}return{minX:n,minY:r,maxX:o,maxY:i}};merge=t=>{this.cells=this.getRows().concat(t.getRows())}};function pg(e){let n=Ke(e).TableGrid||_l,r=new n;e.tHead!==null&&r.merge(Tl(e.tHead.rows)),Array.from(e.tBodies).forEach(i=>{r.merge(Tl(i.rows))});let o=[];for(let i of Array.from(e.children))$u(i)&&vi(i,"tr")&&o.push(i);return r.merge(Tl(o)),e.tFoot!==null&&r.merge(Tl(e.tFoot.rows)),r}function Tl(e){let t=new _l,n=[];for(let r=0;r<e.length;r++){let o=0;for(let i of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!Ls(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let a=o;a<o+i.colSpan;a++){dg(i)===0&&(n[a]=i,t.setCellAt(a,r,i));for(let s=r;s<r+dg(i);s++)Ls(t.getCellAt(a,s))||t.setCellAt(a,s,i)}o+=i.colSpan}for(let i=o;i<t.columnCount;i++){let a=n[i];a!==void 0&&!Ls(t.getCellAt(i,r))&&t.setCellAt(i,r,a)}}return t}function dg(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function Ls(e){return e!==void 0&&vi(e,"td")}function Or(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=Q0(e);if(r)return r}let n=mg(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),i=e.querySelector("desc"),a=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||i||a||s||oa(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if(oa(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return q0(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&hg(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function q0(e){return Is(e)??null}function mg(e){let t=e.getAttribute("role");if(t!==null)return Vh.includes(t)||!hg(t)?null:t;let n=e.tagName.toLowerCase();return(Wh[n]??[]).find(o=>V0(e,o))||null}function V0(e,t){let n=Ss[t],r=n?.selector;if(r&&El(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(a=>El(e,a.selector)&&a.conditions.every(c=>K0(e,c))):!1}function W0(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(cr(r)){let o=Ke(e),i=`#${ul(o,n)}`,a=dl(r,i);if(a)return a}}catch{}return ll(fe(e),n)}function K0(e,t){switch(t.type){case st.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case st.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case st.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>W0(e,r)!=null);case st.FORBIDDEN_ANCESTORS:return ko(e,t.selector)===null;case st.BOOLEAN_PROPERTY:return e[t.property]===t.value;case st.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case st.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=ko(n,t.tag);return r!==null&&mg(r)===t.role}case st.HAS_TABLE_COLUMN_DATA:{let n=ko(e,"table");return n===null?!1:t.hasData===fg(n,e)}case st.HAS_TABLE_ROW_DATA:{let n=ko(e,"table");return n===null?!1:t.hasData===ug(n,e)}default:return G0(t),!1}}function G0(e){throw new Error(`unexpected value ${e}!`)}function hg(e){return Y0(e)||J0(e)||X0(e)}function X0(e){return $h.has(e)}function Y0(e){return qh.has(e)}function J0(e){return Ss.hasOwnProperty(e)}function Q0(e){if(e.tagName!==bi&&e.tagName!==yi)return null;if(xs(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===yi||e.tagName===bi&&e.closest("pre")?"code":null}var Z0={[En.display]:[En.beforeDisplay,En.afterDisplay],[En.content]:[En.beforeContent,En.afterContent]},qu=new Map,eS={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function tS(e,t){if(!qu.has(e)){let n=eS[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();qu.set(e,n)}return qu.get(e)}var nS={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function yg(e,t,n){let r=nS[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function vg(e){let t={},n=Ke(e);if(!ln(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[En.beforeDisplay,n.getComputedStyle(e,"::before")],[En.afterDisplay,n.getComputedStyle(e,"::after")],[En.beforeContent,n.getComputedStyle(e,"::before")],[En.afterContent,n.getComputedStyle(e,"::after")]]);for(let i in En)if(isNaN(Number(i))){let a=En[i],s=tS(a,i),c=Z0[a];c?((a===En.display||a===En.content)&&gg(r,s,a,i,t,e),bg(o.get(c[0]),s,c[0],"beforeContent",t),bg(o.get(c[1]),s,c[1],"afterContent",t)):gg(r,s,a,i,t,e)}return t}function gg(e,t,n,r,o,i){if(e){let a=e.getPropertyValue(t);a&&yg(r,a,i)&&(o[n]=a)}}function bg(e,t,n,r,o){if(e){let i=e.getPropertyValue(t);(t==="content"&&i&&i!=="none"&&i!=='""'&&i!=="''"||i&&yg(r,i))&&(o[n]=i)}}function Ds(e){try{return e.id==="rover-widget-root"}catch{return!1}}function ki(e,t){let n=Ke(e);if(!ln(e,n))return!0;if(t&&bo.has(t))return!1;if(e.hasAttribute("hidden")||ko(e,"[hidden]")!==null||ko(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),i=1e6;return Math.abs(o.left)>i||Math.abs(o.top)>i}function Ps(e){return Br(e)&&e.classList.contains("jasmine_html-reporter")}function rS(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function kg(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function xg(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(cr(o)){let i=Ke(e),a=`#${ul(i,n)}`,s=dl(o,a);if(s)return s}}catch{}let r=fe(e);return ll(r,n)}function Vu(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let i=0;i<o.length;i+=8192){let a=oS(o,i,i+8192),s=Vu.apply(null,a);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function oS(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function wg(e,t){return iS(e,t).concat(aS(e))}function iS(e,t){return Vu(Ku(e).map(r=>Rg(r)&&Br(r)?Sg(r,t):r))}function Sg(e,t){if(!e||ki(e,t))return[];if(!rS(e))return[e];let n=Array.from(e.children);return Vu(n.map(r=>Sg(r,t)))}function Tg(e){let t=kg(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let i=xg(e,o);i&&i!==e&&n.push(i)}return n}function aS(e){let t=Tg(e);for(let n of t)n["aria-owned-by"]=e;return t}function _g(e){let t=Ke(e),n=fe(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=dS(e))return!1;let o=sS(e);return!o||!lS(o)||!fS(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:uS(e)}function sS(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(cS)||null}function cS(e){if(ki(e))return!1;let n=Ke(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function lS(e){let t=Ke(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function dS(e){let t=fe(e),n=Ke(e),r=n?.getComputedStyle;if(!r)return 0;let o=Cu(t,"*").filter(i=>i!==e&&!ki(i)).map(i=>parseInt(r.call(n,i)?.zIndex,10)).filter(i=>Number.isFinite(i)&&!isNaN(i));return o.length?Math.max(...o):0}function uS(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function fS(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!ki(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function pS(){try{let t=qt()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var Eg=pS();function mS(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function Wu(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=fe(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function Ig(e){return Kh.has(e)}function hS(e){let t=e.parentElement,n=fe(e);if(!(!t||t===n.body||t===n.documentElement))return Nn({targetElement:t,originatedFromParent:!0})}function lg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:s}){let c={nodeCategory:e.nodeType},l=t||mS(e),d=hS(e);if(d&&(c.parent=d),n){let oe=aa[n];typeof oe=="number"?c.semanticRole=oe:c.semanticRole=n}if(l&&(c.isDisabled=!0),s){let{eventHandlerIndices:oe,isEditableRegion:pe}=s,me=sa(oe);me.length>0&&(c.eventHandlers=me),pe&&(c.isEditable=!0)}let m=bS(e);m&&Object.keys(m).length>0&&(c.ariaProperties=m);let f=yS(e);f&&Object.keys(f).length>0&&(c.ariaStates=f);let u=e.nodeName;u&&u.trim()&&(c.elementName=u);let h=vg(e);h&&Object.keys(h).length>0&&(c.computedStyles=h),ki(e)&&(c.isInvisible=!0);let b=gS(e,n);b&&Object.keys(b).length>0&&(c.preservedAttributes=b),e.draggable&&(c.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(c.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(c.supportsVerticalSwipe=!0);let v=e.getAttribute("class");if(v?.trim()){v.includes("handle")&&(c.isDragHandle=!0),c.supportsHorizontalSwipe||(v.includes("horizontal")||v.includes("carousel"))&&(c.supportsHorizontalSwipe=!0),c.supportsVerticalSwipe||(v.includes("vertical")||v.includes("feed"))&&(c.supportsVerticalSwipe=!0),v.includes("dismissible")&&(c.supportsDismissSwipe=!0),(v.includes("long-press")||v.includes("hold")||v.includes("press-hold"))&&(c.supportsLongPress=!0);let oe=c.inputType||c.preservedAttributes?.[Yn.type];oe==="submit"||oe==="reset"||oe==="clear"||(v.includes("submit")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"submit"}),v.includes("clear")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"clear"}),v.includes("reset")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"reset"}))}let S=_S({element:e});S&&S.length>0&&(c.labelReferences=S);let k=e.tagName;if(k&&(c.elementTag=k),kS(e)&&(c.hasFocus=!0),!o){let oe=Gu({element:e,semanticRole:n,parentDisabled:l,excludeLabels:r});oe&&oe.length>0&&(c.childElements=oe)}let x=NS({element:e});x&&x.length>0&&(c.ownedElements=x);let C=Hh(e);C&&(c.resourceLocator=C),(o||ca(e))&&(c.isFrameElement=!0),i&&i.length>0&&(c.frameContent=i),a&&(c.frameRealm=a);let _=e.type;_&&typeof _=="string"&&_.trim()&&(c.inputType=_);let I=e.placeholder;I&&typeof I=="string"&&I.trim()&&(c.placeholderText=I);let M=e.value;M&&typeof M=="string"&&M.trim()&&(c.elementValue=M);let G=ES({element:e,parentDisabled:t,semanticRole:n});if(G&&G.length>0&&(c.selectedOptions=G),ko(e,"select,datalist")&&(c.nearestSelectList=!0),$u(e))c.elementNamespace=_s.HTML;else if(vS(e)){c.elementNamespace=_s.SVG,c.svgStructure=xS(e);let oe=wS(e);oe&&Object.keys(oe).length>0&&(c.preservedAttributes?c.preservedAttributes={...c.preservedAttributes,...oe}:c.preservedAttributes=oe)}let Y=r?void 0:IS({element:e});Y&&Y.length>0&&(c.associatedLabels=Y);let Z=e.scope;Z&&typeof Z=="string"&&Z.trim()&&(c.tableScope=Z);let ae=RS({element:e});ae&&(c.tableCaption=ae);let H=CS({element:e});H&&(c.figureCaption=H);let X=MS({element:e});return X&&(c.fieldsetLegend=X),ko(e,"table")&&(c.nearestTable=!0),c}function gS(e,t){let n={},r=new Set(Object.values(Yn).filter(s=>typeof s=="string")),o=new Set(Object.keys(ml).filter(s=>isNaN(Number(s)))),i=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),a=e?.attributes?Array.from(e.attributes):[];for(let s of a){let c=s.name,l=s.value;if(c==="id"&&(!t||!bo.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let u=Yn[d],h=i.has(d)?"true":l;n[u]=h}}}if(!n[Yn[Mn]]){let s=ag(e);s&&(n[Yn[Mn]]=s)}return n}function bS(e){return Ag(e,yl,hl)}function yS(e){return Ag(e,vl,null)}function Ag(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let i=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(i)),e.hasAttribute(s)&&l||c?.trim()?r[i]=c:s==="aria-level"&&Xh.includes(e.tagName.toLowerCase()?.trim())&&(r[i]=e.tagName.substring(1))}return r}function Br(e){return Rg(e)&&e.nodeType===Ts.ELEMENT}function Il(e){return e.nodeType===Ts.TEXT}function Rg(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function $u(e){return Br(e)&&(!e.namespaceURI||e.namespaceURI===Yh)}function vS(e){return Br(e)&&e.namespaceURI===Jh}function ca(e){return e.tagName==="IFRAME"}function vi(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function ko(e,t){if(e.closest)return e.closest(t);for(;!El(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function El(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function kS(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function xS(e){let t={},n=vo.text,r=vo.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),i=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:i?.alt?.trim()&&(t[r]=i.alt);let a=e.getAttribute("viewBox");a&&(t[vo.viewBox]=a);let s=e.querySelectorAll("path");s.length>0&&(t[vo.paths]=s.length,t[vo.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=vo[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function wS(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(ia).filter(r=>typeof r=="number")){let r=ia[n];if(r){let o=r;if(ia.hasOwnProperty(o)&&e.hasAttribute(o)){let i=e.getAttribute(o);i?.trim()&&(t[n]=i)}}}return t}function SS({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!jn.includeFrameContents)return{nodes:[]};let r=null;try{let i=e.contentDocument||e.contentWindow?.document||null;r=i?.body||i?.documentElement||null}catch{return{nodes:[],capability:Dr.Opaque,unavailable:Pr.CrossOriginNoAgent}}if(!r)return{nodes:[],capability:Dr.SameOrigin,unavailable:Pr.NotReady};let o=[];for(let i of Ku(r))if(!(Ps(i)||Cg(i))){if(Br(i)){let a=i,s=Or(a),c=lr(a,s),{shouldCreate:l,shouldAnnotate:d}=Al(c);if(l){d&&zo(a);let m=Nn({targetElement:a,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=Gu({element:a,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(Il(i)){let a=Ns(i);a&&o.push(a)}}return{nodes:o,capability:Dr.SameOrigin,unavailable:o.length>0?void 0:Pr.EmptyDom}}function TS(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function Ku(e){if(Ds(e))return[];let t=Ke(e);if(Oh(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||pi()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(i=>!i.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function Gu({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let i of Ku(e))if(!(Ps(i)||Cg(i))){if(Br(i)){let a=i,s=Or(a),c=lr(a,s);if(ca(a)){zo(a);let m=SS({frameElement:a,parentDisabled:n,excludeLabels:r}),f=Nn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m.nodes,frameRealm:TS(Fo(a),m),elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=Al(c);if(l){d&&zo(a);let m=Nn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=Gu({element:a,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(Il(i)){let a=Ns(i);a&&o.push(a)}}return o}function _S({element:e}){let t=kg(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=xg(e,r);if(!(!o||o===e)&&o){let i=Or(o),a=Nn({targetElement:o,semanticRole:i,elementContext:lr(o,i)});n.add(a)}}return Array.from(n)}function ES({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>Nn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:lr(o,"option")})):vi(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>Nn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:lr(o,"option")})))),r}function IS({element:e}){if(Gh.includes(e.tagName)){let t=fe(e),n=Cu(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&AS(o,e)).map(o=>{let i=Or(o),a=Nn({targetElement:o,semanticRole:i,excludeLabels:!0,elementContext:lr(o,i)});r.add(a)}),Array.from(r)}}function AS(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function RS({element:e}){if(vi(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function CS({element:e}){if(vi(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function MS({element:e}){if(vi(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function NS({element:e}){let t=new Set,n=Tg(e);for(let r of n){let o=Or(r),i=Nn({targetElement:r,semanticRole:o,elementContext:lr(r,o)});t.add(i)}return Array.from(t)}function Al(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}=e,a=n.length>0&&n.some(m=>eg.has(m)),c=!!t||!i&&(o||r),l=!!t&&bo.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||a)}}function Cg(e){if(!Br(e))return!1;let t=e;if(Ds(t))return!0;let n=t.tagName;return gl.has(n)?!0:n===bi||n===yi?LS(t):!1}function LS(e){let t=Ke(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function Xu(e,t={}){return Nh(t),cg(),ig(),sg(e,{includeShadow:!0,includeIframes:jn.clearIframes}),Cs.initialize(jn.semanticIdStart),{rootNodes:Mg(e),semanticNodes:Ho}}function Mg(e){let t=[];try{let n=fe(e),o=Array.from(n.querySelectorAll(Eg)).filter(i=>!ki(i)&&_g(i));if(o.length===0)t=la({targetElement:e});else if(o.length===1){let i=o[0];i.contains(e)?t=la({targetElement:e}):e.contains(i)?t=la({targetElement:i}):t=la({targetElement:e})}else t=la({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function la({targetElement:e,parentNode:t}){if(Ps(e)||Ng(e))return[];let n=Or(e),r=lr(e,n);if(ca(e))return[PS({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:i,shouldAnnotate:a}=Al(r);i&&(a&&zo(e),o=Nn({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=Ho[o],c=DS(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function DS(e,t,n){let r=[],o=wg(e,t);for(let i of o)if(!(Ps(i)||Ng(i))){if(Br(i)){let a=la({targetElement:i,parentNode:n});r.push(...a)}else if(Il(i)&&FS(i,n)){let a=Ns(i);a&&r.push(a)}}return r}function PS({frameElement:e,role:t,parentNode:n,elementContext:r}){zo(e);let o=OS(e),i=BS(Fo(e),o);return Nn({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o.nodes,frameRealm:i,elementContext:r})}function OS(e){if(!jn.includeFrameContents)return{nodes:[]};let t=US(e);if(t.kind==="content"){let n=Mg(t.rootElement);return{nodes:n,capability:Dr.SameOrigin,unavailable:n.length>0?void 0:Pr.EmptyDom}}return t.reason==="cross_origin_blocked"?{nodes:[],capability:Dr.Opaque,unavailable:Pr.CrossOriginNoAgent}:{nodes:[],capability:Dr.SameOrigin,unavailable:Pr.NotReady}}function BS(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function US(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function FS(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?Es[t.semanticRole]:t.semanticRole;if(Ig(r))return!1}return!0}function Ng(e){if(!Br(e))return!1;let t=e;if(Ds(t))return!0;let n=t.tagName;return gl.has(n)?!0:n===bi||n===yi?zS(t):!1}function zS(e){let t=Ke(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function Cl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function HS(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function ua(e,t,n){let r=fe(e,t),o=xe(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(Cl(r)===e)return!0;try{let{x:i,y:a}=HS(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||xr(e,o)||Lr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return Cl(r)===e}function Os(e,t){let n=Ke(e),r=Lr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function wi(e,t,n="insertText"){let r=Ke(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),i=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new i("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function jS(e){let n=Ke(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),i=e.dispatchEvent(new n("keypress",r)),a=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&i&&a)}}function xi(e){if(!e)return!1;let t=Ke(e);if(Lr(e,t))return!e.disabled&&!e.readOnly;if(xr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function Yu(e){let t=Ke(e);if(!e||!ln(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function $S(e,t){let n=e.getRootNode();return cr(n)?n:fe(e)??t}function qS(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),i=Ke(o);ln(o,i)&&n.push(o)}return n}function Og(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(xi(e))return{kind:"input",el:e,via:"self-input"};if(Yu(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=fe(e)??t,r=xe(n),o=$S(e,n);if(Dh(e,r)){let c=e.control;if(xi(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(xi(d))return{kind:"input",el:d,via:"label.for"}}}let i=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(i)for(let c of qS(o,i)){if(xi(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(Yu(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(xi(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let a=e.querySelector?.("input,textarea");if(xi(a))return{kind:"input",el:a,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(xi(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(Yu(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function da(e,t,n,r=!1){let o=fe(e,t),a=xe(o,n).getSelection?.();if(!a)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),a.removeAllRanges(),a.addRange(s),!0}catch{return!1}}function Si(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var Rl=e=>String(e??"").replace(/\s+/g," ").trim(),Bg=new MessageChannel,Ug=[];Bg.port1.onmessage=()=>{let e=Ug.shift();e&&e()};function Lg(){return new Promise(e=>{Ug.push(e),Bg.port2.postMessage(0)})}async function Dg(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Lg():await new Promise(i=>{try{t.requestAnimationFrame(()=>i())}catch{Lg().then(i)}})}function VS(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function Pg(e,t,n,r){let o=fe(e,t),a=xe(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=VS(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new a("keydown",m)),e.dispatchEvent(new a("keypress",m)),e.dispatchEvent(new a("keyup",m))}}async function Fg(e,t,n,r,o){let i=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let a=String(e.value??""),s=fe(e,t),c=xe(s,n),l=ua(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,u=m&&i.length>0&&i.length<=f;Os(e,i),wi(e,i,"insertReplacementText"),u&&Pg(e,s,c,i),await Dg(s,c,d);let h=String(e.value??""),b=Rl(a),v=Rl(h),S=Rl(i),k=b===S,x=v===S,C=h!==a,_=i.length>0&&!k&&h===a,I=1;if(!k&&!x&&!C){I=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let Z=!1;try{s.execCommand?.("selectAll",!1,void 0),Z=!!s.execCommand?.("insertText",!1,i)}catch{Z=!1}if(!Z)try{Os(e,i)}catch{}try{wi(e,i,"insertReplacementText")}catch{}u&&Pg(e,s,c,i),await Dg(s,c,d),h=String(e.value??"")}let G=Rl(h)===S,O=h!==a;_=i.length>0&&!k&&h===a;let Y=k||G||O;return{success:Y,method:"type-native-setter",details:`focus=${l};attempts=${I};settleFrames=${d};beforeLen=${a.length};afterLen=${h.length};changed=${O};alreadyCorrect=${k};nowCorrect=${G};reverted=${_};keyFallback=${u}`,allowFallback:Y?void 0:!0}}function WS(e,t,n){let o=Ke(e).InputEvent||InputEvent,i=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(i),defaultPrevented:i.defaultPrevented}}function zg(e,t,n,r){let o=fe(e,n),i=xe(o,r),a=i.InputEvent||InputEvent,s=i.Event||Event,c=String(t??""),l=Si(e),d=ua(e,o,i),m=da(e,o,i,!0),f=WS(e,c,"insertText"),u=!1,h="execCommand",b=!1,v=()=>{b=!0};try{e.addEventListener("input",v,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{u=!!o.execCommand?.("insertText",!1,c)}catch{}if(!u)try{let x=i.getSelection?.(),C=x&&x.rangeCount?x.getRangeAt(0):null;if(!C||!e.contains(C.commonAncestorContainer)){da(e,o,i,!0);let _=i.getSelection?.();C=_&&_.rangeCount?_.getRangeAt(0):null}C&&(C.insertNode(o.createTextNode(c)),C.collapse(!1),x?.removeAllRanges(),x?.addRange(C),u=!0,h="range")}catch{}if(u&&!b){try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",v,{capture:!0})}catch{}let S=Si(e);return{success:S!==l||!!c&&S.includes(c),method:`type-contenteditable-${h}`,details:`focus=${d};selectedWithin=${m};inserted=${u}`}}function Hg(e){let{canceled:t}=jS(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function jg(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=fe(e,t),o=xe(r,n),i=String(e.value??""),a=ua(e,r,o);Os(e,""),wi(e,"","deleteByCut");let s=String(e.value??""),c=s!==i;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${a};beforeLen=${i.length};afterLen=${s.length};changed=${c}`}}function $g(e,t,n){let r=fe(e,t),o=xe(r,n),i=Si(e),a=ua(e,r,o),s=da(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let u=o.getSelection?.(),h=u&&u.rangeCount?u.getRangeAt(0):null;(!h||!e.contains(h.commonAncestorContainer))&&da(e,r,o,!1);let b=o.getSelection?.(),v=b&&b.rangeCount?b.getRangeAt(0):null;v&&(v.deleteContents(),v.collapse(!1),b?.removeAllRanges(),b?.addRange(v),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}wi(e,"","deleteByCut");let d=Si(e),m=d!==i;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${a};selectedWithin=${s};cleared=${c};changed=${m}`}}function qg(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(cr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var KS=1,GS=9,XS=11,Qu="application/gdoc",fa="text/html",Ml="text/plain";function YS(e){return!!e&&typeof e=="object"&&e.nodeType===GS}function Vg(e){return!!e&&typeof e=="object"&&e.nodeType===KS}function JS(e){return!!e&&typeof e=="object"&&e.nodeType===XS&&typeof e.host=="object"&&typeof e.mode=="string"}function Wg(e){return Vg(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function Ju(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function QS(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function ZS(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,i=n.requireOwnerDocument,a=[e],s=new WeakSet;for(;a.length;){let c=a.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(YS(c)){let m=c.documentElement||c.body;m&&a.push(m);continue}if(JS(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)a.push(m[f]);continue}if(!Vg(c))continue;let l=c;if(i&&l.ownerDocument!==i)continue;let d=l.getAttribute?.(Mn);if(d&&As(d)===t)return l;if(r)try{let m=QS(l);m&&a.push(m)}catch{}if(o&&Wg(l))try{let m=vs(l);m&&a.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)a.push(m)}return null}function dr(e,t,n={}){let r=Ju(t);if(!r)return null;let o=Ms(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:ZS(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function Zu(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function Kg(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=Ju(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=Ju(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return Kg(t)}return[]}function pa(e,t){let n=Kg(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,i=[];for(let a=0;a<n.length;a++){let s=n[a],c=n.length===1,l=dr(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!Wg(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};let d=null;try{d=vs(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};i.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:[]}}function Gg(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function eT(e){let t={...Bo,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var tT=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function Nl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let a of r){let s=Number(t[a]);Number.isFinite(s)&&(n[a]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=eT(n),i={};for(let a of tT)n[a]!==void 0&&o[a]!==void 0&&(i[a]=o[a]);return Object.keys(i).length?i:void 0}function nT(){return Date.now()}function dn(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-nT())}async function Xg(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=dn(n);r<=0||r<e+40||await gn(e,t)}async function ma(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(i=>({ok:!0,value:i})),(async()=>(await gn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var gn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let i=Number(r);if(!Number.isFinite(i)||i<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,i));return}let a=Date.now();for(;Date.now()-a<i;)await n()}})();var rT=3e4;function Yg(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var ef=class extends Error{url;status;statusText;bodySnippet;constructor(t,n){super(t),this.name="FetchFileError",this.url=n.url,this.status=n.status,this.statusText=n.statusText,this.bodySnippet=n.bodySnippet}};function oT(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function iT(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function tf(e,t){try{let r=(t??window).URL||URL,i=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(i?.[1]){let s=decodeURIComponent(i[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function Jg(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function aT(e,t={},n,r=fetch){let o=new AbortController,i=rT,a=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await gn(i,n),l)return;a=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{a=!0,o.abort()},i);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let u=await l.text().catch(()=>"");throw new ef(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:u.slice(0,256)})}let d=await l.arrayBuffer(),m=oT(l.headers.get("content-type")),f=iT(l.headers.get("content-disposition"))||tf(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function Qg(e,t,n){return await aT(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}var Vt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var Zg={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var z;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(z||(z={}));var sT=new Set(Object.values(z)),ha=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],cT=40;function eb(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,cT)}var ur;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(ur||(ur={}));var tb={[ur.Unknown]:"unknown",[ur.React]:"react",[ur.Vue]:"vue",[ur.Angular]:"angular",[ur.Svelte]:"svelte",[ur.JQuery]:"jquery"},nf={react:ur.React,vue:ur.Vue,angular:ur.Angular,svelte:ur.Svelte,jquery:ur.JQuery},un;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(un||(un={}));var EL={[un.Other]:"other",[un.Inline]:"inline",[un.Delegated]:"delegated",[un.React]:"react",[un.Vue]:"vue",[un.Angular]:"angular",[un.Svelte]:"svelte",[un.JQuery]:"jquery",[un.Native]:"native"},IL={inline:un.Inline,delegated:un.Delegated,react:un.React,vue:un.Vue,angular:un.Angular,svelte:un.Svelte,jquery:un.JQuery,other:un.Other,native:un.Native},Je;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Je||(Je={}));var Ll={[z.click_element]:Je.click_element,[z.type_into_element]:Je.type_into_element,[z.type_and_enter]:Je.type_and_enter,[z.select_dropdown_value]:Je.select_dropdown_value,[z.clear_element]:Je.clear_element,[z.focus_element]:Je.focus_element,[z.hover_element]:Je.hover_element,[z.right_click_element]:Je.right_click_element,[z.double_click_element]:Je.double_click_element,[z.long_press_element]:Je.long_press_element,[z.drag_element]:Je.drag_element,[z.drag_and_drop]:Je.drag_and_drop,[z.swipe_element]:Je.swipe_element,[z.adjust_slider]:Je.adjust_slider,[z.describe_images]:Je.describe_images,[z.scroll_to_element]:Je.scroll_to_element,[z.paste_text]:Je.paste_text,[z.check_field_validity]:Je.check_field_validity,[z.select_text]:Je.select_text,[z.mouse_wheel]:Je.mouse_wheel,[z.copy_text]:Je.copy_text,[z.upload_file]:Je.upload_file,[z.go_back]:Je.go_back,[z.go_forward]:Je.go_forward,[z.refresh_page]:Je.refresh_page,[z.press_key]:Je.press_key,[z.scroll_page]:Je.scroll_page,[z.wait_action]:Je.wait_action,[z.wait_for_element]:Je.wait_for_element,[z.pinch_zoom]:Je.pinch_zoom,[z.goto_url]:Je.goto_url,[z.google_search]:Je.google_search,[z.open_new_tab]:Je.open_new_tab,[z.switch_tab]:Je.switch_tab,[z.close_tab]:Je.close_tab,[z.solve_captcha]:Je.solve_captcha,[z.answer_task]:Je.answer_task,[z.dispatch_pointer_path]:Je.dispatch_pointer_path,[z.network_run_recipe]:Je.network_run_recipe,[z.rover_external_read_context]:Je.rover_external_read_context,[z.rover_external_act_context]:Je.rover_external_act_context},nb=Object.fromEntries(Object.entries(Ll).map(([e,t])=>[t,e]));function Dl(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var Wt;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})(Wt||(Wt={}));var In;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(In||(In={}));function ob(e){if(!e)return In.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return In&&t in In?In[t]:In.CENTER}function rf(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function ga(e,t){if(!e)return"";let n=fe(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${rf(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let i=o.tagName.toLowerCase();if(o.id){i+=`#${rf(o.id)}`,r.unshift(i);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(rf);if(s.length)i+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;i+=`:nth-of-type(${d})`}}}r.unshift(i),o=o.parentElement}return r.join(" > ")}function Ti(e){return e.scrollingElement||e.documentElement||e.body}function Pl(e,t,n,r,o){let i=fe(e,t),a=xe(i,n),s=Ti(i),c=e===i.documentElement||e===i.body||e===s,l=c?s:e,d=c?a.innerHeight:l.clientHeight,m=c?a.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case Wt.DOWN:{l.scrollTop+=f;break}case Wt.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case Wt.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case Wt.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let u=l.scrollHeight,h=c?a.innerHeight:l.clientHeight,b=u-h;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=b-5}}function lT(e,t,n){let r=fe(e,t),o=xe(r,n),i=Ti(r),a=e;for(;a&&a!==r.body&&a!==r.documentElement;){let c=o.getComputedStyle(a).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&a.scrollHeight>a.clientHeight+5)return a;a=a.parentElement}return i}function rb(e,t,n){let r=fe(e,t),o=xe(r,n),i=Ti(r),a=e===r.documentElement||e===r.body||e===i,s=a?i:e,c=s.scrollHeight,l=a?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function of(e,t,n,r){let o=fe(e,t),i=xe(o,n),a=Ti(o),s=lT(e,o,i),c=s===o.documentElement||s===o.body||s===a,l=c?a:s,d=e.getBoundingClientRect(),m=c?new(i.DOMRect||DOMRect)(0,0,i.innerWidth,i.innerHeight):s.getBoundingClientRect(),f=c?i.innerHeight:s.clientHeight,u=24,h=d.top-m.top,b=l.scrollTop+h,v;switch(r){case In.START:v=b-u;break;case In.END:v=b+d.height-f+u;break;case In.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:rb(l,o,i)};d.top<m.top?v=b-u:v=b+d.height-f+u;break}case In.CENTER:default:v=b-f/2+d.height/2;break}let S=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(v,S)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:rb(l,o,i)}}function ib(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function ab(e){let t=[];for(let n of ha){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=ib(i);a!=null&&t.push(a)}continue}let o=ib(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function dT(e){return ab(e).length>0}function uT(e){let t=ab(e);return t.length?t[0]:null}var fT=new Set([z.click_element,z.type_into_element,z.type_and_enter,z.hover_element,z.right_click_element,z.double_click_element,z.press_key,z.scroll_page,z.scroll_to_element,z.mouse_wheel,z.drag_element,z.drag_and_drop,z.swipe_element,z.long_press_element,z.adjust_slider,z.select_dropdown_value,z.clear_element,z.focus_element,z.check_field_validity,z.select_text,z.copy_text,z.paste_text,z.pinch_zoom,z.upload_file,z.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(Du,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],i=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=i}async function a(g){let D={};try{let N=nb[g.opcode];if(!N)throw new Error(`Unknown tool opcode: ${g.opcode}`);let R={...g.call,name:N};D=(await b({tabIndex:g.tabIndex,call:R,elementData:h(g.elementData),payload:g.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(N){D={success:!1,error:N?.message||String(N),allowFallback:!0}}return D}try{Object.defineProperty(i,"actions",{value:Object.freeze({execute:a}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(g){let D=g,N=D[d];if(!N||typeof N!="object"){N={handlers:new Set,installed:!1};try{Object.defineProperty(D,d,{value:N,enumerable:!1,configurable:!1})}catch{D[d]=N}}if(!N.installed){N.installed=!0,g.addEventListener("message",R=>{if(R.source===g)for(let T of Array.from(N.handlers))try{T(R)}catch{}},!0);try{g.addEventListener("pagehide",()=>{let T=g[l]?.pending;if(T)for(let[w,E]of T){try{E.cancelTimeout()}catch{}E.reject(new Error("pagehide: upload bytes request canceled")),T.delete(w)}},!0)}catch{}}return N}function f(g){let D=g,N=D[l];if(!N||typeof N!="object"){N={pending:new Map};try{Object.defineProperty(D,l,{value:N,enumerable:!1,configurable:!1})}catch{D[l]=N}m(g).handlers.add(T=>{let w=T?.data;if(!w||typeof w!="object"||w.type!==c)return;let E=String(w.requestId||"");if(!E)return;let U=N.pending.get(E);if(!U)return;N.pending.delete(E);try{U.cancelTimeout()}catch{}if(!w.ok){U.reject(new Error(w.error||"Failed to get bytes"));return}let J=w.bytes;if(!(J instanceof ArrayBuffer)){U.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof U.expectedByteLength=="number"&&J.byteLength!==U.expectedByteLength){U.reject(new Error(`Byte length mismatch: got=${J.byteLength}, expected=${U.expectedByteLength}`));return}U.resolve(J)})}return N}function u(g,D,N,R=9e4){let T=g.__ROVER_UPLOAD_BYTES__||g.rover?.uploadBytes||g.rtrvr?.uploadBytes;if(typeof T=="function")return Promise.resolve().then(()=>T({token:D,byteLength:N,timeoutMs:R})).then(K=>{if(K instanceof ArrayBuffer)return K;if(K&&K.buffer instanceof ArrayBuffer)return K.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let w=f(g),E=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,U=Math.max(1e3,Math.min(Number(R)||9e4,18e4)),J=fl(g)||document;return new Promise((K,Q)=>{let ne=!1,se=!1,ke=()=>{se=!0};(async()=>{await gn(U,J),!(se||ne)&&(w.pending.delete(E),ne=!0,Q(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),w.pending.set(E,{cancelTimeout:ke,expectedByteLength:N,resolve:Te=>{ne||(ne=!0,ke(),K(Te))},reject:Te=>{ne||(ne=!0,ke(),Q(Te))}}),g.postMessage({type:s,requestId:E,token:D,byteLength:N},"*")})}function h(g){if(g)return{frameworks:g.frameworks?g.frameworks.map(D=>tb[D]).filter(D=>D&&D!=="unknown"):[],listenersRaw:g.listenersRaw??"",role:g.role??void 0,pattern:g.pattern??void 0,value:g.value??void 0}}async function b({tabIndex:g,call:D,elementData:N,payload:R}){let T=(()=>{try{return Nr()?.top?.document||document}catch{return document}})(),w=D.args,E=dT(w),U,J,K=[],Q=[],ne=[];try{({doc:U,win:J,iframePath:K,resolvedPath:Q,unresolvedPath:ne}=pa(T,w.iframe_id))}catch{if(w.iframe_id!=null){let Ae=`Cannot access iframe ${w.iframe_id} (cross-origin or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:Ae,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Ae,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id}}}}]}U=document,J=xe(U)}if(w.iframe_id!=null&&ne.length>0&&!E){let ze=`iframe_id unresolved: remaining=${ne.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:ze,allowFallback:!1,details:`requested=${K.join(">")||"(none)"} resolved=${Q.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:ze,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id,requested_path:K,resolved_path:Q,unresolved_path:ne}}}}]}let se=D.name,ke=uT(w),Te=ke?dr(U,ke):null,Ye=Te?.ownerDocument??null,De;if(!fT.has(se))De={success:!1,error:`Tool not promotable to main: ${se}`,allowFallback:!0};else{let Ae=Ye??U,ze=xe(Ae,J);De=await S(se,Te,w,N,Ae,ze,R)}return[{name:D.name,args:D.args,response:De}]}async function v(g,D,N){try{let R=g.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",w=g[R]?.scroll?.execute;if(typeof w!="function")throw new Error("main-world scroll detector not available");let E=N?.doc||fl(g)||document,U=Math.max(250,Math.min(Number(N?.timeoutMs??3500),8e3)),J=await ma(Promise.resolve().then(()=>w(D)),U,E);if(!J.ok)throw new Error("scroll detector timeout");return J.value}catch(R){throw new Error(R?.message||"main-world scroll detector not available")}}async function S(g,D,N,R,T,w,E){let U=se=>({success:se.success,error:se.success?void 0:se.details||"Action failed",allowFallback:se.success?void 0:se.allowFallback??!0}),J=g===z.press_key||g===z.scroll_page||g===z.drag_and_drop||g===z.pinch_zoom;if(!D&&!J)return U({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let K=new Set([z.type_into_element,z.type_and_enter,z.clear_element,z.focus_element,z.select_text,z.check_field_validity]),Q=D,ne=fe(Q,T);if(Q&&K.has(g)){let se=Og(Q,ne);(se.kind==="input"||se.kind==="contenteditable")&&(Q=se.el)}try{switch(g){case z.click_element:return U(_(D,T,w,R));case z.double_click_element:return U(an(D,T,w));case z.right_click_element:return U(pn(D,T,w));case z.hover_element:return U(await X(D,T,w,R,N.duration));case z.type_into_element:return U(await Fe(Q,T,w,N.text,R));case z.type_and_enter:return U(await Pe(Q,T,w,N.text,R));case z.clear_element:return U(await ve(Q,T,w,R));case z.focus_element:return U(B(Q,T,w));case z.select_dropdown_value:return U(W(D,T,w,N.value,R));case z.adjust_slider:return U(F(D,T,w,R?.value??N.value,R));case z.check_field_validity:return U(ee(Q,T,w));case z.select_text:return U(ue(Q,T,w,N.start_offset,N.end_offset));case z.scroll_page:return U(await Me(D,T,w,N));case z.scroll_to_element:return U(await he(D,T,w,N));case z.mouse_wheel:return U(lt(D,T,w,N.delta_x,N.delta_y));case z.drag_element:return U(await ot(D,T,w,N,R));case z.drag_and_drop:return U(await He(N,D,T,w));case z.swipe_element:return U(await Ht(D,T,w,N));case z.long_press_element:return U(await dt(D,T,w,N.duration));case z.pinch_zoom:return U(await Ve(D,T,w,N));case z.press_key:return U(Ne(N.key,N.modifiers,D,T,w));case z.copy_text:return U(await Xe(D,T,w));case z.paste_text:return U(await Dt(D,T,w,R));case z.upload_file:return U(await en(N,T,w,E,D,R));case z.dispatch_pointer_path:return U(await tn(N,T,w));default:return U({success:!1,method:"unhandled",details:`Unhandled ${g}`,allowFallback:!0})}}catch(se){return U({success:!1,method:"exception",details:se?.message||"exception",allowFallback:!0})}}function k(g){let D=new Map;if(!g)return D;let N=g.trim();if(!N)return D;let R=hi(N);if(R){for(let{id:T,mask:w}of R.entries){let E=go[T];if(!E)continue;let U=new Set(Dl(w)),J=D.get(E);if(J)for(let K of U)J.add(K);else D.set(E,U)}return D}return D}function x(g,...D){return g?D.some(N=>g.has(N)):!1}function C(g,D){let N=k(D?.listenersRaw),R=new Set;for(let[,K]of N)for(let Q of K)(Q==="react"||Q==="vue"||Q==="angular"||Q==="svelte"||Q==="jquery")&&R.add(Q);let T=new Set;for(let[K,Q]of N)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(K))for(let ne of Q)T.add(ne);let w=R.size>0||[...T].some(K=>["react","vue","angular","svelte","jquery"].includes(K)),E=x(N.get("click"),"delegated"),U=x(N.get("input"),"delegated")||x(N.get("change"),"delegated")||x(N.get("keydown"),"delegated"),J=D?.role||Is(g)||g.getAttribute("role");return{sourcesByType:N,fws:R,isFrameworkElement:w,delegatedClick:E,delegatedInput:U,role:J}}function _(g,D,N,R){let T=C(g,R),w=fe(g,D),E=xe(w,N);Mt(g,w,E),R?.pattern==="hover-activate"&&X(g,w,E,R,120);let U=T.fws.has("react")||x(T.sourcesByType.get("click"),"react"),J=T.fws.has("vue")||x(T.sourcesByType.get("click"),"vue"),K=T.fws.has("angular")||x(T.sourcesByType.get("click"),"angular"),Q=T.fws.has("svelte")||x(T.sourcesByType.get("click"),"svelte"),ne=T.fws.has("jquery")||x(T.sourcesByType.get("click"),"jquery");return Sn(()=>I(g,w,E),()=>M(g,w,E),()=>U?O(g,w,E):null,()=>J?Y(g,w,E):null,()=>K?Z(g,w,E):null,()=>Q?ae(g,w,E):null,()=>ne?H(g,w,E):null)}function I(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent,{x:U,y:J}=G(g,R,T),K={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:U,clientY:J,button:0,buttons:1};return g.focus?.({preventScroll:!0}),[new w("pointerover",K),new w("pointerenter",{...K,bubbles:!1}),new E("mouseover",K),new E("mouseenter",{...K,bubbles:!1}),new w("pointerdown",K),new E("mousedown",K),new w("pointerup",{...K,buttons:0}),new E("mouseup",{...K,buttons:0}),new E("click",{...K,buttons:0})].forEach(ne=>g.dispatchEvent(ne)),{success:!0,method:"pointer-mouse-click"}}function M(g,D,N){let R=fe(g,D),T=xe(R,N);try{if(g instanceof HTMLAnchorElement){let w=g.getAttribute("target");try{g.setAttribute("target","_self"),g.click()}finally{w===null?g.removeAttribute("target"):g.setAttribute("target",w)}}else g.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function G(g,D,N){let R=fe(g,D),T=g.getBoundingClientRect(),w=[{x:T.left+T.width/2,y:T.top+T.height/2},{x:T.left+4,y:T.top+4},{x:T.right-4,y:T.top+4},{x:T.left+4,y:T.bottom-4},{x:T.right-4,y:T.bottom-4}],E=null;for(let U=0;U<w.length;U++){let J=w[U],K=R.elementFromPoint(J.x,J.y);if(U===0&&(E=K),K&&qg(g,K))return{...J,hit:K,ok:!0}}return{...w[0],hit:E,ok:!1}}function O(g,D,N){let R=fe(g,D),T=xe(R,N);try{let w=br(g);if(!w)return{success:!1,method:"react-no-fiber"};let E=yr(w),U=E.onClick||E.onClickCapture;return U?(U(Nt("click",g,R,T)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function Y(g,D,N){let R=fe(g,D),w=xe(R,N).MouseEvent||MouseEvent;try{let E=Ar(g);if(!E)return{success:!1,method:"vue-none"};let U=Jr(E);return U.click?(U.click(new w("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):E.$emit?(E.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function Z(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.MouseEvent||MouseEvent;try{let E=T.ng?.getZone?.()||null;return E?.run?(E.run(()=>g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0})),g.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function ae(g,D,N){let R=fe(g,D),w=xe(R,N).MouseEvent||MouseEvent;try{let E=g.getBoundingClientRect(),U={bubbles:!0,cancelable:!0,view:g.ownerDocument?.defaultView||window,clientX:E.left+E.width/2,clientY:E.top+E.height/2};return g.dispatchEvent(new w("mousedown",U)),g.dispatchEvent(new w("mouseup",U)),g.dispatchEvent(new w("click",U)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function H(g,D,N){let R=fe(g,D),T=xe(R,N);try{return T.jQuery?.(g)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function X(g,D,N,R,T=500){let w=Math.min(Math.max(0,Number(T)||500),3e4),E=fe(g,D),U=xe(E,N),J=C(g,R);Mt(g,E,U);let K=U.PointerEvent||PointerEvent,Q=U.MouseEvent||MouseEvent,ne=g.getBoundingClientRect(),se=ne.left+ne.width/2,ke=ne.top+ne.height/2;if(J.fws.has("react")){let De=br(g),Ae=De?yr(De):{};Ae.onMouseEnter?.(Nt("mouseenter",g,E,U)),Ae.onPointerEnter?.(Nt("pointerenter",g,E,U))}else if(J.fws.has("vue")){let De=Ar(g),Ae=De?Jr(De):{};Ae.mouseenter?.(new Q("mouseenter",{bubbles:!0})),Ae.mouseover?.(new Q("mouseover",{bubbles:!0}))}let Te={bubbles:!0,cancelable:!0,composed:!0,view:U,clientX:se,clientY:ke};return[new K("pointerover",Te),new K("pointerenter",{...Te,bubbles:!1}),new Q("mouseover",Te),new Q("mouseenter",{...Te,bubbles:!1})].forEach(De=>g.dispatchEvent(De)),await gn(w,E),{success:!0,method:"hover-seq"}}async function re(g,D,N=1){await Promise.resolve();for(let R=0;R<N;R++)g.hidden?await Fn():await new Promise(T=>{try{D.requestAnimationFrame(()=>T())}catch{Fn().then(T)}})}let oe=g=>String(g??"").replace(/\s+/g," ").trim();function pe(g){try{if("value"in g)return String(g.value??"")}catch{}return""}function me(g){try{return typeof Si=="function"?Si(g):oe(g.textContent)}catch{return""}}function Se(g,D){if(!(D.isFrameworkElement||D.delegatedInput))return!1;let N=String(g??"").length;return N>0&&N<=140}async function Fe(g,D,N,R,T){let w=C(g,T),E=fe(g,D),U=xe(E,N);if(Mt(g,E,U),xr(g,U)||Lr(g,U)){let K=Se(String(R??""),w),Q=await Fg(g,E,U,R,{settleFrames:E.hidden?1:2,useKeyFallback:K,keyFallbackMaxLen:140});return{success:Q.success,method:Q.method,details:Q.details,allowFallback:!Q.success}}if(g.isContentEditable===!0||w.role==="textbox"&&!("value"in g)){let K=me(g),Q=zg(g,R,E,U);await re(E,U,E.hidden?1:2);let ne=me(g),se=!1;if(String(R??"").length>0&&ne===K){se=!0;try{ua(g,E,U),da(g,E,U,!0);try{E.execCommand?.("insertText",!1,String(R??""))}catch{}wi(g,String(R??""),"insertText")}catch{}await re(E,U,E.hidden?1:2)}let ke=me(g),Te=ke!==K||!!String(R??"")&&ke.includes(String(R??""));return{success:Te,method:Q.method,details:`${Q.details};beforeLen=${K.length};afterLen=${ke.length};reverted=${ne===K};fallback=${se}`,allowFallback:Te?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function Pe(g,D,N,R,T){let w=fe(g,D),E=xe(w,N),U=await Fe(g,w,E,R,T);if(!U.success)return U;let J=Hg(g);return{success:!0,method:"type+enter",details:`${U.details};enter=${J.method}`}}async function ve(g,D,N,R){let T=fe(g,D),w=xe(T,N),E=w.Event||Event;if(Mt(g,T,w),xr(g,w)||Lr(g,w)){let J=pe(g),K=jg(g,T,w);if(await re(T,w,T.hidden?1:2),pe(g)===J&&J.length>0){try{Os(g,""),wi(g,"","deleteByCut")}catch{}await re(T,w,T.hidden?1:2)}let se=pe(g),ke=se.length===0||se!==J;return{success:K.success,method:K.method,details:K.details,allowFallback:!K.success}}if(g.isContentEditable===!0||C(g,R).role==="textbox"&&!("value"in g)){let J=$g(g,T,w);return await re(T,w,T.hidden?1:2),{success:J.success,method:J.method,details:J.details,allowFallback:!J.success}}if("value"in g){try{g.value=""}catch{}return g.dispatchEvent(new E("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new E("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function B(g,D,N){try{let R=fe(g,D),T=xe(R,N),w=T.FocusEvent||FocusEvent;return Mt(g,R,T),g.focus?.({preventScroll:!0}),g.dispatchEvent(new w("focus",{bubbles:!0})),g.dispatchEvent(new w("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(R){return{success:!1,method:"focus",details:R.message,allowFallback:!0}}}function W(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.Event||Event;if(!Ph(g,E))return{success:!1,method:"select",details:"target not select",allowFallback:!0};Mt(g,w,E),g.focus?.({preventScroll:!0});let J=Array.from(g.options).find(se=>se.value===R||se.text.trim()===R.trim());if(!J)return{success:!1,method:"select",details:`Option not found: ${R}`,allowFallback:!0};J.selected=!0;let K=Object.getPrototypeOf(g),Q=Object.getOwnPropertyDescriptor(K,"value");if(Q?.set?Q.set.call(g,J.value):g.value=J.value,g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let se=br(g);if(se){let ke=yr(se);if(ke.onChange){let Te=Nt("change",g,w,E);Te.target.value=J.value,ke.onChange(Te)}}}return{success:!0,method:"select"}}catch(w){return{success:!1,method:"select",details:w.message,allowFallback:!0}}}function F(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.Event||Event;if(!xr(g,E))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};Mt(g,w,E),g.focus?.({preventScroll:!0});let J=Object.getPrototypeOf(g),K=Object.getOwnPropertyDescriptor(J,"value");if(K?.set?K.set.call(g,String(R)):g.value=String(R),g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let ne=br(g);if(ne){let se=yr(ne);if(se.onChange){let ke=Nt("change",g,w,E);ke.target.value=String(R),se.onChange(ke)}}}return{success:!0,method:"slider"}}catch(w){return{success:!1,method:"slider",details:w.message,allowFallback:!0}}}function ee(g,D,N){try{let R=g.checkValidity?.()??!0;return R||g.reportValidity?.(),{success:R,method:"check-validity",details:R?void 0:g.validationMessage}}catch(R){return{success:!1,method:"check-validity",details:R.message,allowFallback:!0}}}function ue(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N);if("setSelectionRange"in g){let K=g;K.focus?.();let Q=K.value?.length??0;return K.setSelectionRange(R??0,T??Q),{success:!0,method:"select-range"}}let U=E.getSelection();if(!U)return{success:!1,method:"select-range",allowFallback:!0};let J=w.createRange();return J.selectNodeContents(g),U.removeAllRanges(),U.addRange(J),{success:!0,method:"select-range-node"}}catch(w){return{success:!1,method:"select-range",details:w.message,allowFallback:!0}}}function ce(g,D,N,R,T){let w=Ti((g&&fe(g))??D),E=g||w,U=fe(E,D),J=xe(U,N),K=E===U.documentElement||E===U.body||E===w;if(R===Wt.TOP||R===Wt.BOTTOM){let Q=E.scrollHeight,ne=K?J.innerHeight:E.clientHeight,se=Math.max(0,Q-ne);return E.scrollTop=R===Wt.TOP?0:se,{success:!0,scrollTop:E.scrollTop}}return Pl(E,U,J,R,T)}async function Me(g,D,N,R){let T=R.direction,w=R.amount,E=fe(g,D),U=xe(E,N),J=!E.hidden,K=J?"smooth":"auto";try{if(g){let ne=pt(g,E,U),se=ce(ne,E,U,T,w);return se?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(se)}:{success:!1,method:"direct-element-scroll",details:se?.error||"direct scroll failed",allowFallback:!0}}if(T===Wt.TOP||T===Wt.BOTTOM){let ne=await v(U,{action:"scrollTo",direction:T,options:{behavior:K,isTabActive:J}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(ne)}}let Q=await v(U,{action:"scrollBy",direction:T,options:{amount:w,behavior:K,isTabActive:J}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(Q)}}catch(Q){let ne=E?ce(Ti(E),E,U,T,w):void 0;return ne?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(ne)}:{success:!1,method:"scroll-page-failed",details:Q?.message||ne?.error||"scroll_page failed",allowFallback:!0}}}async function he(g,D,N,R){let T=fe(g,D),w=xe(T,N),E=!T.hidden,U=E?"smooth":"auto",J=ob(R.position),K=ga(g,T);if(!K){let Q=of(g,T,w,J);return{success:Q.success,method:"direct-scrollElement-no-selector",details:Q.error,allowFallback:!Q.success}}try{let Q=await v(w,{action:"scrollElement",selector:K,position:J,options:{behavior:U,isTabActive:E}},{doc:T,timeoutMs:T.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(Q)}}catch(Q){let ne=of(g,T,w,J);return ne.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(ne)}:{success:!1,method:"scroll-to-element-failed",details:Q?.message||ne.error||"scroll_to_element failed",allowFallback:!0}}}function lt(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.WheelEvent||WheelEvent;Mt(g,w,E);let J=pt(g,w,E);return J.dispatchEvent(new U("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,deltaX:R||0,deltaY:T||0,deltaMode:U.DOM_DELTA_PIXEL})),J.scrollBy({left:R||0,top:T||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(w){return{success:!1,method:"wheel",details:w.message,allowFallback:!0}}}function pt(g,D,N){let R=fe(g,D),T=xe(R,N),w=R.scrollingElement||R.documentElement||R.body,E=g;for(;E&&E!==R.body&&E!==R.documentElement;){let J=T.getComputedStyle(E).overflowY;if((J==="auto"||J==="scroll"||J==="overlay")&&E.scrollHeight>E.clientHeight+5)return E;E=E.parentElement}return w}async function ot(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.PointerEvent||PointerEvent,J=E.MouseEvent||MouseEvent,K=E.DragEvent||DragEvent,Q=E.DataTransfer||DataTransfer;Mt(g,w,E);let ne=G(g,w,E),se=ln(ne.hit,E)?ne.hit:g,ke=g.getBoundingClientRect(),Te=Number.isFinite(Number(R?.distance))?Number(R.distance):160,Ye=0,De=0;switch(String(R?.direction||"").toUpperCase()){case"UP":De=-Te;break;case"DOWN":De=Te;break;case"LEFT":Ye=-Te;break;case"RIGHT":Ye=Te;break;default:Ye=Number(R?.delta_x)||0,De=Number(R?.delta_y)||0}let Ae=(ye,Oe)=>({x:Math.max(2,Math.min(ye,E.innerWidth-3)),y:Math.max(2,Math.min(Oe,E.innerHeight-3))}),ze=Ae(ne.x,ne.y),yt=Ae(ne.x+Ye,ne.y+De),sn=500+Date.now()%1e4,Ze=Math.max(12,Math.min(36,Number(R?.steps)||18)),nt=(ye,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ye,clientY:Oe,pageX:ye+(E.scrollX||0),pageY:Oe+(E.scrollY||0)}),et=(ye,Oe,ft)=>({...nt(ye,Oe),pointerId:sn,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:ft?.5:0,buttons:ft,button:0}),it=(ye,Oe,ft)=>({...nt(ye,Oe),buttons:ft,button:0});se.dispatchEvent(new U("pointerdown",et(ze.x,ze.y,1))),se.dispatchEvent(new J("mousedown",it(ze.x,ze.y,1)));try{se.setPointerCapture?.(sn)}catch{}let St=null;try{(g.draggable||C(g,T).sourcesByType.has("dragstart"))&&(St=new Q)}catch{St=null}if(St)try{g.dispatchEvent(new K("dragstart",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:St}))}catch{}let _t=null;for(let ye=1;ye<=Ze;ye++){let Oe=ze.x+(yt.x-ze.x)*ye/Ze,ft=ze.y+(yt.y-ze.y)*ye/Ze,Tn=w.elementFromPoint(Oe,ft)||g;if(Tn.dispatchEvent(new U("pointermove",et(Oe,ft,1))),Tn.dispatchEvent(new J("mousemove",it(Oe,ft,1))),St)try{_t&&_t!==Tn&&_t.dispatchEvent(new K("dragleave",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:ft,dataTransfer:St})),Tn.dispatchEvent(new K("dragover",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:ft,dataTransfer:St})),_t=Tn}catch{}ye%3===0&&await Fn()}let ge=w.elementFromPoint(yt.x,yt.y)||g;if(ge.dispatchEvent(new U("pointerup",et(yt.x,yt.y,0))),ge.dispatchEvent(new J("mouseup",it(yt.x,yt.y,0))),St)try{g.dispatchEvent(new K("dragend",{bubbles:!0,cancelable:!0,clientX:yt.x,clientY:yt.y,dataTransfer:St}))}catch{}return{success:!0,method:"drag",details:`dx=${Ye};dy=${De};steps=${Ze};hitOk=${ne.ok}`}}catch(w){return{success:!1,method:"drag",details:w?.message||"drag failed",allowFallback:!0}}}async function He(g,D,N,R){try{let T=fe(D,N),w=xe(T,R),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,J=w.DragEvent||DragEvent,K=w.DataTransfer||DataTransfer,Q=g?.source_element_id??g?.element_id,ne=(Q?dr(T,String(Q)):null)||D;if(!ne)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let se=null,ke=Number(g?.target_x),Te=Number(g?.target_y);if(g?.target_element_id){if(se=dr(T,String(g.target_element_id)),!se)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let ge=se.getBoundingClientRect();ke=ge.left+ge.width/2,Te=ge.top+ge.height/2}if((!Number.isFinite(ke)||!Number.isFinite(Te))&&!se)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};Mt(ne,T,w),se&&Mt(se,T,w);let Ye=(ge,ye)=>({x:Math.max(2,Math.min(ge,w.innerWidth-3)),y:Math.max(2,Math.min(ye,w.innerHeight-3))}),De=ne.getBoundingClientRect(),Ae=Ye(De.left+De.width/2,De.top+De.height/2),ze=Ye(Number(ke),Number(Te)),yt=600+Date.now()%1e4,sn=Math.max(14,Math.min(42,Number(g?.steps)||22)),Ze=(ge,ye)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ge,clientY:ye,pageX:ge+(w.scrollX||0),pageY:ye+(w.scrollY||0)}),nt=(ge,ye,Oe)=>({...Ze(ge,ye),pointerId:yt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Oe?.5:0,buttons:Oe,button:0}),et=(ge,ye,Oe)=>({...Ze(ge,ye),buttons:Oe,button:0}),it=null;try{it=new K}catch{it=null}ne.dispatchEvent(new E("pointerdown",nt(Ae.x,Ae.y,1))),ne.dispatchEvent(new U("mousedown",et(Ae.x,Ae.y,1)));try{ne.setPointerCapture?.(yt)}catch{}if(it)try{ne.dispatchEvent(new J("dragstart",{bubbles:!0,cancelable:!0,clientX:Ae.x,clientY:Ae.y,dataTransfer:it}))}catch{}let St=null;for(let ge=1;ge<=sn;ge++){let ye=Ae.x+(ze.x-Ae.x)*ge/sn,Oe=Ae.y+(ze.y-Ae.y)*ge/sn,ft=T.elementFromPoint(ye,Oe)||se||T.body;if(ft.dispatchEvent(new E("pointermove",nt(ye,Oe,1))),ft.dispatchEvent(new U("mousemove",et(ye,Oe,1))),it)try{St&&St!==ft&&St.dispatchEvent(new J("dragleave",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),ft.dispatchEvent(new J("dragenter",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),ft.dispatchEvent(new J("dragover",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),St=ft}catch{}ge%3===0&&await Fn()}let _t=se||T.elementFromPoint(ze.x,ze.y)||T.body;if(it)try{_t.dispatchEvent(new J("drop",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:it}))}catch{}if(_t.dispatchEvent(new E("pointerup",nt(ze.x,ze.y,0))),_t.dispatchEvent(new U("mouseup",et(ze.x,ze.y,0))),it)try{ne.dispatchEvent(new J("dragend",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:it}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${sn};source=${String(Q)}`}}catch(T){return{success:!1,method:"drag-drop",details:T?.message||"drag-drop failed",allowFallback:!0}}}async function Ht(g,D,N,R){try{let T=fe(g,D),w=xe(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent;Mt(g,T,w);let J=G(g,T,w),K={x:J.x,y:J.y},Q=g.getBoundingClientRect(),ne=Number.isFinite(Number(R?.distance))?Number(R.distance):Math.min(Math.max(80,Math.min(Q.width,Q.height)),220),se=String(R?.direction||"RIGHT").toUpperCase(),ke=K.x,Te=K.y;se==="LEFT"&&(ke-=ne),se==="RIGHT"&&(ke+=ne),se==="UP"&&(Te-=ne),se==="DOWN"&&(Te+=ne);let Ye=(ye,Oe)=>({x:Math.max(2,Math.min(ye,w.innerWidth-3)),y:Math.max(2,Math.min(Oe,w.innerHeight-3))}),De=Ye(K.x,K.y),Ae=Ye(ke,Te),ze=700+Date.now()%1e4,yt=Math.max(10,Math.min(28,Number(R?.steps)||16)),sn=(ye,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ye,clientY:Oe,pageX:ye+(w.scrollX||0),pageY:Oe+(w.scrollY||0)}),Ze=(ye,Oe,ft)=>({...sn(ye,Oe),pointerId:ze,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:ft?.5:0,buttons:ft,button:0}),nt=(ye,Oe,ft)=>({...sn(ye,Oe),buttons:ft,button:0}),et=T.elementFromPoint(De.x,De.y)||g;et.dispatchEvent(new E("pointerdown",Ze(De.x,De.y,1))),et.dispatchEvent(new U("mousedown",nt(De.x,De.y,1)));let it=w.Touch,St=w.TouchEvent,_t=!!it&&!!St;if(_t)try{let ye=new it({identifier:ze,target:et,clientX:De.x,clientY:De.y,pageX:De.x,pageY:De.y,screenX:De.x,screenY:De.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});et.dispatchEvent(new St("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ye],targetTouches:[ye],changedTouches:[ye]}))}catch{}for(let ye=1;ye<=yt;ye++){let Oe=De.x+(Ae.x-De.x)*ye/yt,ft=De.y+(Ae.y-De.y)*ye/yt,Tn=T.elementFromPoint(Oe,ft)||g;if(Tn.dispatchEvent(new E("pointermove",Ze(Oe,ft,1))),Tn.dispatchEvent(new U("mousemove",nt(Oe,ft,1))),_t)try{let xn=new it({identifier:ze,target:Tn,clientX:Oe,clientY:ft,pageX:Oe,pageY:ft,screenX:Oe,screenY:ft,radiusX:1,radiusY:1,rotationAngle:0,force:1});Tn.dispatchEvent(new St("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[xn],targetTouches:[xn],changedTouches:[xn]}))}catch{}ye%3===0&&await Fn()}let ge=T.elementFromPoint(Ae.x,Ae.y)||g;if(ge.dispatchEvent(new E("pointerup",Ze(Ae.x,Ae.y,0))),ge.dispatchEvent(new U("mouseup",nt(Ae.x,Ae.y,0))),_t)try{let ye=new it({identifier:ze,target:ge,clientX:Ae.x,clientY:Ae.y,pageX:Ae.x,pageY:Ae.y,screenX:Ae.x,screenY:Ae.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});ge.dispatchEvent(new St("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ye]}))}catch{}return{success:!0,method:"swipe",details:`dir=${se};dist=${ne};steps=${yt};hitOk=${J.ok}`}}catch(T){return{success:!1,method:"swipe",details:T?.message||"swipe failed",allowFallback:!0}}}async function Ve(g,D,N,R){try{let T=g||D.body,w=fe(T,D),E=xe(w,N),U=E.PointerEvent||PointerEvent,J=E.WheelEvent||WheelEvent;Mt(T,w,E);let K=Number.isFinite(Number(R?.scale))?Number(R.scale):1.2,Q=T.getBoundingClientRect(),ne=Q.left+Q.width/2,se=Q.top+Q.height/2,ke=24,Te=Math.max(6,Math.min(200,ke*K)),Ye=Math.max(6,Math.min(18,Number(R?.steps)||10)),De=E.Touch,Ae=E.TouchEvent;if(!!De&&!!Ae)try{let Ze=(_t,ge)=>new De({identifier:_t,target:T,clientX:ge,clientY:se,pageX:ge,pageY:se,screenX:ge,screenY:se,radiusX:1,radiusY:1,rotationAngle:0,force:1}),nt=Ze(911,ne-ke),et=Ze(912,ne+ke);T.dispatchEvent(new Ae("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[nt,et],targetTouches:[nt,et],changedTouches:[nt,et]}));for(let _t=1;_t<=Ye;_t++){let ge=ke+(Te-ke)*_t/Ye,ye=Ze(911,ne-ge),Oe=Ze(912,ne+ge);T.dispatchEvent(new Ae("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ye,Oe],targetTouches:[ye,Oe],changedTouches:[ye,Oe]})),_t%2===0&&await Fn()}let it=Ze(911,ne-Te),St=Ze(912,ne+Te);T.dispatchEvent(new Ae("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[it,St]}))}catch{}try{let Ze=(nt,et,it)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:et,clientY:se,pointerId:nt,pointerType:"touch",isPrimary:nt===821,width:1,height:1,pressure:it?.5:0,buttons:it,button:0});T.dispatchEvent(new U("pointerdown",Ze(821,ne-ke,1))),T.dispatchEvent(new U("pointerdown",Ze(822,ne+ke,1)));for(let nt=1;nt<=Ye;nt++){let et=ke+(Te-ke)*nt/Ye;T.dispatchEvent(new U("pointermove",Ze(821,ne-et,1))),T.dispatchEvent(new U("pointermove",Ze(822,ne+et,1))),nt%2===0&&await Fn()}T.dispatchEvent(new U("pointerup",Ze(821,ne-Te,0))),T.dispatchEvent(new U("pointerup",Ze(822,ne+Te,0)))}catch{}try{let yt=K>=1?-120:120;T.dispatchEvent(new J("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ne,clientY:se,ctrlKey:!0,deltaY:yt,deltaMode:J.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${K};steps=${Ye}`}}catch(T){return{success:!1,method:"pinch-zoom",details:T?.message||"pinch-zoom failed",allowFallback:!0}}}async function dt(g,D,N,R=800){try{let T=fe(g,D),w=xe(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,J=w.FocusEvent||FocusEvent;Mt(g,T,w);let K=G(g,T,w),Q=g;!K.ok&&ln(K.hit,w)?Q=K.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||K.hit:ln(K.hit,w)&&(Q=K.hit);let ne=Xn(Q,T,w),se=K.x,ke=K.y,Te=1+Date.now()%1e4,Ye={bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0)},De={...Ye,pointerId:Te,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{Q.dispatchEvent(new E("pointerover",De)),Q.dispatchEvent(new E("pointerenter",{...De,bubbles:!1}))}catch{}try{Q.dispatchEvent(new U("mouseover",Ye)),Q.dispatchEvent(new U("mouseenter",{...Ye,bubbles:!1}))}catch{}try{Q.focus?.({preventScroll:!0}),Q.dispatchEvent(new J("focus",{bubbles:!0,composed:!0})),Q.dispatchEvent(new J("focusin",{bubbles:!0,composed:!0}))}catch{}try{Q.dispatchEvent(new E("pointerdown",{...De,buttons:1,pressure:.5}))}catch{}try{Q.dispatchEvent(new U("mousedown",{...Ye,buttons:1,button:0}))}catch{}try{let Ze=w.Touch,nt=w.TouchEvent;if(typeof Ze<"u"&&typeof nt<"u"){let et=new Ze({identifier:Te,target:Q,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});Q.dispatchEvent(new nt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[et],targetTouches:[et],changedTouches:[et]}))}}catch{}let Ae=Number(R),ze=Number.isFinite(Ae)&&Ae>0?Ae:800,yt=T.hidden?Math.max(ze,1200):ze;await gn(yt,T);try{Q.dispatchEvent(new U("contextmenu",{...Ye,button:2,buttons:2}))}catch{}try{Q.dispatchEvent(new E("pointerup",{...De,buttons:0,pressure:0}))}catch{}try{Q.dispatchEvent(new U("mouseup",{...Ye,buttons:0,button:0}))}catch{}try{let Ze=w.Touch,nt=w.TouchEvent;if(typeof Ze<"u"&&typeof nt<"u"){let et=new Ze({identifier:Te,target:Q,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});Q.dispatchEvent(new nt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[et]}))}}catch{}let sn=await gr(Q,T,w,ne);return{success:!0,method:"long-press",details:`holdMs=${yt};verified=${sn};hitOk=${K.ok};target=${Q.tagName.toLowerCase()}`}}catch(T){return{success:!1,method:"long-press",details:T?.message||"long-press failed",allowFallback:!0}}}function Ne(g,D,N,R,T){try{let w=fe(N,R),U=xe(w,T).KeyboardEvent||KeyboardEvent,J=N||w.activeElement||w.body||w.documentElement;J.focus?.();let K={key:g,code:ir(g),bubbles:!0,cancelable:!0,ctrlKey:D?.includes("CTRL"),altKey:D?.includes("ALT"),shiftKey:D?.includes("SHIFT"),metaKey:D?.includes("META")},Q=J.dispatchEvent(new U("keydown",K)),ne=J.dispatchEvent(new U("keypress",K)),se=J.dispatchEvent(new U("keyup",K));if(g==="Enter"&&!!(Q&&ne&&se)){let Te=J.form||J.closest?.("form");Te?.requestSubmit?Te.requestSubmit():Te?.submit?.()}return{success:!0,method:"press-key"}}catch(w){return{success:!1,method:"press-key",details:w.message,allowFallback:!0}}}async function Xe(g,D,N){try{let R=g.innerText||g.value||"";if(!R)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let T=fe(g,D),w=xe(T,N);if(w.navigator?.clipboard?.writeText)return await w.navigator.clipboard.writeText(R),{success:!0,method:"clipboard-copy"};let E=T.createRange();E.selectNodeContents(g);let U=w.getSelection?.()||(T.defaultView||window).getSelection?.();U?.removeAllRanges(),U?.addRange(E);let J=T.execCommand?.("copy")??!1;return U?.removeAllRanges(),{success:!!J,method:"execCommand-copy",allowFallback:!J}}catch(R){return{success:!1,method:"clipboard-copy",details:R.message,allowFallback:!0}}}async function Dt(g,D,N,R){try{g.focus?.();let T=fe(g,D),w=xe(T,N);if(w.navigator?.clipboard?.readText){let U=await w.navigator.clipboard.readText();if(U)return await Fe(g,T,w,U,R)}return T.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(T){return{success:!1,method:"paste",details:T.message,allowFallback:!0}}}function jt(g){return`${(g/1024).toFixed(1)}KB`}function wt(g,D){if(g instanceof D.defaultView.HTMLInputElement){let E=g;if((E.type||"").toLowerCase()==="file")return E}let N=g.closest?.("label"),R=N?.htmlFor||g.htmlFor||"";if(R){let E=D.getElementById(R);if(E&&(E.type||"").toLowerCase()==="file")return E}if(N){let E=N.querySelector?.('input[type="file"]');if(E)return E}let T=g.closest?.("form");if(T){let E=T.querySelector?.('input[type="file"]');if(E)return E}let w=g.closest?.("div,section,main,article")||g.parentElement;if(w){let E=w.querySelector?.('input[type="file"]');if(E)return E}return null}function tt(g,D,N){try{let R=N.HTMLInputElement?.prototype,T=R?Object.getOwnPropertyDescriptor(R,"files")?.set:void 0;if(!T){let w=Object.getPrototypeOf(g);for(;w&&!T;)T=Object.getOwnPropertyDescriptor(w,"files")?.set,w=Object.getPrototypeOf(w)}return T?(T.call(g,D),!0):(g.files=D,!0)}catch{try{return g.files=D,!0}catch{return!1}}}async function en(g,D,N,R,T,w){try{let{file_url:E,element_id:U,file_name:J}=g,K=null;if(T&&(K=wt(T,D)),!K&&U!==void 0&&(K=D.querySelector(`input[type="file"][${Mn}*="[id=${U}]"]`)),!K){let ge=D.querySelectorAll('input[type="file"]');for(let ye of ge){if(ye.disabled)continue;let Oe=ye.getBoundingClientRect();if(Oe.width>0&&Oe.height>0){K=ye;break}}}if(!K)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(K.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let Q=fe(K,D),ne=xe(Q,N);if(!(R?.kind==="upload_file"&&typeof R.byteLength=="number"&&R.byteLength>=0&&typeof R.mimeType=="string"&&(typeof R.inlineB64=="string"||typeof R.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let ke=Number(R.byteLength),Te=(R.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",Ye;if(R.inlineB64&&typeof R.inlineB64=="string"){let ge=Jg(R.inlineB64);if(ge.byteLength!==ke)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${ge.byteLength} expected=${ke}`,allowFallback:!0};Ye=ge.buffer}else{let ge=String(R.token);Ye=await u(ne,ge,ke,9e4)}let De=ne.Blob||Blob,Ae=new De([Ye],{type:Te}),ze=J||R?.fileName;!ze&&E&&typeof E=="string"&&(ze=tf(E,ne)),ze=Yg(ze||"upload");let yt=ne.File||File,sn=new yt([Ae],ze,{type:Te,lastModified:Date.now()}),Ze=ne.Event||Event,nt=ne.DataTransfer||DataTransfer;if(!nt)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let et=new nt;if(et.items.add(sn),!tt(K,et.files,ne))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};K.dispatchEvent(new Ze("input",{bubbles:!0,composed:!0,cancelable:!0})),K.dispatchEvent(new Ze("change",{bubbles:!0,composed:!0,cancelable:!0}));let St=br(K);if(St){let ge=yr(St);if(ge.onChange){let ye=Nt("change",K,Q,ne);ye.target.files=et.files,ge.onChange(ye)}}let _t=Ar(K);if(_t){let ge=Jr(_t);if(ge.change){let ye=new Ze("change",{bubbles:!0});ye.target=K,ye.target.files=et.files,ge.change(ye)}}try{let ge=ne.jQuery||ne.$;ge&&typeof ge=="function"&&ge(K).triggerHandler?.("change")}catch{}return K.focus?.({preventScroll:!0}),await re(Q,ne,2),{success:!0,method:"upload-file",details:`Uploaded ${ze} (${jt(Ae.size)}) [token]`}}catch(E){return{success:!1,method:"upload-file",details:E?.message||"Upload failed",allowFallback:!0}}}async function tn(g,D,N){let R=Array.isArray(g.path)?g.path:[];if(!R.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let T=N.PointerEvent||PointerEvent,w=N.MouseEvent||MouseEvent,E=16;for(let U=0;U<R.length;U++){let J=R[U],K=Number(J.x)||0,Q=Number(J.y)||0,ne=Number(J.pressure)||(U===0||U===R.length-1?0:.5),se=D.elementFromPoint(K,Q)||D.documentElement,ke={bubbles:!0,cancelable:!0,clientX:K,clientY:Q,screenX:K,screenY:Q,view:N};if(U===0?(se.dispatchEvent(new T("pointerdown",{...ke,pressure:ne,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mousedown",{...ke,button:0,buttons:1}))):(se.dispatchEvent(new T("pointermove",{...ke,pressure:ne,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mousemove",{...ke,button:0,buttons:1}))),U===R.length-1&&(se.dispatchEvent(new T("pointerup",{...ke,pressure:0,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mouseup",{...ke,button:0,buttons:0}))),U<R.length-1){let Te=Number(J.timestamp)||0,Ye=Number(R[U+1].timestamp)||0,De=Te&&Ye?Math.max(0,Math.min(Ye-Te,1e3)):E;De>0&&await gn(De,D)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${R.length} point(s)`}}function an(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.MouseEvent||MouseEvent;Mt(g,R,T),I(g,R,T),I(g,R,T);let E=g.getBoundingClientRect();return g.dispatchEvent(new w("dblclick",{bubbles:!0,cancelable:!0,clientX:E.left+E.width/2,clientY:E.top+E.height/2,detail:2,view:T})),{success:!0,method:"dblclick"}}function pn(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent;Mt(g,R,T);let U=g.getBoundingClientRect(),J=U.left+U.width/2,K=U.top+U.height/2,Q={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:J,clientY:K,button:2,buttons:2};return g.dispatchEvent(new w("pointerdown",Q)),g.dispatchEvent(new E("mousedown",Q)),g.dispatchEvent(new w("pointerup",{...Q,buttons:0})),g.dispatchEvent(new E("mouseup",{...Q,buttons:0})),g.dispatchEvent(new E("contextmenu",Q)),{success:!0,method:"contextmenu"}}function Xn(g,D,N){let R=fe(g,D),T=xe(R,N),w=g,E=g.getBoundingClientRect();return{href:String(T.location.href),hash:String(T.location.hash),ariaExpanded:g.getAttribute("aria-expanded"),ariaPressed:g.getAttribute("aria-pressed"),ariaDisabled:g.getAttribute("aria-disabled"),disabled:!!w.disabled,open:typeof w.open<"u"?w.open:void 0,checked:typeof w.checked<"u"?w.checked:void 0,value:typeof w.value<"u"?w.value:void 0,active:Cl(R),rect:{w:E.width,h:E.height}}}function Ce(g,D){let N=Math.abs(g.rect.w-D.rect.w)>2||Math.abs(g.rect.h-D.rect.h)>2;return g.href!==D.href||g.hash!==D.hash||g.ariaExpanded!==D.ariaExpanded||g.ariaPressed!==D.ariaPressed||g.ariaDisabled!==D.ariaDisabled||g.disabled!==D.disabled||g.open!==D.open||g.checked!==D.checked||g.value!==D.value||g.active!==D.active||N}async function gr(g,D,N,R){await Promise.resolve();let T=fe(g,D),w=xe(T,N);D.hidden||await Fn();let E=Xn(g,T,w);return Ce(R,E)}function Le(g,D,N){g.focus?.({preventScroll:!0});let R=fe(g,D),T=xe(R,N),U=g.getAttribute("role")==="button"||Bh(g,T)||g.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],J=T.KeyboardEvent||KeyboardEvent;for(let K of U){let Q={key:K,code:K===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};g.dispatchEvent(new J("keydown",Q)),g.dispatchEvent(new J("keypress",Q)),g.dispatchEvent(new J("keyup",Q))}return{success:!0,method:"keyboard-activate"}}async function Ot(g,D,N,...R){let T=null;for(let w of R){let E=fe(g,D),U=xe(E,N),J=Xn(g,E,U),K=w();if(!K||!K.success)continue;if(await gr(g,E,U,J))return{...K,details:(K.details?K.details+";":"")+"verified=true"};T=K}return T?{...T,details:(T.details?T.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function Sn(...g){for(let D of g)try{let N=D();if(N&&N.success)return N}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function Mt(g,D,N){let R=fe(g,D),T=xe(R,N),w=g.getBoundingClientRect();w.top>=0&&w.left>=0&&w.bottom<=T.innerHeight&&w.right<=T.innerWidth||(g.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),g.offsetHeight)}function gs(g,D,N,R){let T=fe(g,D),E=xe(T,N).KeyboardEvent||KeyboardEvent;for(let U of R){let J=String(U??""),K="";/^[a-z]$/i.test(J)?K=`Key${J.toUpperCase()}`:/^[0-9]$/.test(J)?K=`Digit${J}`:J===" "&&(K="Space");let Q=J.length===1?J.charCodeAt(0):0,ne={key:J,code:K,bubbles:!0,cancelable:!0,composed:!0,keyCode:Q,which:Q};g.dispatchEvent(new E("keydown",ne)),g.dispatchEvent(new E("keypress",ne)),g.dispatchEvent(new E("keyup",ne))}}function bs(g,D,N){let R=fe(g,D),w=xe(R,N).KeyboardEvent||KeyboardEvent,E={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},U=g.dispatchEvent(new w("keydown",E)),J=g.dispatchEvent(new w("keypress",E)),K=g.dispatchEvent(new w("keyup",E));if(!!(U&&J&&K)){let ne=g.form||g.closest?.("form");ne?.requestSubmit?.()??ne?.submit?.()}}function ir(g){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[g]||`Key${g.toUpperCase()}`}let ut=new MessageChannel,kn=[];ut.port1.onmessage=()=>{let g=kn.shift();g&&g()};function Fn(){return new Promise(g=>{kn.push(g),ut.port2.postMessage(0)})}function br(g){let D=R=>{if(!R)return null;let T=Object.keys(R);for(let w of T)if(w.startsWith("__reactFiber")||w.startsWith("__reactInternalInstance")||w.includes("reactFiber")||w.includes("reactProps")||w.includes("reactEventHandlers")||/^__r\d+/.test(w))return R[w];return null},N=g;for(let R=0;R<4&&N;R++){let T=D(N);if(T)return T;N=N.parentElement}return null}function yr(g){let D={},N=g,R=0;for(;N&&R++<10;){let T=[N.memoizedProps,N.pendingProps,N.stateNode?.props,N._memoizedProps,N._pendingProps,N.alternate?.memoizedProps].filter(Boolean);for(let w of T)if(!(!w||typeof w!="object"))for(let E in w)E.startsWith("on")&&typeof w[E]=="function"&&(D[E]=w[E]);if(Object.keys(D).length)break;N=N.return||N.alternate}return D}function mo(g,D){let N=g;for(;N;){if(N._reactRootContainer||N.__reactContainer||N.hasAttribute("data-reactroot")||N.hasAttribute("data-react-root")||["root","app","__next"].includes(N.id))return N;N=N.parentElement}return fe(g,D).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function Nt(g,D,N,R){let T=fe(D,N),w=xe(T,R),E=w.MouseEvent||MouseEvent,U=D.getBoundingClientRect(),J=new E(g,{bubbles:!0,cancelable:!0,view:w,clientX:U.left+U.width/2,clientY:U.top+U.height/2});return{type:g,target:D,currentTarget:D,bubbles:!0,cancelable:!0,nativeEvent:J,isTrusted:!0,preventDefault(){J.preventDefault()},stopPropagation(){J.stopPropagation()}}}function Ar(g){let D=g;if(D.__vue__)return D.__vue__;if(D.__vueParentComponent)return D.__vueParentComponent;if(D._vnode)return D._vnode;let N=g.parentElement;for(let R=0;R<3&&N;R++){let T=N;if(T.__vue__||T.__vueParentComponent||T._vnode)return T.__vue__||T.__vueParentComponent||T._vnode;N=N.parentElement}return null}function Jr(g){let D={};if(g?.$listeners&&Object.assign(D,g.$listeners),g?._events)for(let N in g._events){let R=g._events[N];D[N]=Array.isArray(R)?R[0]:R}if(g?.props)for(let N in g.props)N.startsWith("on")&&typeof g.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.props[N]);if(g?.vnode?.props)for(let N in g.vnode.props)N.startsWith("on")&&typeof g.vnode.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.vnode.props[N]);return D}})();function sb(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function cb(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function Bs(e,t,n={}){let{rootNodes:r,semanticNodes:o}=Xu(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),i={};for(let a of Object.keys(o)){let s=Number(a);if(!Number.isFinite(s))continue;let c=Ms(s);c&&(i[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:i}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{doc;win;viewport;lastDetectedPrimary=null;detectionCache=new Map;lastDetectionTime=0;CACHE_TTL=5e3;constructor(d=document,m=window){this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:u}=this.getScrollContext(m.element),h=f.scrollHeight,b=Nr(),v=u&&b?b.innerHeight:f.clientHeight,S=Math.max(0,h-v),k=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:k,scrollHeight:h,clientHeight:v,isAtTop:k<=5,isAtBottom:k>=S-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let u=Array.from(this.detectionCache.values()).sort((h,b)=>b.score-h.score)[0];if(u)return this.lastDetectedPrimary=u.element,u}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let u=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!u)return null;let h=this.buildFeatures(u),b=fe(u,this.doc),v={element:u,selector:ga(u,b),score:.5,features:h,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(v.selector,v),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=u,v}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let u of m)this.detectionCache.set(u.selector,u);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],u=[],h=d.body||d.documentElement;h&&u.push(h);let b=0,v=S=>{try{let k=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",C=this.win[k]?.shadow?.getRoot;if(typeof C=="function"){let _=C(S);if(_)return _}}catch{}try{return S.shadowRoot||null}catch{return null}};for(;u.length&&!(++b>m);){let S=u.pop();if(cr(S)){let C=S.children;for(let _=C.length-1;_>=0;_--)u.push(C[_]);continue}let k=S,x=Ke(k);ln(k,x)&&f.push(k);try{let C=v(k);C&&u.push(C)}catch{}for(let C=k.lastElementChild;C;C=C.previousElementSibling)u.push(C)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let h of f){if(!h||m.has(h))continue;let b=this.isScrollable(h);(b.vertical||b.horizontal)&&(d.push(h),m.add(h))}let u=this.collectAllElementsDeep(this.doc);for(let h of Array.from(u)){if(m.has(h))continue;let b=h.getBoundingClientRect(),v=this.win.getComputedStyle(h);if(!this.isElementRendered(h,b,v)||!this.isScrollable(h).vertical)continue;let k=40,x=this.viewport.width*.15;if(b.height<k||b.width<x){let C=(h.className||"").toLowerCase().includes("scroll"),_=v.overflowY==="auto"||v.overflowY==="scroll"||v.overflow==="auto"||v.overflow==="scroll";if(!C&&!_)continue}d.push(h),m.add(h)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let u=parseFloat(f.opacity||"1");return!(!Number.isNaN(u)&&u<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,u=m.overflowX,h=this.doc.scrollingElement,b=d===this.doc.documentElement||d===this.doc.body||!!h&&d===h,v=d.scrollHeight,S=d.clientHeight,k=d.scrollWidth,x=d.clientWidth;if(b){let Z=this.doc.documentElement,ae=this.doc.body;v=Math.max(Z?Z.scrollHeight:0,ae?ae.scrollHeight:0),S=this.win.innerHeight}let C=v-S>8,_=k-x>8,I=f==="auto"||f==="scroll"||f==="overlay",M=u==="auto"||u==="scroll"||u==="overlay";return{vertical:b?C:C&&I,horizontal:b?_:_&&M,byOverflow:I||M}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),u=Math.min(this.viewport.width,d.right),h=Math.min(this.viewport.height,d.bottom),b=Math.max(0,u-m),v=Math.max(0,h-f);return{width:b,height:v,area:b*v}}analyzeTextContent(d,m=2e3){let f=0,u=0,h=d.ownerDocument||this.doc,v=(h.defaultView||this.win).NodeFilter||NodeFilter,S=h.createTreeWalker(d,v.SHOW_ELEMENT|v.SHOW_TEXT,null),k=0,x=S.currentNode,C=[];for(;x&&k<m;){if(x.nodeType===Node.TEXT_NODE){let O=(x.textContent||"").replace(/\s+/g,"").length;if(O>0){f+=O;let Y=x.parentElement;Y&&Y.closest("a")&&(u+=O)}}else x.nodeType===Node.ELEMENT_NODE&&C.push(x);k++,x=S.nextNode()}let _=C.length||1,I=f/_,M=f>0?u/f:0;return{textChars:f,linkChars:u,textDensity:I,linkDensity:M}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),u=new Map,h=new Map,b=new Map;for(let G of f){let O=Ke(G);if(!ln(G,O))continue;let Y=G.getBoundingClientRect();if(Y.height<5||Y.width<this.viewport.width*.1)continue;let Z=Math.round(Y.height/10)*10,ae=Math.round(Y.width/10)*10;u.set(Z,(u.get(Z)||0)+1),h.set(ae,(h.get(ae)||0)+1);let H=(G.className||G.tagName).toString();b.set(H,(b.get(H)||0)+1)}let v=f.length||1,S=Math.max(0,...u.values()),k=Math.max(0,...h.values()),x=Math.max(0,...b.values()),C=S/v,_=k/v,I=x/v,M=.4*C+.3*_+.3*I;return Math.min(1,Math.max(0,M))}calculateSemanticScore(d){let m=0,f=null,u=!1,h=(d.getAttribute("role")||"").toLowerCase(),b=d.tagName.toLowerCase(),v=(d.id||"").toLowerCase(),S=(d.className||"").toLowerCase(),k=`${h} ${b} ${v} ${S}`;return(b==="main"||h==="main")&&(m+=1.2,f="article"),b==="article"&&(m+=1,f=f||"article"),(h==="feed"||k.includes("feed"))&&(m+=1,f="feed"),(h==="log"||k.includes("chat")||k.includes("messages"))&&(m+=1,f="chat"),k.includes("content")&&(m+=.5),(k.includes("results")||k.includes("list"))&&(m+=.4),(k.includes("job")||k.includes("jobs"))&&(m+=.4),(b==="nav"||h==="navigation"||k.includes("sidebar"))&&(m-=1,u=!0),(b==="aside"||h==="complementary")&&(m-=.7,u=!0),(b==="footer"||h==="contentinfo"||k.includes("footer"))&&(m-=.8,u=!0),k.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:u}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),u=this.calculateVisibleIntersection(m),h=this.viewport.width*this.viewport.height||1,b=u.area/h,v=this.viewport.width>0?u.width/this.viewport.width:0,S=m.top+m.height/2,k=this.viewport.height/2||1,x=Math.min(1,Math.abs(S-k)/k),C=this.isScrollable(d),_=this.doc.scrollingElement,I=d===this.doc.documentElement||d===this.doc.body||!!_&&d===_,M=d.scrollHeight,G=d.clientHeight;if(I){let me=this.doc.documentElement,Se=this.doc.body;M=Math.max(me?me.scrollHeight:0,Se?Se.scrollHeight:0),G=this.win.innerHeight}let O=Math.max(0,M-G),Y=O*u.width,Z=this.analyzeTextContent(d),ae=this.calculateRepetitionScore(d),H=this.calculateSemanticScore(d),X=d.contains(this.doc.activeElement),re=this.detectScrollListeners(d),oe=parseInt(f.zIndex||"0",10),pe=Number.isFinite(oe)?oe:0;return{geometry:{viewportCoverage:b,widthProminence:v,centerDistance:x,scrollCapacity:O,scrollSurface:Y,zIndex:pe},content:{textDensity:Z.textDensity,linkDensity:Z.linkDensity,repetitionScore:ae,semanticScore:H.semanticScore},interaction:{hasScrollListeners:re,hasFocus:X,recentActivity:X?1:0}}}inferElementType(d,m,f,u){if(f)return f;let h=(d.getAttribute("role")||"").toLowerCase(),b=(d.className||"").toLowerCase(),v=d.tagName.toLowerCase(),S=m.geometry,k=m.content;if(h==="log"||b.includes("chat")||b.includes("messages"))return"chat";let x=this.win.getComputedStyle(d);if((x.position==="fixed"||x.position==="absolute")&&S.zIndex>100&&S.viewportCoverage>.2&&S.centerDistance<.4)return"modal";if(h==="feed"||k.repetitionScore>.3&&S.scrollCapacity>400&&S.widthProminence>=.25)return"feed";if(v==="article"||k.textDensity>40&&k.linkDensity<.4&&S.widthProminence>.4)return"article";if(u||S.widthProminence<.3&&k.linkDensity>.3)return"sidebar";let _=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||_&&d===_?"document":"unknown"}scoreCandidates(d){let m=[],f=[],u=[],h=[],b=[],v=[];for(let I of d){let M=this.buildFeatures(I),G=M.content.semanticScore,O=this.calculateSemanticScore(I),Y=this.inferElementType(I,M,O.typeHint,O.navLike);v.push({element:I,features:{geometry:{...M.geometry},content:{...M.content,semanticScore:O.semanticScore},interaction:M.interaction},type:Y,navLike:O.navLike,semanticScore:O.semanticScore}),f.push(M.geometry.scrollSurface),u.push(M.content.textDensity),h.push(Math.abs(O.semanticScore)),b.push(M.content.repetitionScore)}let S=Math.max(0,...f),k=Math.max(0,...u),x=Math.max(0,...h),C=Math.max(0,...b),_=-1/0;for(let I of v){let{element:M,features:G,type:O,navLike:Y,semanticScore:Z}=I,ae=G.geometry,H=G.content,X=G.interaction,re=S>0?ae.scrollSurface/S:0,oe=k>0?H.textDensity/k:0,pe=x>0?(Z/x+1)/2:.5,me=O==="feed"||H.repetitionScore>.3&&ae.scrollCapacity>400,Se=H.linkDensity>.5?(H.linkDensity-.5)/.5:0,Fe=me?0:Se,Pe=(me?1:.5)*H.repetitionScore*Math.min(1,ae.scrollCapacity/4e3),B={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[O]||0,W=0;W+=ae.viewportCoverage*.18,W+=ae.widthProminence*.15,W+=(1-ae.centerDistance)*.07,W+=re*.22,W+=Pe*.18,W+=oe*.08,W+=(C>0?H.repetitionScore/C:0)*.05,W+=pe*.07,W-=Fe*.05,X.hasFocus&&(W+=.05),X.hasScrollListeners&&(W+=.05),W+=B,Y&&(W-=.05);let F=Math.max(0,Math.min(1,W));F>_&&(_=F),m.push({element:M,selector:ga(M,fe(M)),score:F,features:G,type:O})}if(m.sort((I,M)=>M.score-I.score),m.length>=2){let I=m[0],M=m[1];Math.abs(I.score-M.score)<.08&&I.type==="article"&&M.type==="feed"&&(m[0]=M,m[1]=I)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=fe(u),v=xe(b),S=m?.isTabActive??!b.hidden,k=m?.behavior,x=S&&k==="smooth",C=h?Math.max(b.documentElement?b.documentElement.scrollHeight:0,b.body?b.body.scrollHeight:0):u.scrollHeight,_=h?v.innerHeight:u.clientHeight,I=Math.max(0,C-_),M=()=>h?v.scrollY:u.scrollTop,G=O=>{if(x)try{h?v.scrollTo({top:O,behavior:"smooth"}):u.scrollTo({top:O,behavior:"smooth"})}catch{h?(b.scrollingElement||b.documentElement||b.body).scrollTop=O:u.scrollTop=O}else if(h){let Y=b.scrollingElement||b.documentElement||b.body;Y.scrollTop=O}else u.scrollTop=O};switch(d){case Wt.TOP:return G(0),{success:!0,scrollTop:0,isAtTop:!0};case Wt.BOTTOM:return G(I),{success:!0,scrollTop:I,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=m?.isTabActive??!document.hidden,v=m?.behavior,S=b&&v==="smooth",k=Nr(),x=h&&k?k.innerHeight:u.clientHeight,C=h&&k?k.innerWidth:u.clientWidth,_=m?.amount??x*.8,I=h?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):u.scrollHeight,M=h&&k?k.innerHeight:u.clientHeight,G=Math.max(0,I-M),O=Z=>{if(S)try{h?k?.scrollTo({top:Z,behavior:"smooth"}):u.scrollTo({top:Z,behavior:"smooth"})}catch{let ae=document.scrollingElement||document.documentElement||document.body;ae.scrollTop=Z}else{let ae=h?document.scrollingElement||document.documentElement||document.body:u;ae.scrollTop=Z}},Y=Z=>{if(S)try{u.scrollBy({left:Z,behavior:"smooth"})}catch{u.scrollLeft+=Z}else u.scrollLeft+=Z};switch(d){case Wt.DOWN:{let ae=(h&&k?k.scrollY:u.scrollTop)+_;O(ae);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=G-5}}case Wt.UP:{let Z=h&&k?k.scrollY:u.scrollTop,ae=Math.max(0,Z-_);O(ae);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=G-5}}case Wt.LEFT:{let Z=-(m?.amount??C*.8);return Y(Z),{success:!0,scrollLeft:u.scrollLeft}}case Wt.RIGHT:{let Z=m?.amount??C*.8;return Y(Z),{success:!0,scrollLeft:u.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case In.START:return"start";case In.END:return"end";case In.NEAREST:return"nearest";case In.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let b=getComputedStyle(f).overflowY,v=b==="auto"||b==="scroll"||b==="overlay",S=f.scrollHeight-f.clientHeight>8;if(v&&S)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let u=document.querySelector(d);if(!u)return{success:!1,error:`Element not found for selector: ${d}`};let{container:h,isRoot:b}=this.getScrollContainerForElement(u),v=Ke(h),S=v?.DOMRect||DOMRect,k=b?new S(0,0,v.innerWidth??0,v.innerHeight??0):h.getBoundingClientRect(),x=u.getBoundingClientRect(),C=24,_=x.top>=k.top+C&&x.bottom<=k.bottom-C,I=f?.isTabActive??!document.hidden,M=f?.behavior,G=I&&M==="smooth",O=this.normalizeScrollPosition(m);if(m===In.NEAREST&&_)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(h,b)};try{u.scrollIntoView({behavior:G?"smooth":"auto",block:O,inline:"nearest"})}catch{u.scrollIntoView()}let Y=this.getScrollMetricsForContainer(h,b);return{success:!0,position:O,...Y}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,u=fe(d),h=Ke(d),b=m&&h?h.innerHeight:d.clientHeight,v=Math.max(0,f-b),k=(m?u.scrollingElement||u.documentElement||u.body:d).scrollTop;return{scrollTop:k,scrollHeight:f,clientHeight:b,maxScroll:v,isAtTop:k<=5,isAtBottom:k>=v-5,scrollPercentage:v>0?k/v*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),u=fe(m),h=xe(u),b=f?Math.max(u.documentElement?u.documentElement.scrollHeight:0,u.body?u.body.scrollHeight:0):m.scrollHeight,v=f?h.innerHeight:m.clientHeight,S=Math.max(0,b-v),x=(f?u.scrollingElement||u.documentElement||u.body:m).scrollTop;return{element:ga(m,u),scrollTop:x,scrollHeight:b,clientHeight:v,maxScroll:S,isAtTop:x<=5,isAtBottom:x>=S-5,scrollPercentage:S>0?x/S*100:0}}}let o=new r;window[e]=o;let i={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=i}catch{}}let a=window.__RTRVR_INTERNAL_KEY__||n,s=window[a],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||i}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(a!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var pT=/\[id=(\d+)\]/,fn;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(fn||(fn={}));var mT=20,ba=new Map;function hT(e,t){if(ba.size>=mT&&!ba.has(e)){let n=ba.keys().next().value;n!==void 0&&ba.delete(n)}ba.set(e,t)}var gT=24,bT=220,yT=0,vT=250,kT=2,xT=300,wT=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),ST=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function TT(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[Yn["rtrvr-label"]],i=r?.resourceLocator;if(typeof o=="string"&&typeof i=="string"){let a=o.match(pT);if(a?.[1]){let s=Number(a[1]);Number.isFinite(s)&&(t[s]=i)}}}return t}function lb(e,t){let n={};for(let r of Object.keys(e)){let o=e[Number(r)],i=Array.isArray(o?.frameRealm)?Number(o.frameRealm[0]):NaN;if(!Number.isFinite(i)||i<=0)continue;let a=typeof o.resourceLocator=="string"&&o.resourceLocator.trim()?o.resourceLocator.trim():void 0,s;if(a)try{s=new URL(a,t).origin}catch{s=void 0}let c=typeof o.computedName=="string"&&o.computedName.trim()?o.computedName.trim():void 0;n[Math.trunc(i)]={...s?{origin:s}:{},...a?{url:a}:{},...c?{title:c}:{},hostElementId:Number(r)}}return Object.keys(n).length>0?{version:1,realms:n}:void 0}function _T(e){try{let n=(e.defaultView||Nr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?Rh(r()):void 0}catch{return}}async function bb(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||Bo,i=String(r.contentType||"").trim().toLowerCase(),a=CT(i,r),s=RT(a.documentType,i),c=_T(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=AT(o),m=ET(o);if(a.documentType!==fn.HTML){let O=Number(o?.pageDataTimeoutMs),Y=Number.isFinite(O)?Math.max(200,Math.floor(O)):9e3,Z=Math.max(200,Math.min(Y,dn(d))),ae=DT(r,a.documentType,o,d),H=await ma(ae,Z,r);if(!H.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let X=H.value||{},re=a.documentType===fn.GOOGLE_SHEET?d_(r):void 0;return{...l,...X,contentType:X.contentType||l.contentType,sheetInfo:X.sheetInfo||re}}if(o?.onlyTextContent)return{...l,contentType:fa,content:Us(r)};let f=Math.max(0,Math.min(1e3,dn(d))),u=performance.now(),h=!1;if(!o?.disableAutoScroll&&f>80){let O=r.hidden?200:400,Y=Math.min(O,f);Y>80&&(h=await s_(r,{profile:"light",timeBudgetMs:Y,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let b=Math.max(0,f-(performance.now()-u));b>60&&await db(r,{...m,deadlineEpochMs:d,totalBudgetMs:b});let v=Math.max(0,f-(performance.now()-u));v>80&&await l_(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,v),budgetMs:Math.min(r.hidden?200:300,v),maxPasses:r.hidden?1:2});let S=Bs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),k="normal",x=0,C=0,_=[],I=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,M=fb(r,S.rootNodes,S.semanticNodes);if(M.needsStabilization){_=[...M.reasons],k="suspicious_unrecovered";let O=I?Math.max(0,Math.min(xT,dn(d)-20)):0;if(O>20){let Y=Date.now();await db(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:O}),C=Date.now()-Y,x=1,S=Bs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let Z=fb(r,S.rootNodes,S.semanticNodes);Z.reasons.length>0&&(_=[...Z.reasons]),!Z.needsStabilization&&!ub(S.rootNodes,S.semanticNodes)&&(k="suspicious_recovered")}}if(ub(S.rootNodes,S.semanticNodes)){let O=lb(S.semanticNodes,r.URL);return{...l,contentType:fa,content:Us(r),metadata:{scrollingPerformed:h,extractionMethod:"empty_tree_fallback",...O?{frameRealms:O}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}let G=lb(S.semanticNodes,r.URL);return{...l,contentType:fa,roots:S.rootNodes,nodes:S.semanticNodes,elementLinkRecord:TT(S.semanticNodes),metadata:{scrollingPerformed:h,extractionMethod:k!=="normal"?k:void 0,...G?{frameRealms:G}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}function ET(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),i=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):gT,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):bT,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):yT,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):vT,sparseTreeRetryMaxAttempts:Number.isFinite(i)?Math.max(0,Math.min(4,Math.floor(i))):kT}}async function db(e,t){let n=dn(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,i=0;for(;i<=t.retries&&dn(o)>20;){let a=Math.max(40,Math.min(t.maxWaitMs,dn(o)));if(await IT(e,{debounceMs:t.debounceMs,windowBudgetMs:a,deadlineEpochMs:o}))return;i+=1}}async function IT(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let i=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;dn(t.deadlineEpochMs)>20&&dn(i)>20;){let a=Date.now()-r;if(a>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-a,dn(t.deadlineEpochMs),dn(i)));await gn(s,e)}}finally{o.disconnect()}return!1}function AT(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function RT(e,t){switch(e){case fn.PDF:return Iu;case fn.GOOGLE_DOC:return Qu;case fn.GOOGLE_SHEET:return Au;case fn.PLAIN_TEXT:return Ml;case fn.HTML:default:return t||fa}}function CT(e,t){let n=e||String(t.contentType||"").toLowerCase();return Gg(n)?{documentType:fn.PDF}:MT(t)&&(LT(t)||NT(t.URL))?{documentType:fn.PDF}:WT(t)?{documentType:fn.GOOGLE_DOC}:KT(t)?{documentType:fn.GOOGLE_SHEET}:n.includes(Ml)?{documentType:fn.PLAIN_TEXT}:{documentType:fn.HTML}}function MT(e){try{let t=FT(e);return Zu(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function NT(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function LT(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(i=>!["SCRIPT","STYLE"].includes(String(i.tagName).toUpperCase())).length<=3}catch{return!1}}async function DT(e,t,n,r){switch(t){case fn.PDF:return PT(e,n,r);case fn.GOOGLE_DOC:return OT(e);case fn.GOOGLE_SHEET:return o_(e,n);case fn.PLAIN_TEXT:return{content:Us(e),contentType:Ml};case fn.HTML:default:return{content:Us(e),contentType:fa}}}async function PT(e,t,n){dn(n)>Eu+50&&await Xg(Eu,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=Bo.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),i=dn(n),s=Number.isFinite(i)?Math.max(150,Math.min(o,Math.max(0,i-150))):o,c=await HT(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:Iu,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function OT(e){return{content:r_(),contentType:Qu}}function ub(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function BT(e){return!!(e.documentElement?.hasAttribute(gi)||e.body?.hasAttribute(gi)||e.body?.getAttribute?.("aria-busy")==="true")}function UT(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,i=o?Object.values(n):[],a=0,s=0;for(let c of i){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||ST.has(l))&&(s+=1),wT.has(l)&&(a+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?a/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:BT(e)}}function fb(e,t,n){let r=UT(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=Us(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function Us(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function FT(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let i=o(e.body||e.documentElement);if(i)return i}}catch{}return e}function zT(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function HT(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):Bo.pdfTextSelectionTimeoutMs,r=zT(e),o=ba.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let i=await jT(e,n);return i.success&&i.data.trim()&&hT(r,i.data),i}async function jT(e,t){let n=e.defaultView||window,r=$T(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=!1,a="",s=d=>{if(i||!qT(String(d.origin||""),e))return;let m=d.data;VT(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(a=m.selectedText,i=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!i&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await gn(200,e),a.trim()){i=!0;break}}return n.removeEventListener("message",s),a.trim()?{success:!0,data:a,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function $T(e){let t=Zu(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function qT(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function VT(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function WT(e){try{let t=e.defaultView||Nr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return ya(e)!==null}function KT(e){let n=(e.defaultView||Nr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function GT(e){try{return e.defaultView?.top?.document??e}catch{return e}}function Fl(e){let t=[e],n=GT(e);return n!==e&&t.push(n),t}var XT=".docs-texteventtarget-iframe",YT=".kix-cursor",JT=".docos-replyview-body",QT=".docos-replyview",ZT=".docos-author",yb="\u200B",e_="\xA0";function ya(e){for(let t of Fl(e)){let n=t.querySelector(XT);if(n)return n}return null}function t_(e){for(let t of Fl(e)){let n=t.querySelector(YT);if(n)return n}return null}function Ol(e){let t=t_(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function Bl(e,t){let n=ya(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",i={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},a=n.contentDocument,s=n.contentWindow;if(!a)return;let c=s?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new c("keydown",i))}function pb(e){let t=ya(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let i=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new i("keydown",n))}function n_(e){let t=ya(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},i=t.contentDocument,a=t.contentWindow;if(!i)return;let s=a?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new s("keydown",o))}function Ul(e){let t=ya(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let i=o.innerText||o.textContent||"";return String(i).replace(new RegExp(yb,"g"),"")??""}function af(e){let t=`
1
+ var cl;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(cl||(cl={}));var wh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(wh||(wh={}));var w0=["image/png","image/jpeg","image/webp"],S0=["application/pdf","text/plain"],NM=[...w0,...S0];var gn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(gn||(gn={}));var ln;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(ln||(ln={}));var LM={[gn.ACT]:ln.AGENTIC_SEEK,[gn.CRAWL]:ln.CRAWL_PAGES,[gn.EXTRACT]:ln.EXTRACT_PAGE,[gn.SHEETS_WORKFLOW]:ln.SHEETS_WORKFLOW,[gn.INFER_SHEET_DATA]:ln.INFER_SHEET_DATA,[gn.PDF_FILLER]:ln.PDF_FILLER,[gn.CUSTOM_TOOL_GENERATOR]:ln.CUSTOM_TOOL_GENERATOR,[gn.WEBPAGE_GENERATOR]:ln.WEBPAGE_GENERATOR,[gn.GOOGLE_DOC_GENERATOR]:ln.GOOGLE_DOC_GENERATOR,[gn.GOOGLE_SLIDES_GENERATOR]:ln.GOOGLE_SLIDES_GENERATOR,[gn.PROCESS_TEXT]:ln.PROCESS_TEXT,[gn.CREATE_SHEET_FROM_DATA]:ln.CREATE_SHEET_FROM_DATA,[gn.ROVER_EXTERNAL_READ_CONTEXT]:ln.ROVER_EXTERNAL_READ_CONTEXT,[gn.ROVER_EXTERNAL_ACT_CONTEXT]:ln.ROVER_EXTERNAL_ACT_CONTEXT,[gn.EXECUTE_MULTIPLE_TOOLS]:ln.EXECUTE_MULTIPLE_TOOLS,[gn.CONFIGURE_API_KEY]:ln.CONFIGURE_API_KEY,[gn.QUERY_RTRVR_AI_DOCUMENTATION]:ln.QUERY_RTRVR_AI_DOCUMENTATION};var Au=200;var T0=30,_0=320,E0=0,I0=50,A0=1,DM=cl.FLASH;var PM=ln.PLANNER;var Ru="application/pdf",Cu="application/gsheet";var OM=20*1024*1024;var Uo={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!0,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:T0,adaptiveSettleMaxWaitMs:_0,adaptiveSettleRetries:E0,sparseTreeRetryDelayMs:I0,sparseTreeRetryMaxAttempts:A0,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};function ar(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function $t(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Mu(e,t=!1){return typeof e=="boolean"?e:t}function go(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||240);for(let a of e){let s=$t(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function R0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function Th(e){return e==="run"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function _h(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function Eh(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function C0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function Ih(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function Ah(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function Rh(e){let t=ar(e);return t?{...t}:void 0}function M0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function N0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=$t(t.id,120),o=$t(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:Th(t.preferredInterface),source:_h(n?.source),deepLink:$t(n?.deepLink,2048)||void 0,toolName:$t(n?.toolName,120)||void 0,runPayload:Rh(ar(n?.run)?.payload)}}function L0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=$t(t.capabilityId||t.id,120),o=$t(t.label||t.name,180);if(!r||!o)return null;let i=Array.isArray(t.resultModes)?t.resultModes.map(a=>M0(a)).filter(a=>!!a):[];return{capabilityId:r,version:$t(t.version,80)||void 0,label:o,description:$t(t.description,320)||void 0,preferredInterface:Th(t.preferredInterface),source:_h(n?.source),...i.length?{resultModes:i}:{},pageScope:go(t.pageScope,{max:24,maxLen:80}),analyticsTags:go(t.analyticsTags,{max:24,maxLen:64}),deepLink:$t(n?.deepLink,2048)||void 0,toolName:$t(n?.toolName,120)||void 0,runPayload:Rh(ar(n?.run)?.payload)}}function D0(e){let t=ar(e);if(!t)return;let n=Eh(t.mode),r=C0(t.branding),o=Ih(t.hostSurface),i=Ah(t.actionReveal);if(!(!n||!r||!o||!i))return{mode:n,branding:r,hostSurface:o,actionReveal:i,beaconLabel:$t(t.beaconLabel,180)||void 0,agentModeEntryHints:go(t.agentModeEntryHints,{max:8,maxLen:240})}}function Sh(e){let t=ar(e);if(!t)return null;let n=$t(t.pageId||t.id,120);if(!n)return null;let r=$t(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:$t(t.route,512)||void 0,label:$t(t.label,180)||void 0,capabilityIds:go(t.capabilityIds,{max:48,maxLen:120}),entityHints:go(t.entityHints,{max:24,maxLen:120}),formHints:go(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:Eh(t.discoveryMode),hostSurface:Ih(t.hostSurface),actionReveal:Ah(t.actionReveal),agentModeEntryHints:go(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:go(t.capabilitySummary,{max:12,maxLen:180})}}function Ch(e){let t=ar(e);if(!t)return;let n=ar(t.extensions),r=ar(n?.rover);if(!r)return;let o=$t(r.siteUrl,2048),i=$t(r.runEndpoint||t.url,2048),a=$t(r.workflowEndpoint,2048);if(!o||!i||!a)return;let s=Mu(r.a2wRunsEnabled),c=Mu(r.delegatedHandoffs),l=ar(r.webmcp),d=Mu(l?.available),m=D0(r.discoverySurface),f=Array.isArray(t.skills)?t.skills.map(S=>N0(S)).filter(S=>!!S):[],u=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(S=>L0(S)).filter(S=>!!S):[],h=Array.isArray(r.pages)?r.pages.map(S=>Sh(S)).filter(S=>!!S):[],b=Sh(r.currentPage),v=go(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||d,siteUrl:o,runEndpoint:i,workflowEndpoint:a,serviceDescUrl:$t(r.serviceDescUrl,2048)||void 0,llmsUrl:$t(r.llmsUrl,2048)||void 0,roverSiteUrl:$t(r.roverSiteUrl,2048)||void 0,preferredExecution:R0(r.preferredExecution),a2wRunsEnabled:s,delegatedHandoffs:c,webmcpAvailable:d,skills:f,...m?{discoverySurface:m}:{},...u.length?{capabilities:u}:{},...h.length?{pages:h}:{},...b?{page:b}:{},instructions:v}}var Nh={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},jn={...Nh},dl=globalThis;function Lh(e){jn={...Nh,...e||{}}}function hi(){return jn.signalProvider??null}function qt(){try{return typeof dl.document<"u"?dl.document:null}catch{return null}}function Nr(){try{return typeof dl.window<"u"?dl.window:null}catch{return null}}function fe(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??qt()??{}}function Ke(e,t){return fe(e,t?t.document:null)?.defaultView??t??Nr()??{}}function xe(e,t){return e?.defaultView??t??Nr()??{}}function ul(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function fl(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function Nu(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function xs(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function pl(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function sr(e,t){try{return e[t]}catch{return}}function Qr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Dh(e,t){let n=sr(t,"HTMLAnchorElement");return n?e instanceof n:Qr(e,"A")}function xr(e,t){let n=sr(t,"HTMLInputElement");return n?e instanceof n:Qr(e,"INPUT")}function Lr(e,t){let n=sr(t,"HTMLTextAreaElement");return n?e instanceof n:Qr(e,"TEXTAREA")}function Ph(e,t){let n=sr(t,"HTMLLabelElement");return n?e instanceof n:Qr(e,"LABEL")}function Oh(e,t){let n=sr(t,"HTMLSelectElement");return n?e instanceof n:Qr(e,"SELECT")}function Bh(e,t){let n=sr(t,"HTMLSlotElement");return n?e instanceof n:Qr(e,"SLOT")}function Uh(e,t){let n=sr(t,"HTMLButtonElement");return n?e instanceof n:Qr(e,"BUTTON")}function Fh(e,t){let n=sr(t,"HTMLImageElement");return n?e instanceof n:Qr(e,"IMG")}function zh(e,t){let n=sr(t,"HTMLVideoElement");return n?e instanceof n:Qr(e,"VIDEO")}function Hh(e,t){let n=sr(t,"HTMLCanvasElement");return n?e instanceof n:Qr(e,"CANVAS")}function dn(e,t){if(!e||e.nodeType!==1)return!1;let n=sr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function cr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function gi(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=xe(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function ws(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=xe(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function P0(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=sr(t,"Document");return n?e instanceof n:!1}function O0(e,t){if(!e)return!1;let n=sr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function ml(e){try{return e.document}catch{return null}}function hl(e,t){if(P0(e,t))try{return e.documentElement}catch{return null}if(O0(e,t)){let n=ml(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function ll(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Mh(e,t,n){try{let r=fe(t,n);return new URL(e,r.baseURI).href}catch{return e}}function jh(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Mh(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,i=ll(o.href)||ll(o.src)||ll(o.data)||ll(o.action);return i?Mh(i,e,t):null}catch{return null}}var $h=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],xt={};$h.forEach((e,t)=>{xt[e]=t});var bo={};$h.forEach((e,t)=>{bo[t]=e});function bi(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,i]=r.split("~"),a=Number(o);if(!Number.isFinite(a))continue;let s=i&&parseInt(i,36)||0;n.push({id:a,mask:s})}return n.length?{entries:n}:null}function B0(e){let t=bi(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function Ss(e){return ca(e).map(n=>bo[n]).filter(n=>!!n)}function ca(e){let t=hi();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(Fo),r=B0(n);return!r||r.length===0?[]:r}var Lu=["media"],qh=new Set(Lu),Du=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var Vh=new Set(Du),yo=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),Ts=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var Wh=["none","presentation"],st;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(st||(st={}));var Kh={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},_s={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:st.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:st.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:st.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:st.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:st.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:st.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:st.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:st.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:st.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:st.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:st.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},Fo="rtrvr-ls",vo="rtrvr-ro",Pu="rtrvr-mw-ready",yi="rtrvr-mw-busy",Ou="rtrvr-mwa-ready",Gh=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),Xh=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],Yh=["h1","h2","h3","h4","h5","h6"],Jh="http://www.w3.org/1999/xhtml",Qh="http://www.w3.org/2000/svg",Mn="rtrvr-label";var yl=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),vi="CODE",ki="PRE",Zh="aria-hidden",eg="target";var gl;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(gl||(gl={}));var la;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(la||(la={}));var bl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(bl||(bl={}));var Bu=new Set([xt.click,xt.dblclick,xt.doubleclick,xt.contextmenu,xt.auxclick,xt.pointerdown,xt.pointerup,xt.mousedown,xt.mouseup,xt.touchstart,xt.touchend,xt.keydown,xt.keyup,xt.input,xt.beforeinput,xt.change,xt.submit,xt.reset,xt.paste,xt.dragstart,xt.dragend,xt.drop]),tg=new Set([...Bu,xt.scroll,xt.wheel,xt.mouseenter,xt.mouseover,xt.focus,xt.blur,xt.focusin,xt.focusout]),vl=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),Uu=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),Fu=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Es;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Es||(Es={}));var Is;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(Is||(Is={}));var Dr;(function(e){e[e.SameOrigin=0]="SameOrigin",e[e.Cooperative=1]="Cooperative",e[e.Adapter=2]="Adapter",e[e.Opaque=3]="Opaque",e[e.Verification=4]="Verification"})(Dr||(Dr={}));var Pr;(function(e){e[e.None=0]="None",e[e.CrossOriginNoAgent=1]="CrossOriginNoAgent",e[e.EmptyDom=2]="EmptyDom",e[e.NotReady=3]="NotReady",e[e.Timeout=4]="Timeout",e[e.SandboxBlocked=5]="SandboxBlocked",e[e.AdapterUnavailable=6]="AdapterUnavailable",e[e.TreeFailed=7]="TreeFailed"})(Pr||(Pr={}));var kl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(kl||(kl={}));var xl;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(xl||(xl={}));var Yn;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})(Yn||(Yn={}));var En;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(En||(En={}));var ko;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(ko||(ko={}));var U0=[...Du,...Object.keys(_s),...Lu],ng=[...new Set(U0)],da={};ng.forEach((e,t)=>{da[e]=t});var As={};ng.forEach((e,t)=>{As[t]=e});var wl=class{currentId;constructor(t=1){this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function Rs(e){let t=hi();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(vo);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let i=As[o];if(i)return i}}return r}function ua(e){return Array.from(new Set(e))}function rg(e,t){if(!e||e.length===0)return ua(t);let n=new Set([...e,...t]);return ua(Array.from(n))}function lr(e,t){let r=hi()?.getEventHandlerIds?.(e)??ca(e),o=r.length>0&&r.some(s=>Bu.has(s)),i=Sl(e),a=t?Ts.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:i,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}}var F0=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function z0(e){let n=Ke(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function H0(e){let t=Ke(e);if(!xr(e,t))return!1;let n=(e.type||"text").toLowerCase();return F0.has(n)?!e.disabled&&!e.readOnly:!1}function j0(e){let t=Ke(e);return Lr(e,t)&&!e.disabled&&!e.readOnly}function $0(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function Sl(e){return!e||!z0(e)?!1:!!(H0(e)||j0(e)||$0(e))}function Cs(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,i=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(i)||i.includes("iframeRoot="))continue;let a=parseInt(r[1],10);if(Number.isFinite(a))return a}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let i=parseInt(o[1],10);return Number.isFinite(i)?i:null}}catch{}return null}function Ms(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"&#91;").replace(/\]/g,"&#93;"),t}function og({element:e,elementID:t,frameContextLabel:n}){let r=!jn.disableDomAnnotations,o=[`[id=${t}]`],i=Ke(e);if(ws(e)){let c=Ms(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=Ms(n);o.push(`[iframeRoot=${c}]`)}if(Fh(e,i)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(zh(e,i)||Hh(e,i))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),xr(e,i)||Lr(e,i)){let c=q0(e);o.push(...c)}e.getAttribute(Zh)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Dh(e,i)&&e.setAttribute(eg,"_self");let s=o.join(" ");return r&&e.setAttribute(Mn,s),s}function q0(e){let t=[],n=Ke(e),r=xr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=Ms(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=Ms(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let i=Ms(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${i}"]`)}return t}var Ns=new wl,zu=new WeakMap;function ig(){zu=new WeakMap}function zo(e){let t=zu.get(e);if(t)return t;let n=Ns.generateId();return zu.set(e,n),n}var Tl=new Map,Hu=new WeakMap;function ag(){Tl.clear(),Hu=new WeakMap}function ju(e,t){try{typeof WeakRef<"u"?Tl.set(e,new WeakRef(t)):Tl.set(e,t)}catch{}}function Ls(e){let t=Tl.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function Ho(e){let t=null,n=zo(e);if(jn.frameContextLabel)t=jn.frameContextLabel;else{let o=qt();if(o&&e.ownerDocument!==o)try{let a=e.ownerDocument?.defaultView?.frameElement?.getAttribute(Mn)||"",s=a?Cs(a):null;t=s?String(s):null}catch{t=""}}let r=og({element:e,elementID:n,frameContextLabel:t});if(ju(n,e),r)try{Hu.set(e,r)}catch{}return r}function sg(e){return Hu.get(e)??null}function $u(e,t){try{e.querySelectorAll?.(`[${Mn}]`)?.forEach(r=>r.removeAttribute(Mn))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&$u(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=xs(r);o?.body&&$u(o.body,t)}catch{}}catch{}}function cg(e,t={}){if(jn.disableDomAnnotations)return;let n=gi(e)?Ke(e):xe(e)??window,r=hl(e,n)??e;if(r){try{r.removeAttribute?.(Mn)}catch{}$u(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var jo={},qu=new WeakMap,_l=new WeakSet;function lg(){jo={},qu=new WeakMap,_l=new WeakSet,ig()}function Nn({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,originatedFromParent:s,elementContext:c}){let l=zo(e);ju(l,e);let d=jo[l];if(s){if(!d){let m={nodeCategory:e.nodeType,provisionalFromParent:!0},f=e.nodeName;f&&f.trim()&&(m.elementName=f);let u=e.getAttribute("role");u&&(m.preservedAttributes={1:u});let h=e.tagName;h&&(m.elementTag=h),jo[l]=m}}else{if(d&&!d.provisionalFromParent){if((o||fa(e))&&(d.isFrameElement=!0,i&&i.length>0&&(d.frameContent=i),a&&(d.frameRealm=a)),c){let{eventHandlerIndices:m,isEditableRegion:f}=c;if(m&&m.length>0){let u=ua(m);u.length>0&&(d.eventHandlers=rg(d.eventHandlers,u))}f&&(d.isEditable=!0)}return l}if(_l.has(e))return l;_l.add(e);try{jo[l]=dg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:c})}finally{_l.delete(e)}}return l}function Ds(e){let t=qu.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let i=Ns.generateId(),a={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(a.rawData=o),jo[i]=a,qu.set(e,i),i}function fg(e,t){let n=mg(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(i=>i.some(Ps))}function pg(e,t){let n=mg(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(i=>i.slice(r,o+1).some(Ps))}var Il=class{cells;constructor(t=[]){this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}getCellAt=(t,n)=>this.getRowAt(n)[t];setCellAt=(t,n,r)=>{this.getRowAt(n)[t]=r};getRowAt=t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]);getRows=()=>this.cells;getCellBounds=t=>{let n=this.columnCount,r=this.rowCount,o=-1,i=-1;for(let a=0;a<this.rowCount;a++){let s=this.getRowAt(a),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),i=Math.max(i,a),n=Math.min(n,c),r=Math.min(r,a))}return{minX:n,minY:r,maxX:o,maxY:i}};merge=t=>{this.cells=this.getRows().concat(t.getRows())}};function mg(e){let n=Ke(e).TableGrid||Il,r=new n;e.tHead!==null&&r.merge(El(e.tHead.rows)),Array.from(e.tBodies).forEach(i=>{r.merge(El(i.rows))});let o=[];for(let i of Array.from(e.children))Vu(i)&&xi(i,"tr")&&o.push(i);return r.merge(El(o)),e.tFoot!==null&&r.merge(El(e.tFoot.rows)),r}function El(e){let t=new Il,n=[];for(let r=0;r<e.length;r++){let o=0;for(let i of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!Ps(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let a=o;a<o+i.colSpan;a++){ug(i)===0&&(n[a]=i,t.setCellAt(a,r,i));for(let s=r;s<r+ug(i);s++)Ps(t.getCellAt(a,s))||t.setCellAt(a,s,i)}o+=i.colSpan}for(let i=o;i<t.columnCount;i++){let a=n[i];a!==void 0&&!Ps(t.getCellAt(i,r))&&t.setCellAt(i,r,a)}}return t}function ug(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function Ps(e){return e!==void 0&&xi(e,"td")}function Or(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=Z0(e);if(r)return r}let n=hg(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),i=e.querySelector("desc"),a=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||i||a||s||ca(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if(ca(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return V0(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&gg(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function V0(e){return Rs(e)??null}function hg(e){let t=e.getAttribute("role");if(t!==null)return Wh.includes(t)||!gg(t)?null:t;let n=e.tagName.toLowerCase();return(Kh[n]??[]).find(o=>W0(e,o))||null}function W0(e,t){let n=_s[t],r=n?.selector;if(r&&Al(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(a=>Al(e,a.selector)&&a.conditions.every(c=>G0(e,c))):!1}function K0(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(cr(r)){let o=Ke(e),i=`#${pl(o,n)}`,a=fl(r,i);if(a)return a}}catch{}return ul(fe(e),n)}function G0(e,t){switch(t.type){case st.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case st.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case st.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>K0(e,r)!=null);case st.FORBIDDEN_ANCESTORS:return xo(e,t.selector)===null;case st.BOOLEAN_PROPERTY:return e[t.property]===t.value;case st.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case st.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=xo(n,t.tag);return r!==null&&hg(r)===t.role}case st.HAS_TABLE_COLUMN_DATA:{let n=xo(e,"table");return n===null?!1:t.hasData===pg(n,e)}case st.HAS_TABLE_ROW_DATA:{let n=xo(e,"table");return n===null?!1:t.hasData===fg(n,e)}default:return X0(t),!1}}function X0(e){throw new Error(`unexpected value ${e}!`)}function gg(e){return J0(e)||Q0(e)||Y0(e)}function Y0(e){return qh.has(e)}function J0(e){return Vh.has(e)}function Q0(e){return _s.hasOwnProperty(e)}function Z0(e){if(e.tagName!==vi&&e.tagName!==ki)return null;if(Ss(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===ki||e.tagName===vi&&e.closest("pre")?"code":null}var eS={[En.display]:[En.beforeDisplay,En.afterDisplay],[En.content]:[En.beforeContent,En.afterContent]},Wu=new Map,tS={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function nS(e,t){if(!Wu.has(e)){let n=tS[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();Wu.set(e,n)}return Wu.get(e)}var rS={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function vg(e,t,n){let r=rS[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function kg(e){let t={},n=Ke(e);if(!dn(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[En.beforeDisplay,n.getComputedStyle(e,"::before")],[En.afterDisplay,n.getComputedStyle(e,"::after")],[En.beforeContent,n.getComputedStyle(e,"::before")],[En.afterContent,n.getComputedStyle(e,"::after")]]);for(let i in En)if(isNaN(Number(i))){let a=En[i],s=nS(a,i),c=eS[a];c?((a===En.display||a===En.content)&&bg(r,s,a,i,t,e),yg(o.get(c[0]),s,c[0],"beforeContent",t),yg(o.get(c[1]),s,c[1],"afterContent",t)):bg(r,s,a,i,t,e)}return t}function bg(e,t,n,r,o,i){if(e){let a=e.getPropertyValue(t);a&&vg(r,a,i)&&(o[n]=a)}}function yg(e,t,n,r,o){if(e){let i=e.getPropertyValue(t);(t==="content"&&i&&i!=="none"&&i!=='""'&&i!=="''"||i&&vg(r,i))&&(o[n]=i)}}function Os(e){try{return e.id==="rover-widget-root"}catch{return!1}}function wi(e,t){let n=Ke(e);if(!dn(e,n))return!0;if(t&&yo.has(t))return!1;if(e.hasAttribute("hidden")||xo(e,"[hidden]")!==null||xo(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),i=1e6;return Math.abs(o.left)>i||Math.abs(o.top)>i}function Bs(e){return Br(e)&&e.classList.contains("jasmine_html-reporter")}function oS(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function xg(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function wg(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(cr(o)){let i=Ke(e),a=`#${pl(i,n)}`,s=fl(o,a);if(s)return s}}catch{}let r=fe(e);return ul(r,n)}function Ku(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let i=0;i<o.length;i+=8192){let a=iS(o,i,i+8192),s=Ku.apply(null,a);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function iS(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function Sg(e,t){return aS(e,t).concat(sS(e))}function aS(e,t){return Ku(Xu(e).map(r=>Cg(r)&&Br(r)?Tg(r,t):r))}function Tg(e,t){if(!e||wi(e,t))return[];if(!oS(e))return[e];let n=Array.from(e.children);return Ku(n.map(r=>Tg(r,t)))}function _g(e){let t=xg(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let i=wg(e,o);i&&i!==e&&n.push(i)}return n}function sS(e){let t=_g(e);for(let n of t)n["aria-owned-by"]=e;return t}function Eg(e){let t=Ke(e),n=fe(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=uS(e))return!1;let o=cS(e);return!o||!dS(o)||!pS(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:fS(e)}function cS(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(lS)||null}function lS(e){if(wi(e))return!1;let n=Ke(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function dS(e){let t=Ke(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function uS(e){let t=fe(e),n=Ke(e),r=n?.getComputedStyle;if(!r)return 0;let o=Nu(t,"*").filter(i=>i!==e&&!wi(i)).map(i=>parseInt(r.call(n,i)?.zIndex,10)).filter(i=>Number.isFinite(i)&&!isNaN(i));return o.length?Math.max(...o):0}function fS(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function pS(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!wi(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function mS(){try{let t=qt()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var Ig=mS();function hS(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function Gu(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=fe(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function Ag(e){return Gh.has(e)}function gS(e){let t=e.parentElement,n=fe(e);if(!(!t||t===n.body||t===n.documentElement))return Nn({targetElement:t,originatedFromParent:!0})}function dg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:s}){let c={nodeCategory:e.nodeType},l=t||hS(e),d=gS(e);if(d&&(c.parent=d),n){let oe=da[n];typeof oe=="number"?c.semanticRole=oe:c.semanticRole=n}if(l&&(c.isDisabled=!0),s){let{eventHandlerIndices:oe,isEditableRegion:pe}=s,me=ua(oe);me.length>0&&(c.eventHandlers=me),pe&&(c.isEditable=!0)}let m=yS(e);m&&Object.keys(m).length>0&&(c.ariaProperties=m);let f=vS(e);f&&Object.keys(f).length>0&&(c.ariaStates=f);let u=e.nodeName;u&&u.trim()&&(c.elementName=u);let h=kg(e);h&&Object.keys(h).length>0&&(c.computedStyles=h),wi(e)&&(c.isInvisible=!0);let b=bS(e,n);b&&Object.keys(b).length>0&&(c.preservedAttributes=b),e.draggable&&(c.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(c.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(c.supportsVerticalSwipe=!0);let v=e.getAttribute("class");if(v?.trim()){v.includes("handle")&&(c.isDragHandle=!0),c.supportsHorizontalSwipe||(v.includes("horizontal")||v.includes("carousel"))&&(c.supportsHorizontalSwipe=!0),c.supportsVerticalSwipe||(v.includes("vertical")||v.includes("feed"))&&(c.supportsVerticalSwipe=!0),v.includes("dismissible")&&(c.supportsDismissSwipe=!0),(v.includes("long-press")||v.includes("hold")||v.includes("press-hold"))&&(c.supportsLongPress=!0);let oe=c.inputType||c.preservedAttributes?.[Yn.type];oe==="submit"||oe==="reset"||oe==="clear"||(v.includes("submit")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"submit"}),v.includes("clear")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"clear"}),v.includes("reset")&&(c.preservedAttributes={...c.preservedAttributes||{},[Yn.type]:"reset"}))}let S=ES({element:e});S&&S.length>0&&(c.labelReferences=S);let k=e.tagName;if(k&&(c.elementTag=k),xS(e)&&(c.hasFocus=!0),!o){let oe=Yu({element:e,semanticRole:n,parentDisabled:l,excludeLabels:r});oe&&oe.length>0&&(c.childElements=oe)}let x=LS({element:e});x&&x.length>0&&(c.ownedElements=x);let C=jh(e);C&&(c.resourceLocator=C),(o||fa(e))&&(c.isFrameElement=!0),i&&i.length>0&&(c.frameContent=i),a&&(c.frameRealm=a);let _=e.type;_&&typeof _=="string"&&_.trim()&&(c.inputType=_);let I=e.placeholder;I&&typeof I=="string"&&I.trim()&&(c.placeholderText=I);let M=e.value;M&&typeof M=="string"&&M.trim()&&(c.elementValue=M);let G=IS({element:e,parentDisabled:t,semanticRole:n});if(G&&G.length>0&&(c.selectedOptions=G),xo(e,"select,datalist")&&(c.nearestSelectList=!0),Vu(e))c.elementNamespace=Is.HTML;else if(kS(e)){c.elementNamespace=Is.SVG,c.svgStructure=wS(e);let oe=SS(e);oe&&Object.keys(oe).length>0&&(c.preservedAttributes?c.preservedAttributes={...c.preservedAttributes,...oe}:c.preservedAttributes=oe)}let Y=r?void 0:AS({element:e});Y&&Y.length>0&&(c.associatedLabels=Y);let Z=e.scope;Z&&typeof Z=="string"&&Z.trim()&&(c.tableScope=Z);let ae=CS({element:e});ae&&(c.tableCaption=ae);let H=MS({element:e});H&&(c.figureCaption=H);let X=NS({element:e});return X&&(c.fieldsetLegend=X),xo(e,"table")&&(c.nearestTable=!0),c}function bS(e,t){let n={},r=new Set(Object.values(Yn).filter(s=>typeof s=="string")),o=new Set(Object.keys(gl).filter(s=>isNaN(Number(s)))),i=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),a=e?.attributes?Array.from(e.attributes):[];for(let s of a){let c=s.name,l=s.value;if(c==="id"&&(!t||!yo.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let u=Yn[d],h=i.has(d)?"true":l;n[u]=h}}}if(!n[Yn[Mn]]){let s=sg(e);s&&(n[Yn[Mn]]=s)}return n}function yS(e){return Rg(e,kl,bl)}function vS(e){return Rg(e,xl,null)}function Rg(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let i=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(i)),e.hasAttribute(s)&&l||c?.trim()?r[i]=c:s==="aria-level"&&Yh.includes(e.tagName.toLowerCase()?.trim())&&(r[i]=e.tagName.substring(1))}return r}function Br(e){return Cg(e)&&e.nodeType===Es.ELEMENT}function Rl(e){return e.nodeType===Es.TEXT}function Cg(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function Vu(e){return Br(e)&&(!e.namespaceURI||e.namespaceURI===Jh)}function kS(e){return Br(e)&&e.namespaceURI===Qh}function fa(e){return e.tagName==="IFRAME"}function xi(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function xo(e,t){if(e.closest)return e.closest(t);for(;!Al(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function Al(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function xS(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function wS(e){let t={},n=ko.text,r=ko.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),i=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:i?.alt?.trim()&&(t[r]=i.alt);let a=e.getAttribute("viewBox");a&&(t[ko.viewBox]=a);let s=e.querySelectorAll("path");s.length>0&&(t[ko.paths]=s.length,t[ko.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=ko[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function SS(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(la).filter(r=>typeof r=="number")){let r=la[n];if(r){let o=r;if(la.hasOwnProperty(o)&&e.hasAttribute(o)){let i=e.getAttribute(o);i?.trim()&&(t[n]=i)}}}return t}function TS({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!jn.includeFrameContents)return{nodes:[]};let r=null;try{let i=e.contentDocument||e.contentWindow?.document||null;r=i?.body||i?.documentElement||null}catch{return{nodes:[],capability:Dr.Opaque,unavailable:Pr.CrossOriginNoAgent}}if(!r)return{nodes:[],capability:Dr.SameOrigin,unavailable:Pr.NotReady};let o=[];for(let i of Xu(r))if(!(Bs(i)||Mg(i))){if(Br(i)){let a=i,s=Or(a),c=lr(a,s),{shouldCreate:l,shouldAnnotate:d}=Cl(c);if(l){d&&Ho(a);let m=Nn({targetElement:a,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=Yu({element:a,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(Rl(i)){let a=Ds(i);a&&o.push(a)}}return{nodes:o,capability:Dr.SameOrigin,unavailable:o.length>0?void 0:Pr.EmptyDom}}function _S(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function Xu(e){if(Os(e))return[];let t=Ke(e);if(Bh(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||hi()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(i=>!i.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function Yu({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let i of Xu(e))if(!(Bs(i)||Mg(i))){if(Br(i)){let a=i,s=Or(a),c=lr(a,s);if(fa(a)){Ho(a);let m=TS({frameElement:a,parentDisabled:n,excludeLabels:r}),f=Nn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m.nodes,frameRealm:_S(zo(a),m),elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=Cl(c);if(l){d&&Ho(a);let m=Nn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=Yu({element:a,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(Rl(i)){let a=Ds(i);a&&o.push(a)}}return o}function ES({element:e}){let t=xg(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=wg(e,r);if(!(!o||o===e)&&o){let i=Or(o),a=Nn({targetElement:o,semanticRole:i,elementContext:lr(o,i)});n.add(a)}}return Array.from(n)}function IS({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>Nn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:lr(o,"option")})):xi(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>Nn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:lr(o,"option")})))),r}function AS({element:e}){if(Xh.includes(e.tagName)){let t=fe(e),n=Nu(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&RS(o,e)).map(o=>{let i=Or(o),a=Nn({targetElement:o,semanticRole:i,excludeLabels:!0,elementContext:lr(o,i)});r.add(a)}),Array.from(r)}}function RS(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function CS({element:e}){if(xi(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function MS({element:e}){if(xi(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function NS({element:e}){if(xi(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Or(t);return Nn({targetElement:t,semanticRole:n,elementContext:lr(t,n)})}}}function LS({element:e}){let t=new Set,n=_g(e);for(let r of n){let o=Or(r),i=Nn({targetElement:r,semanticRole:o,elementContext:lr(r,o)});t.add(i)}return Array.from(t)}function Cl(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}=e,a=n.length>0&&n.some(m=>tg.has(m)),c=!!t||!i&&(o||r),l=!!t&&yo.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||a)}}function Mg(e){if(!Br(e))return!1;let t=e;if(Os(t))return!0;let n=t.tagName;return yl.has(n)?!0:n===vi||n===ki?DS(t):!1}function DS(e){let t=Ke(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function Ju(e,t={}){return Lh(t),lg(),ag(),cg(e,{includeShadow:!0,includeIframes:jn.clearIframes}),Ns.initialize(jn.semanticIdStart),{rootNodes:Ng(e),semanticNodes:jo}}function Ng(e){let t=[];try{let n=fe(e),o=Array.from(n.querySelectorAll(Ig)).filter(i=>!wi(i)&&Eg(i));if(o.length===0)t=pa({targetElement:e});else if(o.length===1){let i=o[0];i.contains(e)?t=pa({targetElement:e}):e.contains(i)?t=pa({targetElement:i}):t=pa({targetElement:e})}else t=pa({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function pa({targetElement:e,parentNode:t}){if(Bs(e)||Lg(e))return[];let n=Or(e),r=lr(e,n);if(fa(e))return[OS({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:i,shouldAnnotate:a}=Cl(r);i&&(a&&Ho(e),o=Nn({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=jo[o],c=PS(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function PS(e,t,n){let r=[],o=Sg(e,t);for(let i of o)if(!(Bs(i)||Lg(i))){if(Br(i)){let a=pa({targetElement:i,parentNode:n});r.push(...a)}else if(Rl(i)&&zS(i,n)){let a=Ds(i);a&&r.push(a)}}return r}function OS({frameElement:e,role:t,parentNode:n,elementContext:r}){Ho(e);let o=BS(e),i=US(zo(e),o);return Nn({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o.nodes,frameRealm:i,elementContext:r})}function BS(e){if(!jn.includeFrameContents)return{nodes:[]};let t=FS(e);if(t.kind==="content"){let n=Ng(t.rootElement);return{nodes:n,capability:Dr.SameOrigin,unavailable:n.length>0?void 0:Pr.EmptyDom}}return t.reason==="cross_origin_blocked"?{nodes:[],capability:Dr.Opaque,unavailable:Pr.CrossOriginNoAgent}:{nodes:[],capability:Dr.SameOrigin,unavailable:Pr.NotReady}}function US(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function FS(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function zS(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?As[t.semanticRole]:t.semanticRole;if(Ag(r))return!1}return!0}function Lg(e){if(!Br(e))return!1;let t=e;if(Os(t))return!0;let n=t.tagName;return yl.has(n)?!0:n===vi||n===ki?HS(t):!1}function HS(e){let t=Ke(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function Nl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function jS(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function ha(e,t,n){let r=fe(e,t),o=xe(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(Nl(r)===e)return!0;try{let{x:i,y:a}=jS(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||xr(e,o)||Lr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return Nl(r)===e}function Us(e,t){let n=Ke(e),r=Lr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function Ti(e,t,n="insertText"){let r=Ke(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),i=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new i("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function $S(e){let n=Ke(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),i=e.dispatchEvent(new n("keypress",r)),a=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&i&&a)}}function Si(e){if(!e)return!1;let t=Ke(e);if(Lr(e,t))return!e.disabled&&!e.readOnly;if(xr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function Qu(e){let t=Ke(e);if(!e||!dn(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function qS(e,t){let n=e.getRootNode();return cr(n)?n:fe(e)??t}function VS(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),i=Ke(o);dn(o,i)&&n.push(o)}return n}function Bg(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(Si(e))return{kind:"input",el:e,via:"self-input"};if(Qu(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=fe(e)??t,r=xe(n),o=qS(e,n);if(Ph(e,r)){let c=e.control;if(Si(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(Si(d))return{kind:"input",el:d,via:"label.for"}}}let i=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(i)for(let c of VS(o,i)){if(Si(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(Qu(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(Si(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let a=e.querySelector?.("input,textarea");if(Si(a))return{kind:"input",el:a,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(Si(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(Qu(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function ma(e,t,n,r=!1){let o=fe(e,t),a=xe(o,n).getSelection?.();if(!a)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),a.removeAllRanges(),a.addRange(s),!0}catch{return!1}}function _i(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var Ml=e=>String(e??"").replace(/\s+/g," ").trim(),Ug=new MessageChannel,Fg=[];Ug.port1.onmessage=()=>{let e=Fg.shift();e&&e()};function Dg(){return new Promise(e=>{Fg.push(e),Ug.port2.postMessage(0)})}async function Pg(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Dg():await new Promise(i=>{try{t.requestAnimationFrame(()=>i())}catch{Dg().then(i)}})}function WS(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function Og(e,t,n,r){let o=fe(e,t),a=xe(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=WS(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new a("keydown",m)),e.dispatchEvent(new a("keypress",m)),e.dispatchEvent(new a("keyup",m))}}async function zg(e,t,n,r,o){let i=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let a=String(e.value??""),s=fe(e,t),c=xe(s,n),l=ha(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,u=m&&i.length>0&&i.length<=f;Us(e,i),Ti(e,i,"insertReplacementText"),u&&Og(e,s,c,i),await Pg(s,c,d);let h=String(e.value??""),b=Ml(a),v=Ml(h),S=Ml(i),k=b===S,x=v===S,C=h!==a,_=i.length>0&&!k&&h===a,I=1;if(!k&&!x&&!C){I=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let Z=!1;try{s.execCommand?.("selectAll",!1,void 0),Z=!!s.execCommand?.("insertText",!1,i)}catch{Z=!1}if(!Z)try{Us(e,i)}catch{}try{Ti(e,i,"insertReplacementText")}catch{}u&&Og(e,s,c,i),await Pg(s,c,d),h=String(e.value??"")}let G=Ml(h)===S,O=h!==a;_=i.length>0&&!k&&h===a;let Y=k||G||O;return{success:Y,method:"type-native-setter",details:`focus=${l};attempts=${I};settleFrames=${d};beforeLen=${a.length};afterLen=${h.length};changed=${O};alreadyCorrect=${k};nowCorrect=${G};reverted=${_};keyFallback=${u}`,allowFallback:Y?void 0:!0}}function KS(e,t,n){let o=Ke(e).InputEvent||InputEvent,i=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(i),defaultPrevented:i.defaultPrevented}}function Hg(e,t,n,r){let o=fe(e,n),i=xe(o,r),a=i.InputEvent||InputEvent,s=i.Event||Event,c=String(t??""),l=_i(e),d=ha(e,o,i),m=ma(e,o,i,!0),f=KS(e,c,"insertText"),u=!1,h="execCommand",b=!1,v=()=>{b=!0};try{e.addEventListener("input",v,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{u=!!o.execCommand?.("insertText",!1,c)}catch{}if(!u)try{let x=i.getSelection?.(),C=x&&x.rangeCount?x.getRangeAt(0):null;if(!C||!e.contains(C.commonAncestorContainer)){ma(e,o,i,!0);let _=i.getSelection?.();C=_&&_.rangeCount?_.getRangeAt(0):null}C&&(C.insertNode(o.createTextNode(c)),C.collapse(!1),x?.removeAllRanges(),x?.addRange(C),u=!0,h="range")}catch{}if(u&&!b){try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",v,{capture:!0})}catch{}let S=_i(e);return{success:S!==l||!!c&&S.includes(c),method:`type-contenteditable-${h}`,details:`focus=${d};selectedWithin=${m};inserted=${u}`}}function jg(e){let{canceled:t}=$S(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function $g(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=fe(e,t),o=xe(r,n),i=String(e.value??""),a=ha(e,r,o);Us(e,""),Ti(e,"","deleteByCut");let s=String(e.value??""),c=s!==i;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${a};beforeLen=${i.length};afterLen=${s.length};changed=${c}`}}function qg(e,t,n){let r=fe(e,t),o=xe(r,n),i=_i(e),a=ha(e,r,o),s=ma(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let u=o.getSelection?.(),h=u&&u.rangeCount?u.getRangeAt(0):null;(!h||!e.contains(h.commonAncestorContainer))&&ma(e,r,o,!1);let b=o.getSelection?.(),v=b&&b.rangeCount?b.getRangeAt(0):null;v&&(v.deleteContents(),v.collapse(!1),b?.removeAllRanges(),b?.addRange(v),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}Ti(e,"","deleteByCut");let d=_i(e),m=d!==i;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${a};selectedWithin=${s};cleared=${c};changed=${m}`}}function Vg(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(cr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var GS=1,XS=9,YS=11,ef="application/gdoc",ga="text/html",Ll="text/plain";function JS(e){return!!e&&typeof e=="object"&&e.nodeType===XS}function Wg(e){return!!e&&typeof e=="object"&&e.nodeType===GS}function QS(e){return!!e&&typeof e=="object"&&e.nodeType===YS&&typeof e.host=="object"&&typeof e.mode=="string"}function Kg(e){return Wg(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function Zu(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function ZS(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function eT(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,i=n.requireOwnerDocument,a=[e],s=new WeakSet;for(;a.length;){let c=a.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(JS(c)){let m=c.documentElement||c.body;m&&a.push(m);continue}if(QS(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)a.push(m[f]);continue}if(!Wg(c))continue;let l=c;if(i&&l.ownerDocument!==i)continue;let d=l.getAttribute?.(Mn);if(d&&Cs(d)===t)return l;if(r)try{let m=ZS(l);m&&a.push(m)}catch{}if(o&&Kg(l))try{let m=xs(l);m&&a.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)a.push(m)}return null}function dr(e,t,n={}){let r=Zu(t);if(!r)return null;let o=Ls(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:eT(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function tf(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function Gg(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=Zu(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=Zu(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return Gg(t)}return[]}function ba(e,t){let n=Gg(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,i=[];for(let a=0;a<n.length;a++){let s=n[a],c=n.length===1,l=dr(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!Kg(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};let d=null;try{d=xs(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};i.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:[]}}function Xg(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function tT(e){let t={...Uo,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var nT=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function Dl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let a of r){let s=Number(t[a]);Number.isFinite(s)&&(n[a]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=tT(n),i={};for(let a of nT)n[a]!==void 0&&o[a]!==void 0&&(i[a]=o[a]);return Object.keys(i).length?i:void 0}function rT(){return Date.now()}function un(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-rT())}async function Yg(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=un(n);r<=0||r<e+40||await bn(e,t)}async function ya(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(i=>({ok:!0,value:i})),(async()=>(await bn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var bn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let i=Number(r);if(!Number.isFinite(i)||i<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,i));return}let a=Date.now();for(;Date.now()-a<i;)await n()}})();var oT=3e4;function Jg(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var nf=class extends Error{url;status;statusText;bodySnippet;constructor(t,n){super(t),this.name="FetchFileError",this.url=n.url,this.status=n.status,this.statusText=n.statusText,this.bodySnippet=n.bodySnippet}};function iT(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function aT(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function rf(e,t){try{let r=(t??window).URL||URL,i=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(i?.[1]){let s=decodeURIComponent(i[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function Qg(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function sT(e,t={},n,r=fetch){let o=new AbortController,i=oT,a=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await bn(i,n),l)return;a=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{a=!0,o.abort()},i);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let u=await l.text().catch(()=>"");throw new nf(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:u.slice(0,256)})}let d=await l.arrayBuffer(),m=iT(l.headers.get("content-type")),f=aT(l.headers.get("content-disposition"))||rf(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function Zg(e,t,n){return await sT(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}var Vt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var eb={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var z;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(z||(z={}));var cT=new Set(Object.values(z)),va=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],lT=40;function tb(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,lT)}var ur;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(ur||(ur={}));var nb={[ur.Unknown]:"unknown",[ur.React]:"react",[ur.Vue]:"vue",[ur.Angular]:"angular",[ur.Svelte]:"svelte",[ur.JQuery]:"jquery"},of={react:ur.React,vue:ur.Vue,angular:ur.Angular,svelte:ur.Svelte,jquery:ur.JQuery},fn;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(fn||(fn={}));var EL={[fn.Other]:"other",[fn.Inline]:"inline",[fn.Delegated]:"delegated",[fn.React]:"react",[fn.Vue]:"vue",[fn.Angular]:"angular",[fn.Svelte]:"svelte",[fn.JQuery]:"jquery",[fn.Native]:"native"},IL={inline:fn.Inline,delegated:fn.Delegated,react:fn.React,vue:fn.Vue,angular:fn.Angular,svelte:fn.Svelte,jquery:fn.JQuery,other:fn.Other,native:fn.Native},Je;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Je||(Je={}));var Pl={[z.click_element]:Je.click_element,[z.type_into_element]:Je.type_into_element,[z.type_and_enter]:Je.type_and_enter,[z.select_dropdown_value]:Je.select_dropdown_value,[z.clear_element]:Je.clear_element,[z.focus_element]:Je.focus_element,[z.hover_element]:Je.hover_element,[z.right_click_element]:Je.right_click_element,[z.double_click_element]:Je.double_click_element,[z.long_press_element]:Je.long_press_element,[z.drag_element]:Je.drag_element,[z.drag_and_drop]:Je.drag_and_drop,[z.swipe_element]:Je.swipe_element,[z.adjust_slider]:Je.adjust_slider,[z.describe_images]:Je.describe_images,[z.scroll_to_element]:Je.scroll_to_element,[z.paste_text]:Je.paste_text,[z.check_field_validity]:Je.check_field_validity,[z.select_text]:Je.select_text,[z.mouse_wheel]:Je.mouse_wheel,[z.copy_text]:Je.copy_text,[z.upload_file]:Je.upload_file,[z.go_back]:Je.go_back,[z.go_forward]:Je.go_forward,[z.refresh_page]:Je.refresh_page,[z.press_key]:Je.press_key,[z.scroll_page]:Je.scroll_page,[z.wait_action]:Je.wait_action,[z.wait_for_element]:Je.wait_for_element,[z.pinch_zoom]:Je.pinch_zoom,[z.goto_url]:Je.goto_url,[z.google_search]:Je.google_search,[z.open_new_tab]:Je.open_new_tab,[z.switch_tab]:Je.switch_tab,[z.close_tab]:Je.close_tab,[z.solve_captcha]:Je.solve_captcha,[z.answer_task]:Je.answer_task,[z.dispatch_pointer_path]:Je.dispatch_pointer_path,[z.network_run_recipe]:Je.network_run_recipe,[z.rover_external_read_context]:Je.rover_external_read_context,[z.rover_external_act_context]:Je.rover_external_act_context},rb=Object.fromEntries(Object.entries(Pl).map(([e,t])=>[t,e]));function Ol(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var Wt;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})(Wt||(Wt={}));var In;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(In||(In={}));function ib(e){if(!e)return In.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return In&&t in In?In[t]:In.CENTER}function af(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function ka(e,t){if(!e)return"";let n=fe(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${af(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let i=o.tagName.toLowerCase();if(o.id){i+=`#${af(o.id)}`,r.unshift(i);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(af);if(s.length)i+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;i+=`:nth-of-type(${d})`}}}r.unshift(i),o=o.parentElement}return r.join(" > ")}function Ei(e){return e.scrollingElement||e.documentElement||e.body}function Bl(e,t,n,r,o){let i=fe(e,t),a=xe(i,n),s=Ei(i),c=e===i.documentElement||e===i.body||e===s,l=c?s:e,d=c?a.innerHeight:l.clientHeight,m=c?a.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case Wt.DOWN:{l.scrollTop+=f;break}case Wt.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case Wt.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case Wt.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let u=l.scrollHeight,h=c?a.innerHeight:l.clientHeight,b=u-h;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=b-5}}function dT(e,t,n){let r=fe(e,t),o=xe(r,n),i=Ei(r),a=e;for(;a&&a!==r.body&&a!==r.documentElement;){let c=o.getComputedStyle(a).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&a.scrollHeight>a.clientHeight+5)return a;a=a.parentElement}return i}function ob(e,t,n){let r=fe(e,t),o=xe(r,n),i=Ei(r),a=e===r.documentElement||e===r.body||e===i,s=a?i:e,c=s.scrollHeight,l=a?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function sf(e,t,n,r){let o=fe(e,t),i=xe(o,n),a=Ei(o),s=dT(e,o,i),c=s===o.documentElement||s===o.body||s===a,l=c?a:s,d=e.getBoundingClientRect(),m=c?new(i.DOMRect||DOMRect)(0,0,i.innerWidth,i.innerHeight):s.getBoundingClientRect(),f=c?i.innerHeight:s.clientHeight,u=24,h=d.top-m.top,b=l.scrollTop+h,v;switch(r){case In.START:v=b-u;break;case In.END:v=b+d.height-f+u;break;case In.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:ob(l,o,i)};d.top<m.top?v=b-u:v=b+d.height-f+u;break}case In.CENTER:default:v=b-f/2+d.height/2;break}let S=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(v,S)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:ob(l,o,i)}}function ab(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function sb(e){let t=[];for(let n of va){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=ab(i);a!=null&&t.push(a)}continue}let o=ab(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function uT(e){return sb(e).length>0}function fT(e){let t=sb(e);return t.length?t[0]:null}var pT=new Set([z.click_element,z.type_into_element,z.type_and_enter,z.hover_element,z.right_click_element,z.double_click_element,z.press_key,z.scroll_page,z.scroll_to_element,z.mouse_wheel,z.drag_element,z.drag_and_drop,z.swipe_element,z.long_press_element,z.adjust_slider,z.select_dropdown_value,z.clear_element,z.focus_element,z.check_field_validity,z.select_text,z.copy_text,z.paste_text,z.pinch_zoom,z.upload_file,z.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(Ou,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],i=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=i}async function a(g){let D={};try{let N=rb[g.opcode];if(!N)throw new Error(`Unknown tool opcode: ${g.opcode}`);let R={...g.call,name:N};D=(await b({tabIndex:g.tabIndex,call:R,elementData:h(g.elementData),payload:g.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(N){D={success:!1,error:N?.message||String(N),allowFallback:!0}}return D}try{Object.defineProperty(i,"actions",{value:Object.freeze({execute:a}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(g){let D=g,N=D[d];if(!N||typeof N!="object"){N={handlers:new Set,installed:!1};try{Object.defineProperty(D,d,{value:N,enumerable:!1,configurable:!1})}catch{D[d]=N}}if(!N.installed){N.installed=!0,g.addEventListener("message",R=>{if(R.source===g)for(let T of Array.from(N.handlers))try{T(R)}catch{}},!0);try{g.addEventListener("pagehide",()=>{let T=g[l]?.pending;if(T)for(let[w,E]of T){try{E.cancelTimeout()}catch{}E.reject(new Error("pagehide: upload bytes request canceled")),T.delete(w)}},!0)}catch{}}return N}function f(g){let D=g,N=D[l];if(!N||typeof N!="object"){N={pending:new Map};try{Object.defineProperty(D,l,{value:N,enumerable:!1,configurable:!1})}catch{D[l]=N}m(g).handlers.add(T=>{let w=T?.data;if(!w||typeof w!="object"||w.type!==c)return;let E=String(w.requestId||"");if(!E)return;let U=N.pending.get(E);if(!U)return;N.pending.delete(E);try{U.cancelTimeout()}catch{}if(!w.ok){U.reject(new Error(w.error||"Failed to get bytes"));return}let J=w.bytes;if(!(J instanceof ArrayBuffer)){U.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof U.expectedByteLength=="number"&&J.byteLength!==U.expectedByteLength){U.reject(new Error(`Byte length mismatch: got=${J.byteLength}, expected=${U.expectedByteLength}`));return}U.resolve(J)})}return N}function u(g,D,N,R=9e4){let T=g.__ROVER_UPLOAD_BYTES__||g.rover?.uploadBytes||g.rtrvr?.uploadBytes;if(typeof T=="function")return Promise.resolve().then(()=>T({token:D,byteLength:N,timeoutMs:R})).then(K=>{if(K instanceof ArrayBuffer)return K;if(K&&K.buffer instanceof ArrayBuffer)return K.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let w=f(g),E=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,U=Math.max(1e3,Math.min(Number(R)||9e4,18e4)),J=ml(g)||document;return new Promise((K,Q)=>{let ne=!1,se=!1,ke=()=>{se=!0};(async()=>{await bn(U,J),!(se||ne)&&(w.pending.delete(E),ne=!0,Q(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),w.pending.set(E,{cancelTimeout:ke,expectedByteLength:N,resolve:Te=>{ne||(ne=!0,ke(),K(Te))},reject:Te=>{ne||(ne=!0,ke(),Q(Te))}}),g.postMessage({type:s,requestId:E,token:D,byteLength:N},"*")})}function h(g){if(g)return{frameworks:g.frameworks?g.frameworks.map(D=>nb[D]).filter(D=>D&&D!=="unknown"):[],listenersRaw:g.listenersRaw??"",role:g.role??void 0,pattern:g.pattern??void 0,value:g.value??void 0}}async function b({tabIndex:g,call:D,elementData:N,payload:R}){let T=(()=>{try{return Nr()?.top?.document||document}catch{return document}})(),w=D.args,E=uT(w),U,J,K=[],Q=[],ne=[];try{({doc:U,win:J,iframePath:K,resolvedPath:Q,unresolvedPath:ne}=ba(T,w.iframe_id))}catch{if(w.iframe_id!=null){let Ae=`Cannot access iframe ${w.iframe_id} (cross-origin or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:Ae,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Ae,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id}}}}]}U=document,J=xe(U)}if(w.iframe_id!=null&&ne.length>0&&!E){let ze=`iframe_id unresolved: remaining=${ne.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:ze,allowFallback:!1,details:`requested=${K.join(">")||"(none)"} resolved=${Q.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:ze,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id,requested_path:K,resolved_path:Q,unresolved_path:ne}}}}]}let se=D.name,ke=fT(w),Te=ke?dr(U,ke):null,Ye=Te?.ownerDocument??null,De;if(!pT.has(se))De={success:!1,error:`Tool not promotable to main: ${se}`,allowFallback:!0};else{let Ae=Ye??U,ze=xe(Ae,J);De=await S(se,Te,w,N,Ae,ze,R)}return[{name:D.name,args:D.args,response:De}]}async function v(g,D,N){try{let R=g.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",w=g[R]?.scroll?.execute;if(typeof w!="function")throw new Error("main-world scroll detector not available");let E=N?.doc||ml(g)||document,U=Math.max(250,Math.min(Number(N?.timeoutMs??3500),8e3)),J=await ya(Promise.resolve().then(()=>w(D)),U,E);if(!J.ok)throw new Error("scroll detector timeout");return J.value}catch(R){throw new Error(R?.message||"main-world scroll detector not available")}}async function S(g,D,N,R,T,w,E){let U=se=>({success:se.success,error:se.success?void 0:se.details||"Action failed",allowFallback:se.success?void 0:se.allowFallback??!0}),J=g===z.press_key||g===z.scroll_page||g===z.drag_and_drop||g===z.pinch_zoom;if(!D&&!J)return U({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let K=new Set([z.type_into_element,z.type_and_enter,z.clear_element,z.focus_element,z.select_text,z.check_field_validity]),Q=D,ne=fe(Q,T);if(Q&&K.has(g)){let se=Bg(Q,ne);(se.kind==="input"||se.kind==="contenteditable")&&(Q=se.el)}try{switch(g){case z.click_element:return U(_(D,T,w,R));case z.double_click_element:return U(sn(D,T,w));case z.right_click_element:return U(mn(D,T,w));case z.hover_element:return U(await X(D,T,w,R,N.duration));case z.type_into_element:return U(await Fe(Q,T,w,N.text,R));case z.type_and_enter:return U(await Pe(Q,T,w,N.text,R));case z.clear_element:return U(await ve(Q,T,w,R));case z.focus_element:return U(B(Q,T,w));case z.select_dropdown_value:return U(W(D,T,w,N.value,R));case z.adjust_slider:return U(F(D,T,w,R?.value??N.value,R));case z.check_field_validity:return U(ee(Q,T,w));case z.select_text:return U(ue(Q,T,w,N.start_offset,N.end_offset));case z.scroll_page:return U(await Me(D,T,w,N));case z.scroll_to_element:return U(await he(D,T,w,N));case z.mouse_wheel:return U(lt(D,T,w,N.delta_x,N.delta_y));case z.drag_element:return U(await ot(D,T,w,N,R));case z.drag_and_drop:return U(await He(N,D,T,w));case z.swipe_element:return U(await Ht(D,T,w,N));case z.long_press_element:return U(await dt(D,T,w,N.duration));case z.pinch_zoom:return U(await Ve(D,T,w,N));case z.press_key:return U(Ne(N.key,N.modifiers,D,T,w));case z.copy_text:return U(await Xe(D,T,w));case z.paste_text:return U(await Dt(D,T,w,R));case z.upload_file:return U(await en(N,T,w,E,D,R));case z.dispatch_pointer_path:return U(await tn(N,T,w));default:return U({success:!1,method:"unhandled",details:`Unhandled ${g}`,allowFallback:!0})}}catch(se){return U({success:!1,method:"exception",details:se?.message||"exception",allowFallback:!0})}}function k(g){let D=new Map;if(!g)return D;let N=g.trim();if(!N)return D;let R=bi(N);if(R){for(let{id:T,mask:w}of R.entries){let E=bo[T];if(!E)continue;let U=new Set(Ol(w)),J=D.get(E);if(J)for(let K of U)J.add(K);else D.set(E,U)}return D}return D}function x(g,...D){return g?D.some(N=>g.has(N)):!1}function C(g,D){let N=k(D?.listenersRaw),R=new Set;for(let[,K]of N)for(let Q of K)(Q==="react"||Q==="vue"||Q==="angular"||Q==="svelte"||Q==="jquery")&&R.add(Q);let T=new Set;for(let[K,Q]of N)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(K))for(let ne of Q)T.add(ne);let w=R.size>0||[...T].some(K=>["react","vue","angular","svelte","jquery"].includes(K)),E=x(N.get("click"),"delegated"),U=x(N.get("input"),"delegated")||x(N.get("change"),"delegated")||x(N.get("keydown"),"delegated"),J=D?.role||Rs(g)||g.getAttribute("role");return{sourcesByType:N,fws:R,isFrameworkElement:w,delegatedClick:E,delegatedInput:U,role:J}}function _(g,D,N,R){let T=C(g,R),w=fe(g,D),E=xe(w,N);Mt(g,w,E),R?.pattern==="hover-activate"&&X(g,w,E,R,120);let U=T.fws.has("react")||x(T.sourcesByType.get("click"),"react"),J=T.fws.has("vue")||x(T.sourcesByType.get("click"),"vue"),K=T.fws.has("angular")||x(T.sourcesByType.get("click"),"angular"),Q=T.fws.has("svelte")||x(T.sourcesByType.get("click"),"svelte"),ne=T.fws.has("jquery")||x(T.sourcesByType.get("click"),"jquery");return Sn(()=>I(g,w,E),()=>M(g,w,E),()=>U?O(g,w,E):null,()=>J?Y(g,w,E):null,()=>K?Z(g,w,E):null,()=>Q?ae(g,w,E):null,()=>ne?H(g,w,E):null)}function I(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent,{x:U,y:J}=G(g,R,T),K={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:U,clientY:J,button:0,buttons:1};return g.focus?.({preventScroll:!0}),[new w("pointerover",K),new w("pointerenter",{...K,bubbles:!1}),new E("mouseover",K),new E("mouseenter",{...K,bubbles:!1}),new w("pointerdown",K),new E("mousedown",K),new w("pointerup",{...K,buttons:0}),new E("mouseup",{...K,buttons:0}),new E("click",{...K,buttons:0})].forEach(ne=>g.dispatchEvent(ne)),{success:!0,method:"pointer-mouse-click"}}function M(g,D,N){let R=fe(g,D),T=xe(R,N);try{if(g instanceof HTMLAnchorElement){let w=g.getAttribute("target");try{g.setAttribute("target","_self"),g.click()}finally{w===null?g.removeAttribute("target"):g.setAttribute("target",w)}}else g.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function G(g,D,N){let R=fe(g,D),T=g.getBoundingClientRect(),w=[{x:T.left+T.width/2,y:T.top+T.height/2},{x:T.left+4,y:T.top+4},{x:T.right-4,y:T.top+4},{x:T.left+4,y:T.bottom-4},{x:T.right-4,y:T.bottom-4}],E=null;for(let U=0;U<w.length;U++){let J=w[U],K=R.elementFromPoint(J.x,J.y);if(U===0&&(E=K),K&&Vg(g,K))return{...J,hit:K,ok:!0}}return{...w[0],hit:E,ok:!1}}function O(g,D,N){let R=fe(g,D),T=xe(R,N);try{let w=br(g);if(!w)return{success:!1,method:"react-no-fiber"};let E=yr(w),U=E.onClick||E.onClickCapture;return U?(U(Nt("click",g,R,T)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function Y(g,D,N){let R=fe(g,D),w=xe(R,N).MouseEvent||MouseEvent;try{let E=Ar(g);if(!E)return{success:!1,method:"vue-none"};let U=Jr(E);return U.click?(U.click(new w("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):E.$emit?(E.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function Z(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.MouseEvent||MouseEvent;try{let E=T.ng?.getZone?.()||null;return E?.run?(E.run(()=>g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0})),g.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function ae(g,D,N){let R=fe(g,D),w=xe(R,N).MouseEvent||MouseEvent;try{let E=g.getBoundingClientRect(),U={bubbles:!0,cancelable:!0,view:g.ownerDocument?.defaultView||window,clientX:E.left+E.width/2,clientY:E.top+E.height/2};return g.dispatchEvent(new w("mousedown",U)),g.dispatchEvent(new w("mouseup",U)),g.dispatchEvent(new w("click",U)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function H(g,D,N){let R=fe(g,D),T=xe(R,N);try{return T.jQuery?.(g)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function X(g,D,N,R,T=500){let w=Math.min(Math.max(0,Number(T)||500),3e4),E=fe(g,D),U=xe(E,N),J=C(g,R);Mt(g,E,U);let K=U.PointerEvent||PointerEvent,Q=U.MouseEvent||MouseEvent,ne=g.getBoundingClientRect(),se=ne.left+ne.width/2,ke=ne.top+ne.height/2;if(J.fws.has("react")){let De=br(g),Ae=De?yr(De):{};Ae.onMouseEnter?.(Nt("mouseenter",g,E,U)),Ae.onPointerEnter?.(Nt("pointerenter",g,E,U))}else if(J.fws.has("vue")){let De=Ar(g),Ae=De?Jr(De):{};Ae.mouseenter?.(new Q("mouseenter",{bubbles:!0})),Ae.mouseover?.(new Q("mouseover",{bubbles:!0}))}let Te={bubbles:!0,cancelable:!0,composed:!0,view:U,clientX:se,clientY:ke};return[new K("pointerover",Te),new K("pointerenter",{...Te,bubbles:!1}),new Q("mouseover",Te),new Q("mouseenter",{...Te,bubbles:!1})].forEach(De=>g.dispatchEvent(De)),await bn(w,E),{success:!0,method:"hover-seq"}}async function re(g,D,N=1){await Promise.resolve();for(let R=0;R<N;R++)g.hidden?await Fn():await new Promise(T=>{try{D.requestAnimationFrame(()=>T())}catch{Fn().then(T)}})}let oe=g=>String(g??"").replace(/\s+/g," ").trim();function pe(g){try{if("value"in g)return String(g.value??"")}catch{}return""}function me(g){try{return typeof _i=="function"?_i(g):oe(g.textContent)}catch{return""}}function Se(g,D){if(!(D.isFrameworkElement||D.delegatedInput))return!1;let N=String(g??"").length;return N>0&&N<=140}async function Fe(g,D,N,R,T){let w=C(g,T),E=fe(g,D),U=xe(E,N);if(Mt(g,E,U),xr(g,U)||Lr(g,U)){let K=Se(String(R??""),w),Q=await zg(g,E,U,R,{settleFrames:E.hidden?1:2,useKeyFallback:K,keyFallbackMaxLen:140});return{success:Q.success,method:Q.method,details:Q.details,allowFallback:!Q.success}}if(g.isContentEditable===!0||w.role==="textbox"&&!("value"in g)){let K=me(g),Q=Hg(g,R,E,U);await re(E,U,E.hidden?1:2);let ne=me(g),se=!1;if(String(R??"").length>0&&ne===K){se=!0;try{ha(g,E,U),ma(g,E,U,!0);try{E.execCommand?.("insertText",!1,String(R??""))}catch{}Ti(g,String(R??""),"insertText")}catch{}await re(E,U,E.hidden?1:2)}let ke=me(g),Te=ke!==K||!!String(R??"")&&ke.includes(String(R??""));return{success:Te,method:Q.method,details:`${Q.details};beforeLen=${K.length};afterLen=${ke.length};reverted=${ne===K};fallback=${se}`,allowFallback:Te?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function Pe(g,D,N,R,T){let w=fe(g,D),E=xe(w,N),U=await Fe(g,w,E,R,T);if(!U.success)return U;let J=jg(g);return{success:!0,method:"type+enter",details:`${U.details};enter=${J.method}`}}async function ve(g,D,N,R){let T=fe(g,D),w=xe(T,N),E=w.Event||Event;if(Mt(g,T,w),xr(g,w)||Lr(g,w)){let J=pe(g),K=$g(g,T,w);if(await re(T,w,T.hidden?1:2),pe(g)===J&&J.length>0){try{Us(g,""),Ti(g,"","deleteByCut")}catch{}await re(T,w,T.hidden?1:2)}let se=pe(g),ke=se.length===0||se!==J;return{success:K.success,method:K.method,details:K.details,allowFallback:!K.success}}if(g.isContentEditable===!0||C(g,R).role==="textbox"&&!("value"in g)){let J=qg(g,T,w);return await re(T,w,T.hidden?1:2),{success:J.success,method:J.method,details:J.details,allowFallback:!J.success}}if("value"in g){try{g.value=""}catch{}return g.dispatchEvent(new E("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new E("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function B(g,D,N){try{let R=fe(g,D),T=xe(R,N),w=T.FocusEvent||FocusEvent;return Mt(g,R,T),g.focus?.({preventScroll:!0}),g.dispatchEvent(new w("focus",{bubbles:!0})),g.dispatchEvent(new w("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(R){return{success:!1,method:"focus",details:R.message,allowFallback:!0}}}function W(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.Event||Event;if(!Oh(g,E))return{success:!1,method:"select",details:"target not select",allowFallback:!0};Mt(g,w,E),g.focus?.({preventScroll:!0});let J=Array.from(g.options).find(se=>se.value===R||se.text.trim()===R.trim());if(!J)return{success:!1,method:"select",details:`Option not found: ${R}`,allowFallback:!0};J.selected=!0;let K=Object.getPrototypeOf(g),Q=Object.getOwnPropertyDescriptor(K,"value");if(Q?.set?Q.set.call(g,J.value):g.value=J.value,g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let se=br(g);if(se){let ke=yr(se);if(ke.onChange){let Te=Nt("change",g,w,E);Te.target.value=J.value,ke.onChange(Te)}}}return{success:!0,method:"select"}}catch(w){return{success:!1,method:"select",details:w.message,allowFallback:!0}}}function F(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.Event||Event;if(!xr(g,E))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};Mt(g,w,E),g.focus?.({preventScroll:!0});let J=Object.getPrototypeOf(g),K=Object.getOwnPropertyDescriptor(J,"value");if(K?.set?K.set.call(g,String(R)):g.value=String(R),g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let ne=br(g);if(ne){let se=yr(ne);if(se.onChange){let ke=Nt("change",g,w,E);ke.target.value=String(R),se.onChange(ke)}}}return{success:!0,method:"slider"}}catch(w){return{success:!1,method:"slider",details:w.message,allowFallback:!0}}}function ee(g,D,N){try{let R=g.checkValidity?.()??!0;return R||g.reportValidity?.(),{success:R,method:"check-validity",details:R?void 0:g.validationMessage}}catch(R){return{success:!1,method:"check-validity",details:R.message,allowFallback:!0}}}function ue(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N);if("setSelectionRange"in g){let K=g;K.focus?.();let Q=K.value?.length??0;return K.setSelectionRange(R??0,T??Q),{success:!0,method:"select-range"}}let U=E.getSelection();if(!U)return{success:!1,method:"select-range",allowFallback:!0};let J=w.createRange();return J.selectNodeContents(g),U.removeAllRanges(),U.addRange(J),{success:!0,method:"select-range-node"}}catch(w){return{success:!1,method:"select-range",details:w.message,allowFallback:!0}}}function ce(g,D,N,R,T){let w=Ei((g&&fe(g))??D),E=g||w,U=fe(E,D),J=xe(U,N),K=E===U.documentElement||E===U.body||E===w;if(R===Wt.TOP||R===Wt.BOTTOM){let Q=E.scrollHeight,ne=K?J.innerHeight:E.clientHeight,se=Math.max(0,Q-ne);return E.scrollTop=R===Wt.TOP?0:se,{success:!0,scrollTop:E.scrollTop}}return Bl(E,U,J,R,T)}async function Me(g,D,N,R){let T=R.direction,w=R.amount,E=fe(g,D),U=xe(E,N),J=!E.hidden,K=J?"smooth":"auto";try{if(g){let ne=pt(g,E,U),se=ce(ne,E,U,T,w);return se?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(se)}:{success:!1,method:"direct-element-scroll",details:se?.error||"direct scroll failed",allowFallback:!0}}if(T===Wt.TOP||T===Wt.BOTTOM){let ne=await v(U,{action:"scrollTo",direction:T,options:{behavior:K,isTabActive:J}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(ne)}}let Q=await v(U,{action:"scrollBy",direction:T,options:{amount:w,behavior:K,isTabActive:J}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(Q)}}catch(Q){let ne=E?ce(Ei(E),E,U,T,w):void 0;return ne?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(ne)}:{success:!1,method:"scroll-page-failed",details:Q?.message||ne?.error||"scroll_page failed",allowFallback:!0}}}async function he(g,D,N,R){let T=fe(g,D),w=xe(T,N),E=!T.hidden,U=E?"smooth":"auto",J=ib(R.position),K=ka(g,T);if(!K){let Q=sf(g,T,w,J);return{success:Q.success,method:"direct-scrollElement-no-selector",details:Q.error,allowFallback:!Q.success}}try{let Q=await v(w,{action:"scrollElement",selector:K,position:J,options:{behavior:U,isTabActive:E}},{doc:T,timeoutMs:T.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(Q)}}catch(Q){let ne=sf(g,T,w,J);return ne.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(ne)}:{success:!1,method:"scroll-to-element-failed",details:Q?.message||ne.error||"scroll_to_element failed",allowFallback:!0}}}function lt(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.WheelEvent||WheelEvent;Mt(g,w,E);let J=pt(g,w,E);return J.dispatchEvent(new U("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,deltaX:R||0,deltaY:T||0,deltaMode:U.DOM_DELTA_PIXEL})),J.scrollBy({left:R||0,top:T||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(w){return{success:!1,method:"wheel",details:w.message,allowFallback:!0}}}function pt(g,D,N){let R=fe(g,D),T=xe(R,N),w=R.scrollingElement||R.documentElement||R.body,E=g;for(;E&&E!==R.body&&E!==R.documentElement;){let J=T.getComputedStyle(E).overflowY;if((J==="auto"||J==="scroll"||J==="overlay")&&E.scrollHeight>E.clientHeight+5)return E;E=E.parentElement}return w}async function ot(g,D,N,R,T){try{let w=fe(g,D),E=xe(w,N),U=E.PointerEvent||PointerEvent,J=E.MouseEvent||MouseEvent,K=E.DragEvent||DragEvent,Q=E.DataTransfer||DataTransfer;Mt(g,w,E);let ne=G(g,w,E),se=dn(ne.hit,E)?ne.hit:g,ke=g.getBoundingClientRect(),Te=Number.isFinite(Number(R?.distance))?Number(R.distance):160,Ye=0,De=0;switch(String(R?.direction||"").toUpperCase()){case"UP":De=-Te;break;case"DOWN":De=Te;break;case"LEFT":Ye=-Te;break;case"RIGHT":Ye=Te;break;default:Ye=Number(R?.delta_x)||0,De=Number(R?.delta_y)||0}let Ae=(ye,Oe)=>({x:Math.max(2,Math.min(ye,E.innerWidth-3)),y:Math.max(2,Math.min(Oe,E.innerHeight-3))}),ze=Ae(ne.x,ne.y),yt=Ae(ne.x+Ye,ne.y+De),cn=500+Date.now()%1e4,Ze=Math.max(12,Math.min(36,Number(R?.steps)||18)),nt=(ye,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ye,clientY:Oe,pageX:ye+(E.scrollX||0),pageY:Oe+(E.scrollY||0)}),et=(ye,Oe,ft)=>({...nt(ye,Oe),pointerId:cn,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:ft?.5:0,buttons:ft,button:0}),it=(ye,Oe,ft)=>({...nt(ye,Oe),buttons:ft,button:0});se.dispatchEvent(new U("pointerdown",et(ze.x,ze.y,1))),se.dispatchEvent(new J("mousedown",it(ze.x,ze.y,1)));try{se.setPointerCapture?.(cn)}catch{}let St=null;try{(g.draggable||C(g,T).sourcesByType.has("dragstart"))&&(St=new Q)}catch{St=null}if(St)try{g.dispatchEvent(new K("dragstart",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:St}))}catch{}let _t=null;for(let ye=1;ye<=Ze;ye++){let Oe=ze.x+(yt.x-ze.x)*ye/Ze,ft=ze.y+(yt.y-ze.y)*ye/Ze,Tn=w.elementFromPoint(Oe,ft)||g;if(Tn.dispatchEvent(new U("pointermove",et(Oe,ft,1))),Tn.dispatchEvent(new J("mousemove",it(Oe,ft,1))),St)try{_t&&_t!==Tn&&_t.dispatchEvent(new K("dragleave",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:ft,dataTransfer:St})),Tn.dispatchEvent(new K("dragover",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:ft,dataTransfer:St})),_t=Tn}catch{}ye%3===0&&await Fn()}let ge=w.elementFromPoint(yt.x,yt.y)||g;if(ge.dispatchEvent(new U("pointerup",et(yt.x,yt.y,0))),ge.dispatchEvent(new J("mouseup",it(yt.x,yt.y,0))),St)try{g.dispatchEvent(new K("dragend",{bubbles:!0,cancelable:!0,clientX:yt.x,clientY:yt.y,dataTransfer:St}))}catch{}return{success:!0,method:"drag",details:`dx=${Ye};dy=${De};steps=${Ze};hitOk=${ne.ok}`}}catch(w){return{success:!1,method:"drag",details:w?.message||"drag failed",allowFallback:!0}}}async function He(g,D,N,R){try{let T=fe(D,N),w=xe(T,R),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,J=w.DragEvent||DragEvent,K=w.DataTransfer||DataTransfer,Q=g?.source_element_id??g?.element_id,ne=(Q?dr(T,String(Q)):null)||D;if(!ne)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let se=null,ke=Number(g?.target_x),Te=Number(g?.target_y);if(g?.target_element_id){if(se=dr(T,String(g.target_element_id)),!se)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let ge=se.getBoundingClientRect();ke=ge.left+ge.width/2,Te=ge.top+ge.height/2}if((!Number.isFinite(ke)||!Number.isFinite(Te))&&!se)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};Mt(ne,T,w),se&&Mt(se,T,w);let Ye=(ge,ye)=>({x:Math.max(2,Math.min(ge,w.innerWidth-3)),y:Math.max(2,Math.min(ye,w.innerHeight-3))}),De=ne.getBoundingClientRect(),Ae=Ye(De.left+De.width/2,De.top+De.height/2),ze=Ye(Number(ke),Number(Te)),yt=600+Date.now()%1e4,cn=Math.max(14,Math.min(42,Number(g?.steps)||22)),Ze=(ge,ye)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ge,clientY:ye,pageX:ge+(w.scrollX||0),pageY:ye+(w.scrollY||0)}),nt=(ge,ye,Oe)=>({...Ze(ge,ye),pointerId:yt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Oe?.5:0,buttons:Oe,button:0}),et=(ge,ye,Oe)=>({...Ze(ge,ye),buttons:Oe,button:0}),it=null;try{it=new K}catch{it=null}ne.dispatchEvent(new E("pointerdown",nt(Ae.x,Ae.y,1))),ne.dispatchEvent(new U("mousedown",et(Ae.x,Ae.y,1)));try{ne.setPointerCapture?.(yt)}catch{}if(it)try{ne.dispatchEvent(new J("dragstart",{bubbles:!0,cancelable:!0,clientX:Ae.x,clientY:Ae.y,dataTransfer:it}))}catch{}let St=null;for(let ge=1;ge<=cn;ge++){let ye=Ae.x+(ze.x-Ae.x)*ge/cn,Oe=Ae.y+(ze.y-Ae.y)*ge/cn,ft=T.elementFromPoint(ye,Oe)||se||T.body;if(ft.dispatchEvent(new E("pointermove",nt(ye,Oe,1))),ft.dispatchEvent(new U("mousemove",et(ye,Oe,1))),it)try{St&&St!==ft&&St.dispatchEvent(new J("dragleave",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),ft.dispatchEvent(new J("dragenter",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),ft.dispatchEvent(new J("dragover",{bubbles:!0,cancelable:!0,clientX:ye,clientY:Oe,dataTransfer:it})),St=ft}catch{}ge%3===0&&await Fn()}let _t=se||T.elementFromPoint(ze.x,ze.y)||T.body;if(it)try{_t.dispatchEvent(new J("drop",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:it}))}catch{}if(_t.dispatchEvent(new E("pointerup",nt(ze.x,ze.y,0))),_t.dispatchEvent(new U("mouseup",et(ze.x,ze.y,0))),it)try{ne.dispatchEvent(new J("dragend",{bubbles:!0,cancelable:!0,clientX:ze.x,clientY:ze.y,dataTransfer:it}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${cn};source=${String(Q)}`}}catch(T){return{success:!1,method:"drag-drop",details:T?.message||"drag-drop failed",allowFallback:!0}}}async function Ht(g,D,N,R){try{let T=fe(g,D),w=xe(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent;Mt(g,T,w);let J=G(g,T,w),K={x:J.x,y:J.y},Q=g.getBoundingClientRect(),ne=Number.isFinite(Number(R?.distance))?Number(R.distance):Math.min(Math.max(80,Math.min(Q.width,Q.height)),220),se=String(R?.direction||"RIGHT").toUpperCase(),ke=K.x,Te=K.y;se==="LEFT"&&(ke-=ne),se==="RIGHT"&&(ke+=ne),se==="UP"&&(Te-=ne),se==="DOWN"&&(Te+=ne);let Ye=(ye,Oe)=>({x:Math.max(2,Math.min(ye,w.innerWidth-3)),y:Math.max(2,Math.min(Oe,w.innerHeight-3))}),De=Ye(K.x,K.y),Ae=Ye(ke,Te),ze=700+Date.now()%1e4,yt=Math.max(10,Math.min(28,Number(R?.steps)||16)),cn=(ye,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ye,clientY:Oe,pageX:ye+(w.scrollX||0),pageY:Oe+(w.scrollY||0)}),Ze=(ye,Oe,ft)=>({...cn(ye,Oe),pointerId:ze,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:ft?.5:0,buttons:ft,button:0}),nt=(ye,Oe,ft)=>({...cn(ye,Oe),buttons:ft,button:0}),et=T.elementFromPoint(De.x,De.y)||g;et.dispatchEvent(new E("pointerdown",Ze(De.x,De.y,1))),et.dispatchEvent(new U("mousedown",nt(De.x,De.y,1)));let it=w.Touch,St=w.TouchEvent,_t=!!it&&!!St;if(_t)try{let ye=new it({identifier:ze,target:et,clientX:De.x,clientY:De.y,pageX:De.x,pageY:De.y,screenX:De.x,screenY:De.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});et.dispatchEvent(new St("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ye],targetTouches:[ye],changedTouches:[ye]}))}catch{}for(let ye=1;ye<=yt;ye++){let Oe=De.x+(Ae.x-De.x)*ye/yt,ft=De.y+(Ae.y-De.y)*ye/yt,Tn=T.elementFromPoint(Oe,ft)||g;if(Tn.dispatchEvent(new E("pointermove",Ze(Oe,ft,1))),Tn.dispatchEvent(new U("mousemove",nt(Oe,ft,1))),_t)try{let wn=new it({identifier:ze,target:Tn,clientX:Oe,clientY:ft,pageX:Oe,pageY:ft,screenX:Oe,screenY:ft,radiusX:1,radiusY:1,rotationAngle:0,force:1});Tn.dispatchEvent(new St("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[wn],targetTouches:[wn],changedTouches:[wn]}))}catch{}ye%3===0&&await Fn()}let ge=T.elementFromPoint(Ae.x,Ae.y)||g;if(ge.dispatchEvent(new E("pointerup",Ze(Ae.x,Ae.y,0))),ge.dispatchEvent(new U("mouseup",nt(Ae.x,Ae.y,0))),_t)try{let ye=new it({identifier:ze,target:ge,clientX:Ae.x,clientY:Ae.y,pageX:Ae.x,pageY:Ae.y,screenX:Ae.x,screenY:Ae.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});ge.dispatchEvent(new St("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ye]}))}catch{}return{success:!0,method:"swipe",details:`dir=${se};dist=${ne};steps=${yt};hitOk=${J.ok}`}}catch(T){return{success:!1,method:"swipe",details:T?.message||"swipe failed",allowFallback:!0}}}async function Ve(g,D,N,R){try{let T=g||D.body,w=fe(T,D),E=xe(w,N),U=E.PointerEvent||PointerEvent,J=E.WheelEvent||WheelEvent;Mt(T,w,E);let K=Number.isFinite(Number(R?.scale))?Number(R.scale):1.2,Q=T.getBoundingClientRect(),ne=Q.left+Q.width/2,se=Q.top+Q.height/2,ke=24,Te=Math.max(6,Math.min(200,ke*K)),Ye=Math.max(6,Math.min(18,Number(R?.steps)||10)),De=E.Touch,Ae=E.TouchEvent;if(!!De&&!!Ae)try{let Ze=(_t,ge)=>new De({identifier:_t,target:T,clientX:ge,clientY:se,pageX:ge,pageY:se,screenX:ge,screenY:se,radiusX:1,radiusY:1,rotationAngle:0,force:1}),nt=Ze(911,ne-ke),et=Ze(912,ne+ke);T.dispatchEvent(new Ae("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[nt,et],targetTouches:[nt,et],changedTouches:[nt,et]}));for(let _t=1;_t<=Ye;_t++){let ge=ke+(Te-ke)*_t/Ye,ye=Ze(911,ne-ge),Oe=Ze(912,ne+ge);T.dispatchEvent(new Ae("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ye,Oe],targetTouches:[ye,Oe],changedTouches:[ye,Oe]})),_t%2===0&&await Fn()}let it=Ze(911,ne-Te),St=Ze(912,ne+Te);T.dispatchEvent(new Ae("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[it,St]}))}catch{}try{let Ze=(nt,et,it)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:et,clientY:se,pointerId:nt,pointerType:"touch",isPrimary:nt===821,width:1,height:1,pressure:it?.5:0,buttons:it,button:0});T.dispatchEvent(new U("pointerdown",Ze(821,ne-ke,1))),T.dispatchEvent(new U("pointerdown",Ze(822,ne+ke,1)));for(let nt=1;nt<=Ye;nt++){let et=ke+(Te-ke)*nt/Ye;T.dispatchEvent(new U("pointermove",Ze(821,ne-et,1))),T.dispatchEvent(new U("pointermove",Ze(822,ne+et,1))),nt%2===0&&await Fn()}T.dispatchEvent(new U("pointerup",Ze(821,ne-Te,0))),T.dispatchEvent(new U("pointerup",Ze(822,ne+Te,0)))}catch{}try{let yt=K>=1?-120:120;T.dispatchEvent(new J("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ne,clientY:se,ctrlKey:!0,deltaY:yt,deltaMode:J.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${K};steps=${Ye}`}}catch(T){return{success:!1,method:"pinch-zoom",details:T?.message||"pinch-zoom failed",allowFallback:!0}}}async function dt(g,D,N,R=800){try{let T=fe(g,D),w=xe(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,J=w.FocusEvent||FocusEvent;Mt(g,T,w);let K=G(g,T,w),Q=g;!K.ok&&dn(K.hit,w)?Q=K.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||K.hit:dn(K.hit,w)&&(Q=K.hit);let ne=Xn(Q,T,w),se=K.x,ke=K.y,Te=1+Date.now()%1e4,Ye={bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0)},De={...Ye,pointerId:Te,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{Q.dispatchEvent(new E("pointerover",De)),Q.dispatchEvent(new E("pointerenter",{...De,bubbles:!1}))}catch{}try{Q.dispatchEvent(new U("mouseover",Ye)),Q.dispatchEvent(new U("mouseenter",{...Ye,bubbles:!1}))}catch{}try{Q.focus?.({preventScroll:!0}),Q.dispatchEvent(new J("focus",{bubbles:!0,composed:!0})),Q.dispatchEvent(new J("focusin",{bubbles:!0,composed:!0}))}catch{}try{Q.dispatchEvent(new E("pointerdown",{...De,buttons:1,pressure:.5}))}catch{}try{Q.dispatchEvent(new U("mousedown",{...Ye,buttons:1,button:0}))}catch{}try{let Ze=w.Touch,nt=w.TouchEvent;if(typeof Ze<"u"&&typeof nt<"u"){let et=new Ze({identifier:Te,target:Q,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});Q.dispatchEvent(new nt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[et],targetTouches:[et],changedTouches:[et]}))}}catch{}let Ae=Number(R),ze=Number.isFinite(Ae)&&Ae>0?Ae:800,yt=T.hidden?Math.max(ze,1200):ze;await bn(yt,T);try{Q.dispatchEvent(new U("contextmenu",{...Ye,button:2,buttons:2}))}catch{}try{Q.dispatchEvent(new E("pointerup",{...De,buttons:0,pressure:0}))}catch{}try{Q.dispatchEvent(new U("mouseup",{...Ye,buttons:0,button:0}))}catch{}try{let Ze=w.Touch,nt=w.TouchEvent;if(typeof Ze<"u"&&typeof nt<"u"){let et=new Ze({identifier:Te,target:Q,clientX:se,clientY:ke,pageX:se+(w.scrollX||0),pageY:ke+(w.scrollY||0),screenX:se+(w.screenX||0),screenY:ke+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});Q.dispatchEvent(new nt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[et]}))}}catch{}let cn=await gr(Q,T,w,ne);return{success:!0,method:"long-press",details:`holdMs=${yt};verified=${cn};hitOk=${K.ok};target=${Q.tagName.toLowerCase()}`}}catch(T){return{success:!1,method:"long-press",details:T?.message||"long-press failed",allowFallback:!0}}}function Ne(g,D,N,R,T){try{let w=fe(N,R),U=xe(w,T).KeyboardEvent||KeyboardEvent,J=N||w.activeElement||w.body||w.documentElement;J.focus?.();let K={key:g,code:ir(g),bubbles:!0,cancelable:!0,ctrlKey:D?.includes("CTRL"),altKey:D?.includes("ALT"),shiftKey:D?.includes("SHIFT"),metaKey:D?.includes("META")},Q=J.dispatchEvent(new U("keydown",K)),ne=J.dispatchEvent(new U("keypress",K)),se=J.dispatchEvent(new U("keyup",K));if(g==="Enter"&&!!(Q&&ne&&se)){let Te=J.form||J.closest?.("form");Te?.requestSubmit?Te.requestSubmit():Te?.submit?.()}return{success:!0,method:"press-key"}}catch(w){return{success:!1,method:"press-key",details:w.message,allowFallback:!0}}}async function Xe(g,D,N){try{let R=g.innerText||g.value||"";if(!R)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let T=fe(g,D),w=xe(T,N);if(w.navigator?.clipboard?.writeText)return await w.navigator.clipboard.writeText(R),{success:!0,method:"clipboard-copy"};let E=T.createRange();E.selectNodeContents(g);let U=w.getSelection?.()||(T.defaultView||window).getSelection?.();U?.removeAllRanges(),U?.addRange(E);let J=T.execCommand?.("copy")??!1;return U?.removeAllRanges(),{success:!!J,method:"execCommand-copy",allowFallback:!J}}catch(R){return{success:!1,method:"clipboard-copy",details:R.message,allowFallback:!0}}}async function Dt(g,D,N,R){try{g.focus?.();let T=fe(g,D),w=xe(T,N);if(w.navigator?.clipboard?.readText){let U=await w.navigator.clipboard.readText();if(U)return await Fe(g,T,w,U,R)}return T.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(T){return{success:!1,method:"paste",details:T.message,allowFallback:!0}}}function jt(g){return`${(g/1024).toFixed(1)}KB`}function wt(g,D){if(g instanceof D.defaultView.HTMLInputElement){let E=g;if((E.type||"").toLowerCase()==="file")return E}let N=g.closest?.("label"),R=N?.htmlFor||g.htmlFor||"";if(R){let E=D.getElementById(R);if(E&&(E.type||"").toLowerCase()==="file")return E}if(N){let E=N.querySelector?.('input[type="file"]');if(E)return E}let T=g.closest?.("form");if(T){let E=T.querySelector?.('input[type="file"]');if(E)return E}let w=g.closest?.("div,section,main,article")||g.parentElement;if(w){let E=w.querySelector?.('input[type="file"]');if(E)return E}return null}function tt(g,D,N){try{let R=N.HTMLInputElement?.prototype,T=R?Object.getOwnPropertyDescriptor(R,"files")?.set:void 0;if(!T){let w=Object.getPrototypeOf(g);for(;w&&!T;)T=Object.getOwnPropertyDescriptor(w,"files")?.set,w=Object.getPrototypeOf(w)}return T?(T.call(g,D),!0):(g.files=D,!0)}catch{try{return g.files=D,!0}catch{return!1}}}async function en(g,D,N,R,T,w){try{let{file_url:E,element_id:U,file_name:J}=g,K=null;if(T&&(K=wt(T,D)),!K&&U!==void 0&&(K=D.querySelector(`input[type="file"][${Mn}*="[id=${U}]"]`)),!K){let ge=D.querySelectorAll('input[type="file"]');for(let ye of ge){if(ye.disabled)continue;let Oe=ye.getBoundingClientRect();if(Oe.width>0&&Oe.height>0){K=ye;break}}}if(!K)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(K.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let Q=fe(K,D),ne=xe(Q,N);if(!(R?.kind==="upload_file"&&typeof R.byteLength=="number"&&R.byteLength>=0&&typeof R.mimeType=="string"&&(typeof R.inlineB64=="string"||typeof R.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let ke=Number(R.byteLength),Te=(R.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",Ye;if(R.inlineB64&&typeof R.inlineB64=="string"){let ge=Qg(R.inlineB64);if(ge.byteLength!==ke)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${ge.byteLength} expected=${ke}`,allowFallback:!0};Ye=ge.buffer}else{let ge=String(R.token);Ye=await u(ne,ge,ke,9e4)}let De=ne.Blob||Blob,Ae=new De([Ye],{type:Te}),ze=J||R?.fileName;!ze&&E&&typeof E=="string"&&(ze=rf(E,ne)),ze=Jg(ze||"upload");let yt=ne.File||File,cn=new yt([Ae],ze,{type:Te,lastModified:Date.now()}),Ze=ne.Event||Event,nt=ne.DataTransfer||DataTransfer;if(!nt)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let et=new nt;if(et.items.add(cn),!tt(K,et.files,ne))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};K.dispatchEvent(new Ze("input",{bubbles:!0,composed:!0,cancelable:!0})),K.dispatchEvent(new Ze("change",{bubbles:!0,composed:!0,cancelable:!0}));let St=br(K);if(St){let ge=yr(St);if(ge.onChange){let ye=Nt("change",K,Q,ne);ye.target.files=et.files,ge.onChange(ye)}}let _t=Ar(K);if(_t){let ge=Jr(_t);if(ge.change){let ye=new Ze("change",{bubbles:!0});ye.target=K,ye.target.files=et.files,ge.change(ye)}}try{let ge=ne.jQuery||ne.$;ge&&typeof ge=="function"&&ge(K).triggerHandler?.("change")}catch{}return K.focus?.({preventScroll:!0}),await re(Q,ne,2),{success:!0,method:"upload-file",details:`Uploaded ${ze} (${jt(Ae.size)}) [token]`}}catch(E){return{success:!1,method:"upload-file",details:E?.message||"Upload failed",allowFallback:!0}}}async function tn(g,D,N){let R=Array.isArray(g.path)?g.path:[];if(!R.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let T=N.PointerEvent||PointerEvent,w=N.MouseEvent||MouseEvent,E=16;for(let U=0;U<R.length;U++){let J=R[U],K=Number(J.x)||0,Q=Number(J.y)||0,ne=Number(J.pressure)||(U===0||U===R.length-1?0:.5),se=D.elementFromPoint(K,Q)||D.documentElement,ke={bubbles:!0,cancelable:!0,clientX:K,clientY:Q,screenX:K,screenY:Q,view:N};if(U===0?(se.dispatchEvent(new T("pointerdown",{...ke,pressure:ne,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mousedown",{...ke,button:0,buttons:1}))):(se.dispatchEvent(new T("pointermove",{...ke,pressure:ne,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mousemove",{...ke,button:0,buttons:1}))),U===R.length-1&&(se.dispatchEvent(new T("pointerup",{...ke,pressure:0,pointerId:1,pointerType:"mouse"})),se.dispatchEvent(new w("mouseup",{...ke,button:0,buttons:0}))),U<R.length-1){let Te=Number(J.timestamp)||0,Ye=Number(R[U+1].timestamp)||0,De=Te&&Ye?Math.max(0,Math.min(Ye-Te,1e3)):E;De>0&&await bn(De,D)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${R.length} point(s)`}}function sn(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.MouseEvent||MouseEvent;Mt(g,R,T),I(g,R,T),I(g,R,T);let E=g.getBoundingClientRect();return g.dispatchEvent(new w("dblclick",{bubbles:!0,cancelable:!0,clientX:E.left+E.width/2,clientY:E.top+E.height/2,detail:2,view:T})),{success:!0,method:"dblclick"}}function mn(g,D,N){let R=fe(g,D),T=xe(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent;Mt(g,R,T);let U=g.getBoundingClientRect(),J=U.left+U.width/2,K=U.top+U.height/2,Q={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:J,clientY:K,button:2,buttons:2};return g.dispatchEvent(new w("pointerdown",Q)),g.dispatchEvent(new E("mousedown",Q)),g.dispatchEvent(new w("pointerup",{...Q,buttons:0})),g.dispatchEvent(new E("mouseup",{...Q,buttons:0})),g.dispatchEvent(new E("contextmenu",Q)),{success:!0,method:"contextmenu"}}function Xn(g,D,N){let R=fe(g,D),T=xe(R,N),w=g,E=g.getBoundingClientRect();return{href:String(T.location.href),hash:String(T.location.hash),ariaExpanded:g.getAttribute("aria-expanded"),ariaPressed:g.getAttribute("aria-pressed"),ariaDisabled:g.getAttribute("aria-disabled"),disabled:!!w.disabled,open:typeof w.open<"u"?w.open:void 0,checked:typeof w.checked<"u"?w.checked:void 0,value:typeof w.value<"u"?w.value:void 0,active:Nl(R),rect:{w:E.width,h:E.height}}}function Ce(g,D){let N=Math.abs(g.rect.w-D.rect.w)>2||Math.abs(g.rect.h-D.rect.h)>2;return g.href!==D.href||g.hash!==D.hash||g.ariaExpanded!==D.ariaExpanded||g.ariaPressed!==D.ariaPressed||g.ariaDisabled!==D.ariaDisabled||g.disabled!==D.disabled||g.open!==D.open||g.checked!==D.checked||g.value!==D.value||g.active!==D.active||N}async function gr(g,D,N,R){await Promise.resolve();let T=fe(g,D),w=xe(T,N);D.hidden||await Fn();let E=Xn(g,T,w);return Ce(R,E)}function Le(g,D,N){g.focus?.({preventScroll:!0});let R=fe(g,D),T=xe(R,N),U=g.getAttribute("role")==="button"||Uh(g,T)||g.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],J=T.KeyboardEvent||KeyboardEvent;for(let K of U){let Q={key:K,code:K===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};g.dispatchEvent(new J("keydown",Q)),g.dispatchEvent(new J("keypress",Q)),g.dispatchEvent(new J("keyup",Q))}return{success:!0,method:"keyboard-activate"}}async function Ot(g,D,N,...R){let T=null;for(let w of R){let E=fe(g,D),U=xe(E,N),J=Xn(g,E,U),K=w();if(!K||!K.success)continue;if(await gr(g,E,U,J))return{...K,details:(K.details?K.details+";":"")+"verified=true"};T=K}return T?{...T,details:(T.details?T.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function Sn(...g){for(let D of g)try{let N=D();if(N&&N.success)return N}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function Mt(g,D,N){let R=fe(g,D),T=xe(R,N),w=g.getBoundingClientRect();w.top>=0&&w.left>=0&&w.bottom<=T.innerHeight&&w.right<=T.innerWidth||(g.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),g.offsetHeight)}function ys(g,D,N,R){let T=fe(g,D),E=xe(T,N).KeyboardEvent||KeyboardEvent;for(let U of R){let J=String(U??""),K="";/^[a-z]$/i.test(J)?K=`Key${J.toUpperCase()}`:/^[0-9]$/.test(J)?K=`Digit${J}`:J===" "&&(K="Space");let Q=J.length===1?J.charCodeAt(0):0,ne={key:J,code:K,bubbles:!0,cancelable:!0,composed:!0,keyCode:Q,which:Q};g.dispatchEvent(new E("keydown",ne)),g.dispatchEvent(new E("keypress",ne)),g.dispatchEvent(new E("keyup",ne))}}function vs(g,D,N){let R=fe(g,D),w=xe(R,N).KeyboardEvent||KeyboardEvent,E={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},U=g.dispatchEvent(new w("keydown",E)),J=g.dispatchEvent(new w("keypress",E)),K=g.dispatchEvent(new w("keyup",E));if(!!(U&&J&&K)){let ne=g.form||g.closest?.("form");ne?.requestSubmit?.()??ne?.submit?.()}}function ir(g){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[g]||`Key${g.toUpperCase()}`}let ut=new MessageChannel,xn=[];ut.port1.onmessage=()=>{let g=xn.shift();g&&g()};function Fn(){return new Promise(g=>{xn.push(g),ut.port2.postMessage(0)})}function br(g){let D=R=>{if(!R)return null;let T=Object.keys(R);for(let w of T)if(w.startsWith("__reactFiber")||w.startsWith("__reactInternalInstance")||w.includes("reactFiber")||w.includes("reactProps")||w.includes("reactEventHandlers")||/^__r\d+/.test(w))return R[w];return null},N=g;for(let R=0;R<4&&N;R++){let T=D(N);if(T)return T;N=N.parentElement}return null}function yr(g){let D={},N=g,R=0;for(;N&&R++<10;){let T=[N.memoizedProps,N.pendingProps,N.stateNode?.props,N._memoizedProps,N._pendingProps,N.alternate?.memoizedProps].filter(Boolean);for(let w of T)if(!(!w||typeof w!="object"))for(let E in w)E.startsWith("on")&&typeof w[E]=="function"&&(D[E]=w[E]);if(Object.keys(D).length)break;N=N.return||N.alternate}return D}function ho(g,D){let N=g;for(;N;){if(N._reactRootContainer||N.__reactContainer||N.hasAttribute("data-reactroot")||N.hasAttribute("data-react-root")||["root","app","__next"].includes(N.id))return N;N=N.parentElement}return fe(g,D).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function Nt(g,D,N,R){let T=fe(D,N),w=xe(T,R),E=w.MouseEvent||MouseEvent,U=D.getBoundingClientRect(),J=new E(g,{bubbles:!0,cancelable:!0,view:w,clientX:U.left+U.width/2,clientY:U.top+U.height/2});return{type:g,target:D,currentTarget:D,bubbles:!0,cancelable:!0,nativeEvent:J,isTrusted:!0,preventDefault(){J.preventDefault()},stopPropagation(){J.stopPropagation()}}}function Ar(g){let D=g;if(D.__vue__)return D.__vue__;if(D.__vueParentComponent)return D.__vueParentComponent;if(D._vnode)return D._vnode;let N=g.parentElement;for(let R=0;R<3&&N;R++){let T=N;if(T.__vue__||T.__vueParentComponent||T._vnode)return T.__vue__||T.__vueParentComponent||T._vnode;N=N.parentElement}return null}function Jr(g){let D={};if(g?.$listeners&&Object.assign(D,g.$listeners),g?._events)for(let N in g._events){let R=g._events[N];D[N]=Array.isArray(R)?R[0]:R}if(g?.props)for(let N in g.props)N.startsWith("on")&&typeof g.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.props[N]);if(g?.vnode?.props)for(let N in g.vnode.props)N.startsWith("on")&&typeof g.vnode.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.vnode.props[N]);return D}})();function cb(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function lb(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function Fs(e,t,n={}){let{rootNodes:r,semanticNodes:o}=Ju(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),i={};for(let a of Object.keys(o)){let s=Number(a);if(!Number.isFinite(s))continue;let c=Ls(s);c&&(i[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:i}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{doc;win;viewport;lastDetectedPrimary=null;detectionCache=new Map;lastDetectionTime=0;CACHE_TTL=5e3;constructor(d=document,m=window){this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:u}=this.getScrollContext(m.element),h=f.scrollHeight,b=Nr(),v=u&&b?b.innerHeight:f.clientHeight,S=Math.max(0,h-v),k=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:k,scrollHeight:h,clientHeight:v,isAtTop:k<=5,isAtBottom:k>=S-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let u=Array.from(this.detectionCache.values()).sort((h,b)=>b.score-h.score)[0];if(u)return this.lastDetectedPrimary=u.element,u}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let u=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!u)return null;let h=this.buildFeatures(u),b=fe(u,this.doc),v={element:u,selector:ka(u,b),score:.5,features:h,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(v.selector,v),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=u,v}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let u of m)this.detectionCache.set(u.selector,u);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],u=[],h=d.body||d.documentElement;h&&u.push(h);let b=0,v=S=>{try{let k=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",C=this.win[k]?.shadow?.getRoot;if(typeof C=="function"){let _=C(S);if(_)return _}}catch{}try{return S.shadowRoot||null}catch{return null}};for(;u.length&&!(++b>m);){let S=u.pop();if(cr(S)){let C=S.children;for(let _=C.length-1;_>=0;_--)u.push(C[_]);continue}let k=S,x=Ke(k);dn(k,x)&&f.push(k);try{let C=v(k);C&&u.push(C)}catch{}for(let C=k.lastElementChild;C;C=C.previousElementSibling)u.push(C)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let h of f){if(!h||m.has(h))continue;let b=this.isScrollable(h);(b.vertical||b.horizontal)&&(d.push(h),m.add(h))}let u=this.collectAllElementsDeep(this.doc);for(let h of Array.from(u)){if(m.has(h))continue;let b=h.getBoundingClientRect(),v=this.win.getComputedStyle(h);if(!this.isElementRendered(h,b,v)||!this.isScrollable(h).vertical)continue;let k=40,x=this.viewport.width*.15;if(b.height<k||b.width<x){let C=(h.className||"").toLowerCase().includes("scroll"),_=v.overflowY==="auto"||v.overflowY==="scroll"||v.overflow==="auto"||v.overflow==="scroll";if(!C&&!_)continue}d.push(h),m.add(h)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let u=parseFloat(f.opacity||"1");return!(!Number.isNaN(u)&&u<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,u=m.overflowX,h=this.doc.scrollingElement,b=d===this.doc.documentElement||d===this.doc.body||!!h&&d===h,v=d.scrollHeight,S=d.clientHeight,k=d.scrollWidth,x=d.clientWidth;if(b){let Z=this.doc.documentElement,ae=this.doc.body;v=Math.max(Z?Z.scrollHeight:0,ae?ae.scrollHeight:0),S=this.win.innerHeight}let C=v-S>8,_=k-x>8,I=f==="auto"||f==="scroll"||f==="overlay",M=u==="auto"||u==="scroll"||u==="overlay";return{vertical:b?C:C&&I,horizontal:b?_:_&&M,byOverflow:I||M}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),u=Math.min(this.viewport.width,d.right),h=Math.min(this.viewport.height,d.bottom),b=Math.max(0,u-m),v=Math.max(0,h-f);return{width:b,height:v,area:b*v}}analyzeTextContent(d,m=2e3){let f=0,u=0,h=d.ownerDocument||this.doc,v=(h.defaultView||this.win).NodeFilter||NodeFilter,S=h.createTreeWalker(d,v.SHOW_ELEMENT|v.SHOW_TEXT,null),k=0,x=S.currentNode,C=[];for(;x&&k<m;){if(x.nodeType===Node.TEXT_NODE){let O=(x.textContent||"").replace(/\s+/g,"").length;if(O>0){f+=O;let Y=x.parentElement;Y&&Y.closest("a")&&(u+=O)}}else x.nodeType===Node.ELEMENT_NODE&&C.push(x);k++,x=S.nextNode()}let _=C.length||1,I=f/_,M=f>0?u/f:0;return{textChars:f,linkChars:u,textDensity:I,linkDensity:M}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),u=new Map,h=new Map,b=new Map;for(let G of f){let O=Ke(G);if(!dn(G,O))continue;let Y=G.getBoundingClientRect();if(Y.height<5||Y.width<this.viewport.width*.1)continue;let Z=Math.round(Y.height/10)*10,ae=Math.round(Y.width/10)*10;u.set(Z,(u.get(Z)||0)+1),h.set(ae,(h.get(ae)||0)+1);let H=(G.className||G.tagName).toString();b.set(H,(b.get(H)||0)+1)}let v=f.length||1,S=Math.max(0,...u.values()),k=Math.max(0,...h.values()),x=Math.max(0,...b.values()),C=S/v,_=k/v,I=x/v,M=.4*C+.3*_+.3*I;return Math.min(1,Math.max(0,M))}calculateSemanticScore(d){let m=0,f=null,u=!1,h=(d.getAttribute("role")||"").toLowerCase(),b=d.tagName.toLowerCase(),v=(d.id||"").toLowerCase(),S=(d.className||"").toLowerCase(),k=`${h} ${b} ${v} ${S}`;return(b==="main"||h==="main")&&(m+=1.2,f="article"),b==="article"&&(m+=1,f=f||"article"),(h==="feed"||k.includes("feed"))&&(m+=1,f="feed"),(h==="log"||k.includes("chat")||k.includes("messages"))&&(m+=1,f="chat"),k.includes("content")&&(m+=.5),(k.includes("results")||k.includes("list"))&&(m+=.4),(k.includes("job")||k.includes("jobs"))&&(m+=.4),(b==="nav"||h==="navigation"||k.includes("sidebar"))&&(m-=1,u=!0),(b==="aside"||h==="complementary")&&(m-=.7,u=!0),(b==="footer"||h==="contentinfo"||k.includes("footer"))&&(m-=.8,u=!0),k.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:u}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),u=this.calculateVisibleIntersection(m),h=this.viewport.width*this.viewport.height||1,b=u.area/h,v=this.viewport.width>0?u.width/this.viewport.width:0,S=m.top+m.height/2,k=this.viewport.height/2||1,x=Math.min(1,Math.abs(S-k)/k),C=this.isScrollable(d),_=this.doc.scrollingElement,I=d===this.doc.documentElement||d===this.doc.body||!!_&&d===_,M=d.scrollHeight,G=d.clientHeight;if(I){let me=this.doc.documentElement,Se=this.doc.body;M=Math.max(me?me.scrollHeight:0,Se?Se.scrollHeight:0),G=this.win.innerHeight}let O=Math.max(0,M-G),Y=O*u.width,Z=this.analyzeTextContent(d),ae=this.calculateRepetitionScore(d),H=this.calculateSemanticScore(d),X=d.contains(this.doc.activeElement),re=this.detectScrollListeners(d),oe=parseInt(f.zIndex||"0",10),pe=Number.isFinite(oe)?oe:0;return{geometry:{viewportCoverage:b,widthProminence:v,centerDistance:x,scrollCapacity:O,scrollSurface:Y,zIndex:pe},content:{textDensity:Z.textDensity,linkDensity:Z.linkDensity,repetitionScore:ae,semanticScore:H.semanticScore},interaction:{hasScrollListeners:re,hasFocus:X,recentActivity:X?1:0}}}inferElementType(d,m,f,u){if(f)return f;let h=(d.getAttribute("role")||"").toLowerCase(),b=(d.className||"").toLowerCase(),v=d.tagName.toLowerCase(),S=m.geometry,k=m.content;if(h==="log"||b.includes("chat")||b.includes("messages"))return"chat";let x=this.win.getComputedStyle(d);if((x.position==="fixed"||x.position==="absolute")&&S.zIndex>100&&S.viewportCoverage>.2&&S.centerDistance<.4)return"modal";if(h==="feed"||k.repetitionScore>.3&&S.scrollCapacity>400&&S.widthProminence>=.25)return"feed";if(v==="article"||k.textDensity>40&&k.linkDensity<.4&&S.widthProminence>.4)return"article";if(u||S.widthProminence<.3&&k.linkDensity>.3)return"sidebar";let _=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||_&&d===_?"document":"unknown"}scoreCandidates(d){let m=[],f=[],u=[],h=[],b=[],v=[];for(let I of d){let M=this.buildFeatures(I),G=M.content.semanticScore,O=this.calculateSemanticScore(I),Y=this.inferElementType(I,M,O.typeHint,O.navLike);v.push({element:I,features:{geometry:{...M.geometry},content:{...M.content,semanticScore:O.semanticScore},interaction:M.interaction},type:Y,navLike:O.navLike,semanticScore:O.semanticScore}),f.push(M.geometry.scrollSurface),u.push(M.content.textDensity),h.push(Math.abs(O.semanticScore)),b.push(M.content.repetitionScore)}let S=Math.max(0,...f),k=Math.max(0,...u),x=Math.max(0,...h),C=Math.max(0,...b),_=-1/0;for(let I of v){let{element:M,features:G,type:O,navLike:Y,semanticScore:Z}=I,ae=G.geometry,H=G.content,X=G.interaction,re=S>0?ae.scrollSurface/S:0,oe=k>0?H.textDensity/k:0,pe=x>0?(Z/x+1)/2:.5,me=O==="feed"||H.repetitionScore>.3&&ae.scrollCapacity>400,Se=H.linkDensity>.5?(H.linkDensity-.5)/.5:0,Fe=me?0:Se,Pe=(me?1:.5)*H.repetitionScore*Math.min(1,ae.scrollCapacity/4e3),B={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[O]||0,W=0;W+=ae.viewportCoverage*.18,W+=ae.widthProminence*.15,W+=(1-ae.centerDistance)*.07,W+=re*.22,W+=Pe*.18,W+=oe*.08,W+=(C>0?H.repetitionScore/C:0)*.05,W+=pe*.07,W-=Fe*.05,X.hasFocus&&(W+=.05),X.hasScrollListeners&&(W+=.05),W+=B,Y&&(W-=.05);let F=Math.max(0,Math.min(1,W));F>_&&(_=F),m.push({element:M,selector:ka(M,fe(M)),score:F,features:G,type:O})}if(m.sort((I,M)=>M.score-I.score),m.length>=2){let I=m[0],M=m[1];Math.abs(I.score-M.score)<.08&&I.type==="article"&&M.type==="feed"&&(m[0]=M,m[1]=I)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=fe(u),v=xe(b),S=m?.isTabActive??!b.hidden,k=m?.behavior,x=S&&k==="smooth",C=h?Math.max(b.documentElement?b.documentElement.scrollHeight:0,b.body?b.body.scrollHeight:0):u.scrollHeight,_=h?v.innerHeight:u.clientHeight,I=Math.max(0,C-_),M=()=>h?v.scrollY:u.scrollTop,G=O=>{if(x)try{h?v.scrollTo({top:O,behavior:"smooth"}):u.scrollTo({top:O,behavior:"smooth"})}catch{h?(b.scrollingElement||b.documentElement||b.body).scrollTop=O:u.scrollTop=O}else if(h){let Y=b.scrollingElement||b.documentElement||b.body;Y.scrollTop=O}else u.scrollTop=O};switch(d){case Wt.TOP:return G(0),{success:!0,scrollTop:0,isAtTop:!0};case Wt.BOTTOM:return G(I),{success:!0,scrollTop:I,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=m?.isTabActive??!document.hidden,v=m?.behavior,S=b&&v==="smooth",k=Nr(),x=h&&k?k.innerHeight:u.clientHeight,C=h&&k?k.innerWidth:u.clientWidth,_=m?.amount??x*.8,I=h?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):u.scrollHeight,M=h&&k?k.innerHeight:u.clientHeight,G=Math.max(0,I-M),O=Z=>{if(S)try{h?k?.scrollTo({top:Z,behavior:"smooth"}):u.scrollTo({top:Z,behavior:"smooth"})}catch{let ae=document.scrollingElement||document.documentElement||document.body;ae.scrollTop=Z}else{let ae=h?document.scrollingElement||document.documentElement||document.body:u;ae.scrollTop=Z}},Y=Z=>{if(S)try{u.scrollBy({left:Z,behavior:"smooth"})}catch{u.scrollLeft+=Z}else u.scrollLeft+=Z};switch(d){case Wt.DOWN:{let ae=(h&&k?k.scrollY:u.scrollTop)+_;O(ae);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=G-5}}case Wt.UP:{let Z=h&&k?k.scrollY:u.scrollTop,ae=Math.max(0,Z-_);O(ae);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=G-5}}case Wt.LEFT:{let Z=-(m?.amount??C*.8);return Y(Z),{success:!0,scrollLeft:u.scrollLeft}}case Wt.RIGHT:{let Z=m?.amount??C*.8;return Y(Z),{success:!0,scrollLeft:u.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case In.START:return"start";case In.END:return"end";case In.NEAREST:return"nearest";case In.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let b=getComputedStyle(f).overflowY,v=b==="auto"||b==="scroll"||b==="overlay",S=f.scrollHeight-f.clientHeight>8;if(v&&S)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let u=document.querySelector(d);if(!u)return{success:!1,error:`Element not found for selector: ${d}`};let{container:h,isRoot:b}=this.getScrollContainerForElement(u),v=Ke(h),S=v?.DOMRect||DOMRect,k=b?new S(0,0,v.innerWidth??0,v.innerHeight??0):h.getBoundingClientRect(),x=u.getBoundingClientRect(),C=24,_=x.top>=k.top+C&&x.bottom<=k.bottom-C,I=f?.isTabActive??!document.hidden,M=f?.behavior,G=I&&M==="smooth",O=this.normalizeScrollPosition(m);if(m===In.NEAREST&&_)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(h,b)};try{u.scrollIntoView({behavior:G?"smooth":"auto",block:O,inline:"nearest"})}catch{u.scrollIntoView()}let Y=this.getScrollMetricsForContainer(h,b);return{success:!0,position:O,...Y}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,u=fe(d),h=Ke(d),b=m&&h?h.innerHeight:d.clientHeight,v=Math.max(0,f-b),k=(m?u.scrollingElement||u.documentElement||u.body:d).scrollTop;return{scrollTop:k,scrollHeight:f,clientHeight:b,maxScroll:v,isAtTop:k<=5,isAtBottom:k>=v-5,scrollPercentage:v>0?k/v*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),u=fe(m),h=xe(u),b=f?Math.max(u.documentElement?u.documentElement.scrollHeight:0,u.body?u.body.scrollHeight:0):m.scrollHeight,v=f?h.innerHeight:m.clientHeight,S=Math.max(0,b-v),x=(f?u.scrollingElement||u.documentElement||u.body:m).scrollTop;return{element:ka(m,u),scrollTop:x,scrollHeight:b,clientHeight:v,maxScroll:S,isAtTop:x<=5,isAtBottom:x>=S-5,scrollPercentage:S>0?x/S*100:0}}}let o=new r;window[e]=o;let i={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=i}catch{}}let a=window.__RTRVR_INTERNAL_KEY__||n,s=window[a],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||i}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(a!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var mT=/\[id=(\d+)\]/,pn;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(pn||(pn={}));var hT=20,xa=new Map;function gT(e,t){if(xa.size>=hT&&!xa.has(e)){let n=xa.keys().next().value;n!==void 0&&xa.delete(n)}xa.set(e,t)}var bT=24,yT=220,vT=0,kT=250,xT=2,wT=300,ST=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),TT=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function _T(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[Yn["rtrvr-label"]],i=r?.resourceLocator;if(typeof o=="string"&&typeof i=="string"){let a=o.match(mT);if(a?.[1]){let s=Number(a[1]);Number.isFinite(s)&&(t[s]=i)}}}return t}function db(e,t){let n={};for(let r of Object.keys(e)){let o=e[Number(r)],i=Array.isArray(o?.frameRealm)?Number(o.frameRealm[0]):NaN;if(!Number.isFinite(i)||i<=0)continue;let a=typeof o.resourceLocator=="string"&&o.resourceLocator.trim()?o.resourceLocator.trim():void 0,s;if(a)try{s=new URL(a,t).origin}catch{s=void 0}let c=typeof o.computedName=="string"&&o.computedName.trim()?o.computedName.trim():void 0;n[Math.trunc(i)]={...s?{origin:s}:{},...a?{url:a}:{},...c?{title:c}:{},hostElementId:Number(r)}}return Object.keys(n).length>0?{version:1,realms:n}:void 0}function ET(e){try{let n=(e.defaultView||Nr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?Ch(r()):void 0}catch{return}}async function yb(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||Uo,i=String(r.contentType||"").trim().toLowerCase(),a=MT(i,r),s=CT(a.documentType,i),c=ET(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=RT(o),m=IT(o);if(a.documentType!==pn.HTML){let O=Number(o?.pageDataTimeoutMs),Y=Number.isFinite(O)?Math.max(200,Math.floor(O)):9e3,Z=Math.max(200,Math.min(Y,un(d))),ae=PT(r,a.documentType,o,d),H=await ya(ae,Z,r);if(!H.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let X=H.value||{},re=a.documentType===pn.GOOGLE_SHEET?u_(r):void 0;return{...l,...X,contentType:X.contentType||l.contentType,sheetInfo:X.sheetInfo||re}}if(o?.onlyTextContent)return{...l,contentType:ga,content:zs(r)};let f=Math.max(0,Math.min(1e3,un(d))),u=performance.now(),h=!1;if(!o?.disableAutoScroll&&f>80){let O=r.hidden?200:400,Y=Math.min(O,f);Y>80&&(h=await c_(r,{profile:"light",timeBudgetMs:Y,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let b=Math.max(0,f-(performance.now()-u));b>60&&await ub(r,{...m,deadlineEpochMs:d,totalBudgetMs:b});let v=Math.max(0,f-(performance.now()-u));v>80&&await d_(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,v),budgetMs:Math.min(r.hidden?200:300,v),maxPasses:r.hidden?1:2});let S=Fs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),k="normal",x=0,C=0,_=[],I=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,M=pb(r,S.rootNodes,S.semanticNodes);if(M.needsStabilization){_=[...M.reasons],k="suspicious_unrecovered";let O=I?Math.max(0,Math.min(wT,un(d)-20)):0;if(O>20){let Y=Date.now();await ub(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:O}),C=Date.now()-Y,x=1,S=Fs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let Z=pb(r,S.rootNodes,S.semanticNodes);Z.reasons.length>0&&(_=[...Z.reasons]),!Z.needsStabilization&&!fb(S.rootNodes,S.semanticNodes)&&(k="suspicious_recovered")}}if(fb(S.rootNodes,S.semanticNodes)){let O=db(S.semanticNodes,r.URL);return{...l,contentType:ga,content:zs(r),metadata:{scrollingPerformed:h,extractionMethod:"empty_tree_fallback",...O?{frameRealms:O}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}let G=db(S.semanticNodes,r.URL);return{...l,contentType:ga,roots:S.rootNodes,nodes:S.semanticNodes,elementLinkRecord:_T(S.semanticNodes),metadata:{scrollingPerformed:h,extractionMethod:k!=="normal"?k:void 0,...G?{frameRealms:G}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}function IT(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),i=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):bT,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):yT,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):vT,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):kT,sparseTreeRetryMaxAttempts:Number.isFinite(i)?Math.max(0,Math.min(4,Math.floor(i))):xT}}async function ub(e,t){let n=un(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,i=0;for(;i<=t.retries&&un(o)>20;){let a=Math.max(40,Math.min(t.maxWaitMs,un(o)));if(await AT(e,{debounceMs:t.debounceMs,windowBudgetMs:a,deadlineEpochMs:o}))return;i+=1}}async function AT(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let i=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;un(t.deadlineEpochMs)>20&&un(i)>20;){let a=Date.now()-r;if(a>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-a,un(t.deadlineEpochMs),un(i)));await bn(s,e)}}finally{o.disconnect()}return!1}function RT(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function CT(e,t){switch(e){case pn.PDF:return Ru;case pn.GOOGLE_DOC:return ef;case pn.GOOGLE_SHEET:return Cu;case pn.PLAIN_TEXT:return Ll;case pn.HTML:default:return t||ga}}function MT(e,t){let n=e||String(t.contentType||"").toLowerCase();return Xg(n)?{documentType:pn.PDF}:NT(t)&&(DT(t)||LT(t.URL))?{documentType:pn.PDF}:KT(t)?{documentType:pn.GOOGLE_DOC}:GT(t)?{documentType:pn.GOOGLE_SHEET}:n.includes(Ll)?{documentType:pn.PLAIN_TEXT}:{documentType:pn.HTML}}function NT(e){try{let t=zT(e);return tf(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function LT(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function DT(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(i=>!["SCRIPT","STYLE"].includes(String(i.tagName).toUpperCase())).length<=3}catch{return!1}}async function PT(e,t,n,r){switch(t){case pn.PDF:return OT(e,n,r);case pn.GOOGLE_DOC:return BT(e);case pn.GOOGLE_SHEET:return i_(e,n);case pn.PLAIN_TEXT:return{content:zs(e),contentType:Ll};case pn.HTML:default:return{content:zs(e),contentType:ga}}}async function OT(e,t,n){un(n)>Au+50&&await Yg(Au,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=Uo.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),i=un(n),s=Number.isFinite(i)?Math.max(150,Math.min(o,Math.max(0,i-150))):o,c=await jT(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:Ru,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function BT(e){return{content:o_(),contentType:ef}}function fb(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function UT(e){return!!(e.documentElement?.hasAttribute(yi)||e.body?.hasAttribute(yi)||e.body?.getAttribute?.("aria-busy")==="true")}function FT(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,i=o?Object.values(n):[],a=0,s=0;for(let c of i){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||TT.has(l))&&(s+=1),ST.has(l)&&(a+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?a/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:UT(e)}}function pb(e,t,n){let r=FT(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=zs(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function zs(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function zT(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let i=o(e.body||e.documentElement);if(i)return i}}catch{}return e}function HT(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function jT(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):Uo.pdfTextSelectionTimeoutMs,r=HT(e),o=xa.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let i=await $T(e,n);return i.success&&i.data.trim()&&gT(r,i.data),i}async function $T(e,t){let n=e.defaultView||window,r=qT(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=!1,a="",s=d=>{if(i||!VT(String(d.origin||""),e))return;let m=d.data;WT(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(a=m.selectedText,i=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!i&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await bn(200,e),a.trim()){i=!0;break}}return n.removeEventListener("message",s),a.trim()?{success:!0,data:a,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function qT(e){let t=tf(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function VT(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function WT(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function KT(e){try{let t=e.defaultView||Nr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return wa(e)!==null}function GT(e){let n=(e.defaultView||Nr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function XT(e){try{return e.defaultView?.top?.document??e}catch{return e}}function Hl(e){let t=[e],n=XT(e);return n!==e&&t.push(n),t}var YT=".docs-texteventtarget-iframe",JT=".kix-cursor",QT=".docos-replyview-body",ZT=".docos-replyview",e_=".docos-author",vb="\u200B",t_="\xA0";function wa(e){for(let t of Hl(e)){let n=t.querySelector(YT);if(n)return n}return null}function n_(e){for(let t of Hl(e)){let n=t.querySelector(JT);if(n)return n}return null}function Ul(e){let t=n_(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function Fl(e,t){let n=wa(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",i={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},a=n.contentDocument,s=n.contentWindow;if(!a)return;let c=s?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new c("keydown",i))}function mb(e){let t=wa(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let i=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new i("keydown",n))}function r_(e){let t=wa(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},i=t.contentDocument,a=t.contentWindow;if(!i)return;let s=a?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new s("keydown",o))}function zl(e){let t=wa(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let i=o.innerText||o.textContent||"";return String(i).replace(new RegExp(vb,"g"),"")??""}function cf(e){let t=`
2
2
 
3
- Comments: `,n=new Set,r=[];for(let i of Fl(e))try{let a=Array.from(i.querySelectorAll(JT));for(let s of a)n.has(s)||(n.add(s),r.push(s))}catch{}let o=r.filter(i=>i.textContent);if(o.length===0)return"";for(let i of o){let a=i.closest(QT);if(!a)continue;let s=a.querySelector(ZT);s&&s.textContent&&(t+=`
3
+ Comments: `,n=new Set,r=[];for(let i of Hl(e))try{let a=Array.from(i.querySelectorAll(QT));for(let s of a)n.has(s)||(n.add(s),r.push(s))}catch{}let o=r.filter(i=>i.textContent);if(o.length===0)return"";for(let i of o){let a=i.closest(ZT);if(!a)continue;let s=a.querySelector(e_);s&&s.textContent&&(t+=`
4
4
  Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
5
- `)}return t.trim()}function r_(){let e=qt()||document,t=ya(e),n=t?.contentDocument,r=t?.contentWindow,o=()=>{let i=n?.body,a=qt(),s=i?.innerText||i?.textContent||""||a?.body?.innerText||a?.body?.textContent||"";return String(s).replace(new RegExp(yb,"g"),"")+af(e)};try{try{r?.focus(),n?.body?.focus?.()}catch{}if(n_(e),Ol(e)){let c=Ul(e);if(c.trim()!==""){let l=af(e).trim();return c+l}else pb(e)}let i="";if(Bl(e,!0),Ol(e)){let c=Ul(e);c.endsWith(`
5
+ `)}return t.trim()}function o_(){let e=qt()||document,t=wa(e),n=t?.contentDocument,r=t?.contentWindow,o=()=>{let i=n?.body,a=qt(),s=i?.innerText||i?.textContent||""||a?.body?.innerText||a?.body?.textContent||"";return String(s).replace(new RegExp(vb,"g"),"")+cf(e)};try{try{r?.focus(),n?.body?.focus?.()}catch{}if(r_(e),Ul(e)){let c=zl(e);if(c.trim()!==""){let l=cf(e).trim();return c+l}else mb(e)}let i="";if(Fl(e,!0),Ul(e)){let c=zl(e);c.endsWith(`
6
6
 
7
- `)||(i+=c.trimEnd())}if(Bl(e,!1),Ol(e)?Ul(e).endsWith(e_+`
8
- `)&&Bl(e,!1):Bl(e,!1),Ol(e)){let c=Ul(e);c.trim()!==""&&!c.startsWith(`
9
- `)&&(i+=c)}pb(e);let a=af(e).trim(),s=i.trim()+a;return s.trim()?s:o()}catch{return o()}}async function o_(e,t){let n="",r;vb(e,e.defaultView||window);let o=dn(t?.deadlineEpochMs);try{let i=Math.max(250,Math.min(1500,Math.floor(o*.45))),a=await ma(i_(e),i,e);if(!(a.ok&&a.value))throw new Error("google_sheet_copy_failed");let c=dn(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await a_(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(i){r=i instanceof Error?i.message:String(i)}return{content:n,contentType:Au,error:r}}function vb(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function sf(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),i=e.activeElement;(i&&i.ownerDocument===e?i:e).dispatchEvent(o)}async function i_(e){try{if(vb(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;sf(e,{key:"Escape",code:"Escape"}),await gn(150,e);let t=e.querySelector(".grid-container")||mb(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||mb(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await gn(100,e)}else if(t){try{t.focus?.()}catch{}await gn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;sf(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await gn(200,e),sf(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await gn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function a_(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let i=await ma(navigator.clipboard.readText(),n,t);if(i.ok)return i.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function mb(e,t){let n=Fl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,i=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},a=[];for(let s of n)try{i(a,s.documentElement??s.body??null)}catch{}for(;a.length&&o<r;){let s=a.pop();o++;try{if(s.matches(t))return s}catch{}i(a,s);let c=s.shadowRoot;if(c&&i(a,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&i(a,d.documentElement??d.body??null)}catch{}}return null}async function s_(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let i=Date.now(),a=()=>o-(Date.now()-i),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),u=t?.maxDistancePx??(n==="light"?12e3:3e4),h=null;try{let k=await hb(e,{action:"detectPrimary"});if(k?.selector){let C=c_(e,k.selector);C&&(h=C)}let x=k?.metrics;if(x&&typeof x.scrollHeight=="number"&&typeof x.clientHeight=="number"){let C=Math.max(0,x.scrollHeight-x.clientHeight);u=Math.min(u,C||u),C<1500?f=Math.min(f,2):C<4e3?f=Math.min(f,4):C<1e4&&(f=Math.min(f,6))}}catch{}if(h||(h=e.scrollingElement||e.documentElement||e.body),!h)return!1;let b=0,v=null,S=0;for(let k=0;k<f&&!(a()<=0);k++){let x=null;try{x=await hb(e,{action:"scrollBy",direction:Wt.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!x||!x.success){let _=e.defaultView||window;x=Pl(h,e,_,Wt.DOWN,m),S=2}if(!x?.success)break;let C=x.scrollTop??v??0;if(v!==null){let _=Math.max(0,C-v);b+=_,S=_===0?S+1:0}if(v=C,x.isAtBottom||S>=2||b>=u)break;if(l>0&&k<f-1){let _=Math.min(l,Math.max(0,a()));if(_<=0)break;await gn(_,e)}}if(d>0){let k=Math.min(d,Math.max(0,a()));k>0&&await gn(k,e)}if(a()>80)try{let k=e.scrollingElement||e.documentElement||e.body,x=e.defaultView||window,C=h===e.documentElement||h===e.body||h===k?k:h;if(C){let _=C===k?x.innerHeight:C.clientHeight||x.innerHeight,I=Math.max(0,C.scrollHeight-_);C.scrollTop=I}}catch{}return!0}function c_(e,t){try{return e.querySelector(t)}catch{return null}}async function hb(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof a!="function"?null:a(t)}async function l_(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let a=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&dn(a)>0;){let c=Math.max(50,Math.min(t.budgetMs,dn(a)));try{await i({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{break}if(gb(e)===0)break;s++}if(gb(e)>0&&dn(a)>50){let c=Math.min(120,dn(a));try{await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{}}}function gb(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(gi);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function d_(e){let t=u_(e.URL||"");if(!t?.sheetId)return;let n=f_(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function u_(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let i=n[o+1];if(!i||!/^[a-zA-Z0-9_-]+$/.test(i))return null;let a;return t.hash&&t.hash.includes("gid=")&&(a=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!a&&t.searchParams.has("gid")&&(a=t.searchParams.get("gid")??void 0),a&&!/^\\d+$/.test(a)&&(a=void 0),{sheetId:i,sheetTabId:a?parseInt(a,10):0}}catch{return null}}function f_(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var fr;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(fr||(fr={}));var p_={native:fr.Native,inline:fr.Inline,react:fr.React,vue:fr.Vue,angular:fr.Angular,svelte:fr.Svelte,jquery:fr.JQuery,delegated:fr.Delegated,other:fr.Other};function kb(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,i=new WeakMap,a=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",u="__RTRVR_ATTACH_SHADOW_HOOKED__";function h(y){if(y&&!m.has(y)){m.add(y);try{b(y)}catch{}try{v(y)}catch{}}}function b(y){try{let P=y.EventTarget;if(!P?.prototype||P.prototype[f])return;P.prototype[f]=!0;let $=P.prototype.addEventListener,q=P.prototype.removeEventListener;P.prototype.addEventListener=function(te,de,_e){try{pt(de)||yr(this,te,_e)}catch{}return $.call(this,te,de,_e)},P.prototype.removeEventListener=function(te,de,_e){try{mo(this,te,_e)}catch{}return q.call(this,te,de,_e)};try{let te=Function.prototype.toString;P.prototype.addEventListener.toString=()=>te.call($),P.prototype.removeEventListener.toString=()=>te.call(q)}catch{}}catch{}}function v(y){try{let P=y.Element;if(!P?.prototype?.attachShadow||P.prototype[u])return;P.prototype[u]=!0;let $=P.prototype.attachShadow;P.prototype.attachShadow=function(q){let te=$.call(this,q);try{ol.set(this,te)}catch{}try{St(te)}catch{}return te};try{let q=Function.prototype.toString;P.prototype.attachShadow.toString=()=>q.call($)}catch{}}catch{}}function S(y){let $=n.get(y)?.listenerTypeMasks;if($&&$.size){let q=[];for(let te of $.keys()){let de=go[te];de&&q.push(de)}return q}return xs(y)}let k=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],x=0,C=new Set,_=null,I=!1,M=6,G=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],O=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!qt()?.hidden);return}e[t]=!0;let Y={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function Z(y){return y?String(y).split(".")[0].toLowerCase():""}let ae=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],H=0,X=null,re=new MessageChannel,oe=[];re.port1.onmessage=()=>{let y=oe.shift();y&&y()};function pe(){return Date.now()}function me(y){return!y||!Number.isFinite(y)?Number.POSITIVE_INFINITY:Math.max(0,y-pe())}let Se=8,Fe=new MessageChannel,Pe=!1;function ve(){if(!Pe){Pe=!0;try{Fe.port2.postMessage(0)}catch{}}}function B(y){let P=y.values().next();if(P.done)return null;let $=P.value;return y.delete($),$}function W(){return new Promise(y=>{oe.push(y),re.port2.postMessage(0)})}let F=!1;function ee(){if(!F)try{let y=e.jQuery;y&&y.fn&&(Nt(y),F=!0,Ot("jquery"))}catch{}}function ue(y,P){for(let $=P.lastElementChild;$;$=$.previousElementSibling)y.push($)}function ce(y,P,$){if($)try{let q=zn(P);q&&y.push(q)}catch{}}function Me(y,P,$){if($&&ks(P))try{let q=P.contentWindow||null;q&&h(q);let te=q?.document?.documentElement;te&&y.push(te)}catch{}}let he=new WeakSet;function lt(y){y&&(typeof y=="function"||typeof y=="object")&&he.add(y)}function pt(y){return!!y&&(typeof y=="function"||typeof y=="object")&&he.has(y)}Fe.port1.onmessage=()=>{if(xn()){C.clear(),a.clear(),x=0,ot(),Pe=!1;return}Pe=!1,dt(500);let y=performance.now();for(;C.size&&performance.now()-y<Se;){let P=B(C);if(!P)break;try{Te(P)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-y<Se;){let P=B(a);if(!P)break;try{Sn(P)}catch{}}ot(),(C.size||a.size)&&ve()};function ot(){try{let y=qt()?.documentElement;if(!y)return;y.setAttribute(gi,String(x))}catch{}}function He(y){let P=n.get(y);return P||(P={frameworks:new Set,listeners:new Map},n.set(y,P)),P}function Ht(y){xn()||(a.add(y),a.size>2e3&&dt(1500),ve())}function Ve(y){xn()||C.has(y)||(C.add(y),x++,ot(),ve(),C.size>2e3&&dt(1500))}function dt(y=1500){let P=0;for(let $ of C){if(P>=y)break;P++,$.isConnected||(C.delete($),x=Math.max(0,x-1))}P=0;for(let $ of a){if(P>=y)break;P++,$.isConnected||a.delete($)}ot()}let Ne=null;function Xe(y,P,$){return`${y}|${P?1:0}|${$?1:0}`}function Dt(y){let P=y.tagName;if(P==="A"||P==="BUTTON"||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"||P==="SUMMARY"||y.hasAttribute("role")||y.hasAttribute("tabindex")||y.hasAttribute("contenteditable")||y.hasAttribute("onclick")||y.getAttributeNames().some($=>$.startsWith("on")))return!0;for(let $ of ae)if(y.hasAttribute($))return!0;return!!(y.hasAttribute("aria-haspopup")||y.hasAttribute("aria-expanded"))}function jt(y){let P=Ke(y);if(!ln(y,P))return!1;let $=y.tagName;if($!=="DIV"&&$!=="SPAN"&&$!=="LI"&&$!=="SECTION"&&$!=="ARTICLE"&&$!=="P")return!1;let q=y;if(q.__ngContext__||q.__svelte__||q.__vue__||q._vnode||q.__reactFiber$||q.__reactProps$)return!0;let te=0;for(let de in q){if(++te>30)break;if(de.startsWith("__react")||de.includes("reactFiber")||de.includes("reactProps"))return!0}return!1}function wt(){let y=qt()?.documentElement;return y?r.frameworks.size>0||y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte")||y.hasAttribute("rtrvr-jquery"):!1}function tt(y){if(xn())return;let P=performance.now();for(;C.size&&performance.now()-P<y;){let $=B(C);if(!$)break;try{Te($)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-P<y;){let $=B(a);if(!$)break;try{Sn($)}catch{}}}async function en(y={}){if(xn())return C.clear(),a.clear(),x=0,ot(),{revision:++H,scanned:0,durationMs:0,done:!0,remaining:0};dt(3e3),ee(),at();let P=y.mode??"full",$=y.includeShadow??!0,q=y.includeSameOriginIframes??!0,te=Math.max(50,Math.min(y.budgetMs??2500,15e3)),de=y.deadlineEpochMs,_e=Math.max(0,Math.min(te,me(de))),Be=Xe(P,$,q);if(_e<=0){let _n=(Ne?.stack?.length??0)+C.size+a.size;return{revision:++H,scanned:0,durationMs:0,done:_n===0,remaining:_n}}if((!Ne||Ne.optsKey!==Be)&&me(de)>30&&await Ze({budgetMs:18,deadlineEpochMs:de}),P==="priority"){let _n=performance.now(),vt=0;for(;C.size&&performance.now()-_n<=_e&&!(de&&me(de)<=0);){let Pt=B(C);if(!Pt)break;try{Te(Pt)}catch{}vt++,x=Math.max(0,x-1)}for(;a.size&&performance.now()-_n<=_e&&!(de&&me(de)<=0);){let Pt=B(a);if(!Pt)break;try{Sn(Pt)}catch{}}return ot(),{revision:++H,scanned:vt,durationMs:performance.now()-_n,done:C.size===0&&a.size===0,remaining:C.size+a.size}}if(!Ne||Ne.optsKey!==Be){let _n=qt()?.documentElement;Ne={optsKey:Be,stack:_n?[_n]:[],scannedTotal:0}}let bt=performance.now(),mt=0;for(x++,ot();Ne.stack.length&&!(de&&me(de)<=0);){let _n=Ne.stack.pop();if(cr(_n)){let Pt=_n.children;for(let Cr=Pt.length-1;Cr>=0;Cr--)Ne.stack.push(Pt[Cr]);continue}let vt=_n;if(!(!vt||vt.nodeType!==1)&&!(vt.tagName==="SCRIPT"||vt.tagName==="STYLE"||vt.tagName==="META"||vt.tagName==="NOSCRIPT")){try{(Dt(vt)||wt()&&jt(vt))&&Te(vt)}catch{}try{Sn(vt)}catch{}if(C.delete(vt)&&(x=Math.max(0,x-1)),a.delete(vt),mt++,Ne.scannedTotal++,$)try{let Pt=zn(vt);Pt&&(St(Pt),Ne.stack.push(Pt))}catch{}if(q&&ks(vt))try{let Pt=vt.contentWindow||null;Pt&&h(Pt);let Cr=Pt?.document,il=Cr?.documentElement;Cr&&il&&(ye(Cr),Ne.stack.push(il))}catch{}for(let Pt=vt.lastElementChild;Pt;Pt=Pt.previousElementSibling)Ne.stack.push(Pt);mt%800===0&&me(de)>20&&await W()}}let Ct=Math.max(0,_e-(performance.now()-bt)),mn=me(de);tt(Math.min(250,Ct,mn)),x=Math.max(0,x-1),ot();let nn=Ne.stack.length===0,Hn=Ne.stack.length;return nn&&(Ne=null),{revision:++H,scanned:mt,durationMs:performance.now()-bt,done:nn,remaining:Hn}}async function tn(y={}){return X||(X=en(y).finally(()=>{X=null}),X)}e.rtrvrAIFlushScan=tn;let an="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=an;let pn=e[an],Xn=pn&&typeof pn=="object"?pn:{};if(!pn)try{Object.defineProperty(e,an,{value:Xn,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(Xn,"flushScan",{value:tn,writable:!1,configurable:!1,enumerable:!1})}catch{}function Ce(y,P){let $=He(y),q=Z(P.type);if(!q)return;let te=!1,de=$.listeners.get(q);de||(de=[],$.listeners.set(q,de),te=!0);let _e=de.find(je=>je.source===P.source&&!!je.inferred==!!P.inferred);if(_e){let je=!!_e.capture,bt=!!_e.passive,mt=!!_e.once;_e.capture=_e.capture||P.capture,_e.passive=_e.passive||P.passive,_e.once=_e.once||P.once,(je!==!!_e.capture||bt!==!!_e.passive||mt!==!!_e.once)&&(te=!0)}else de.push({...P,type:q}),te=!0;let Be=xt[q];if(Be!==void 0){$.listenerTypeMasks||($.listenerTypeMasks=new Map);let je=0,bt=p_[P.source];je|=bt!==void 0?bt:fr.Other,P.inferred&&(je|=fr.Inferred);let mt=$.listenerTypeMasks.get(Be)||0,Ct=mt|je;Ct!==mt&&($.listenerTypeMasks.set(Be,Ct),te=!0)}te&&($.role=void 0,Ht(y))}function gr(y){let P=y.listenerTypeMasks;return!P||P.size===0?null:[...P.entries()].sort((q,te)=>q[0]-te[0]).map(([q,te])=>`${q}~${(te||0).toString(36)}`).join(",")}function Le(y,P){let $=He(y);$.frameworks.has(P)||($.frameworks.add(P),Ht(y))}function Ot(y){r.frameworks.has(y)||(r.frameworks.add(y),qt()?.documentElement?.setAttribute(`rtrvr-${y}`,"1"))}function Sn(y){let P=n.get(y);if(!P)return;a.delete(y);let $=gr(P);$?$!==P.lastListenersSerialized&&(y.setAttribute(Uo,$),P.lastListenersSerialized=$):P.lastListenersSerialized&&(y.removeAttribute(Uo),P.lastListenersSerialized=void 0);let q=Ke(y);if(ln(y,q))if(P.role===void 0&&(P.role=ir(y)),P.role){let te=aa[P.role],de=typeof te=="number"?String(te):`s:${P.role}`;de!==P.lastRoleSerialized&&(y.setAttribute(yo,de),P.lastRoleSerialized=de)}else(P.lastRoleSerialized||y.hasAttribute(yo))&&(y.removeAttribute(yo),P.lastRoleSerialized=void 0)}function Mt(y){let P=[],$=y;for(;$;)P.push($),$=$.parentNode||$.host;return P}function gs(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),q=$?$.toLowerCase().trim():"";if(q&&bo.has(q)||P==="button"||(P==="a"||P==="area")&&y.hasAttribute("href"))return!0;if(P==="input")return y.type?.toLowerCase()!=="hidden";if(P==="select"||P==="textarea"||(P==="video"||P==="audio")&&y.hasAttribute("controls")||y.isContentEditable||y.hasAttribute("contenteditable"))return!0;let te=y.getAttribute("tabindex");return!!(te!==null&&!Number.isNaN(Number.parseInt(te,10))&&(S(y).some(Be=>bl.has(Be))||y.getAttributeNames().some(Be=>Be.startsWith("on"))))}function bs(y,P=10){let $=[];for(let q=0;q<y.children.length;q++)$.push({node:y.children[q],depth:1});for(;$.length;){let{node:q,depth:te}=$.pop();if(gs(q))return!0;if(!(te>=P))for(let de=0;de<q.children.length;de++)$.push({node:q.children[de],depth:te+1})}return!1}function ir(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),q=$?$.toLowerCase().trim():"",te=y.type?.toLowerCase();if(q&&bo.has(q))return q;if(q&&ws.has(q))return null;if(P==="a"&&y.hasAttribute("href"))return"link";if(P==="button")return"button";if(P==="input")return te==="hidden"?null:te==="checkbox"?"checkbox":te==="radio"?"radio":te==="range"?"slider":te==="number"?"spinbutton":te==="search"?"searchbox":["button","submit","reset","image","file"].includes(te)?"button":y.hasAttribute("list")?"combobox":"textbox";if(P==="textarea")return"textbox";if(P==="select"){let Ct=y;return Ct.multiple||Ct.size&&Ct.size>1?"listbox":"combobox"}if(P==="option")return"option";if(P==="form")return"form";if(P==="video"||P==="audio"){let Ct=xs(y);return y.hasAttribute("controls")||Ct.length>0?"media":null}if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";let de=S(y);if(!de.length)return null;let _e=!1,Be=!1,je=!1;for(let Ct=0;Ct<de.length;Ct++){let mn=de[Ct];!_e&&bl.has(mn)&&(_e=!0),!Be&&Ou.has(mn)&&(Be=!0),!je&&Bu.has(mn)&&(je=!0)}if(!_e&&!Be&&!je)return null;let bt=y.getAttribute("tabindex"),mt=bt!==null&&!Number.isNaN(Number.parseInt(bt,10));if(_e&&(Wu(y)||y.getAttribute("href")||y.closest("a[href]")))return"link";if(Be){if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";if(q==="textbox"||q==="searchbox"||q==="combobox"||q==="spinbutton")return q;if(!_e&&mt)return"textbox"}if(_e){let Ct=y.getAttribute("aria-checked"),mn=y.getAttribute("aria-pressed");if(Ct!==null||mn!==null){if(q==="radio")return"radio";if(q==="menuitemradio")return"menuitemradio";if(q==="menuitemcheckbox")return"menuitemcheckbox";if(mn!==null)return"button";if(Ct!==null)return"checkbox"}if((mt||q==="button")&&!bs(y))return"button"}return je?"application":null}let ut=EventTarget.prototype.addEventListener,kn=EventTarget.prototype.removeEventListener;function Fn(y){let P=!1,$,q;return typeof y=="boolean"?P=y:y&&typeof y=="object"&&(P=!!y.capture,$=y.passive,q=y.once),{capture:P,passive:$,once:q}}function br(y){try{let P=y;if(P?.nodeType===9&&P?.documentElement)return P;let $=P?.document;if($&&$.nodeType===9&&$.documentElement)return $}catch{}return null}function yr(y,P,$){let q=Z(P);if(!q)return;let{capture:te,passive:de,once:_e}=Fn($),Be=o.get(y);Be||(Be=new Map,o.set(y,Be));let je=Be.get(q);if(je?(je.count+=1,je.capture=je.capture||te,je.passive=je.passive||de):Be.set(q,{count:1,capture:te,passive:de}),mi(y))try{Ce(y,{type:q,source:"native",capture:te,passive:de,once:_e})}catch{}let bt=br(y);if(bt&&(q==="click"||q==="input"||q==="keydown"))try{bt.documentElement?.setAttribute(`rtrvr-gl-${q}`,"1")}catch{}}function mo(y,P,$){let q=Z(P);if(!q)return;let te=o.get(y);if(!te)return;let de=te.get(q);de&&(de.count-=1,de.count<=0&&te.delete(q),te.size===0&&o.delete(y))}h(window);function Nt(y){if(!y||!y.fn)return;let P=y.fn.on,$=y.fn.off;function q(de){if(!de)return[];if(typeof de=="string")return de.split(/\s/).map(_e=>Z(_e)).filter(Boolean);if(typeof de=="object")try{return Object.keys(de).map(_e=>Z(_e)).filter(Boolean)}catch{return[]}return[]}function te(de){try{if(!de)return null;if(mi(de))return de;let _e=Ke(de);return pl(de,_e)||null}catch{}return null}y.fn.on=function(de,_e){let Be=q(de),je=typeof _e=="string"&&!!_e;return this.each(function(){let bt=te(this);if(bt){if(je){let mt=i.get(bt);mt||(mt=[],i.set(bt,mt));for(let Ct of Be){let mn=`${Ct}::${_e}`;mt.some(nn=>`${nn.type}::${nn.selector}`===mn)||(mt.push({type:Ct,selector:_e}),mt.length>400&&mt.shift())}}else for(let mt of Be)Ce(bt,{type:mt,source:"jquery"});Le(bt,"jquery"),Ot("jquery"),r.jqueryRoots.add(bt)}}),P.apply(this,arguments)},y.fn.off=function(){return $.apply(this,arguments)},Ot("jquery")}function Ar(y){ae.some($=>y.hasAttribute($))&&(Ce(y,{type:"click",source:"other",inferred:!0}),(y.tagName==="INPUT"||y.tagName==="TEXTAREA")&&(Ce(y,{type:"input",source:"other",inferred:!0}),Ce(y,{type:"change",source:"other",inferred:!0})))}function Jr(y){let P=Ke(y),$=ln(y,P),q=y.getAttributeNames().some(je=>je.startsWith("on")),te=/^(button|a|input|select|textarea|summary)$/i.test(y.tagName),de=y,_e=$&&(xl(y)||!!de.isContentEditable||y.hasAttribute("contenteditable")),Be=$&&!!de.draggable;if(!q&&!te&&!_e&&!Be){Ar(y);return}for(let[je,bt]of Object.entries(Y))typeof y[je]=="function"&&Ce(y,{type:bt,source:"inline"});_e&&(Ce(y,{type:"input",source:"other",inferred:!0}),Ce(y,{type:"keydown",source:"other",inferred:!0}),Ce(y,{type:"keyup",source:"other",inferred:!0}),Ce(y,{type:"paste",source:"other",inferred:!0})),Be&&(Ce(y,{type:"dragstart",source:"other",inferred:!0}),Ce(y,{type:"dragend",source:"other",inferred:!0})),Ar(y)}function g(y){if(!y.startsWith("on")||y.length<=2)return null;if(y.endsWith("Capture")){let $=y.substring(2,y.length-7);return $?{type:$.toLowerCase(),capture:!0}:null}let P=y.substring(2);return P?{type:P.toLowerCase(),capture:!1}:null}function D(y){let P=null;if(y){for(let $ in y)if($.startsWith("__react")||$.startsWith("_react")||$.includes("reactFiber")||$.includes("reactProps")||$.includes("reactInternalInstance")){P=$;break}if(P)try{let $=y[P],q=$?.memoizedProps||$?.pendingProps;if(q&&typeof q=="object"){for(let te in q){if(typeof q[te]!="function")continue;let _e=g(te);_e&&Ce(y,{type:_e.type,source:"react",capture:_e.capture})}mi($?.stateNode)&&r.reactRoots.add($.stateNode),Le(y,"react"),Ot("react")}}catch{}}}function N(y){let P=y,$=!1;if(P.__vue__){$=!0;let q=P.__vue__;q.$listeners&&Object.keys(q.$listeners).forEach(te=>Ce(y,{type:te,source:"vue"})),q._events&&Object.keys(q._events).forEach(te=>Ce(y,{type:te,source:"vue"})),q.$options?._parentListeners&&Object.keys(q.$options._parentListeners).forEach(te=>Ce(y,{type:te,source:"vue"})),r.vueRoots.add(y)}if(P._vnode?.props){$=!0;let q=P._vnode.props;Object.keys(q).forEach(te=>{te.startsWith("on")&&te.length>2&&Ce(y,{type:te.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(y)}$&&(Le(y,"vue"),Ot("vue"))}function R(y){let P=y,$=!1;if(P.__ngContext__||y.hasAttribute("_ngcontent")||y.hasAttribute("ng-version")){$=!0,Array.from(y.attributes).forEach(q=>{if(q.name.startsWith("(")&&q.name.endsWith(")")){let te=q.name.slice(1,-1).split(".")[0];te&&Ce(y,{type:te,source:"angular"})}if(q.name.startsWith("on-")){let te=q.name.substring(3);te&&Ce(y,{type:te,source:"angular"})}if(q.name.includes(".")){let te=q.name.match(/\(([^.)]+)/);te?.[1]&&Ce(y,{type:te[1],source:"angular"})}});try{if(e.ng?.getComponent){let q=e.ng.getComponent(y);q&&Object.keys(q).forEach(te=>{(te.endsWith("Output")||te.endsWith("Emitter"))&&Ce(y,{type:te.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}$&&(Le(y,"angular"),Ot("angular"),r.angularRoots.add(y))}function T(y){let P=y,$=!1;if(P.__svelte__){$=!0,Array.from(y.attributes).forEach(q=>{if(q.name.startsWith("on:")){let te=q.name.substring(3);te&&Ce(y,{type:te,source:"svelte"})}});try{let q=P.__svelte__?.$$?.callbacks;q&&typeof q=="object"&&Object.keys(q).forEach(te=>Ce(y,{type:te,source:"svelte"}))}catch{}r.svelteRoots.add(y)}$&&(Le(y,"svelte"),Ot("svelte"))}function w(y,P){return y?!!o.get(y)?.has(P):!1}function E(y,P,$=96){let q=Z(P);if(!q)return!1;let te=fe(y),de=xe(te);if(w(te,q)||w(de,q))return!0;let _e=0,Be=y;for(;Be&&_e<$;){if(Be.parentElement)Be=Be.parentElement;else{let je=Be.getRootNode?.();if(cr(je)){if(w(je,q)||w(je.host,q))return!0;Be=je.host}else break}if(Be&&w(Be,q))return!0}return!1}function U(y,P,$=128){let q=0,te=y;for(;te&&q<$;){if(P(te),te.parentElement){te=te.parentElement;continue}let de=te.getRootNode?.();if(cr(de)){te=de.host;continue}break}}function J(y){let P=Ke(y);if(!ln(y,P))return;let $=He(y);$.role=$.role||ir(y);let q=E(y,"click"),te=E(y,"input"),de=E(y,"keydown"),Be=fe(y).documentElement;if(r.frameworks.size>0||Be.hasAttribute("rtrvr-react")||Be.hasAttribute("rtrvr-vue")||Be.hasAttribute("rtrvr-angular")||Be.hasAttribute("rtrvr-svelte")||Be.hasAttribute("rtrvr-jquery")||q||te||de){let bt=$.role||"other";q&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(bt)&&Ce(y,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(bt)&&(te&&(Ce(y,{type:"input",source:"delegated",inferred:!0}),Ce(y,{type:"change",source:"delegated",inferred:!0})),de&&Ce(y,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(bt)&&(q&&Ce(y,{type:"click",source:"delegated",inferred:!0}),te&&Ce(y,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(bt)&&te&&Ce(y,{type:"input",source:"delegated",inferred:!0})}U(y,bt=>{let mt=i.get(bt);if(mt?.length)for(let{type:Ct,selector:mn}of mt)try{y.matches(mn)&&(Ce(y,{type:Ct,source:"jquery",inferred:!0}),Le(y,"jquery"),Ot("jquery"))}catch{}})}function K(y){let P=$=>{if(xn())return;let q=$,te=q.composedPath&&q.composedPath()||Mt($.target),_e=y==="mousemove"||y==="pointermove"||y==="scroll"||y==="wheel"?1:Math.min(te.length,M);for(let Be=0;Be<_e;Be++){let je=te[Be];mi(je)&&Ce(je,{type:y,source:"delegated",inferred:!0})}};lt(P);try{ut.call(document,y,P,{capture:!0,passive:!0})}catch{}}let Q=!1,ne=!1,se=null;function ke(){if(ne)return;ne=!0,G.forEach(K);let y=qt()?.documentElement;if(!y)return;let P=()=>{if(Q)return;let $=y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte"),q=y.hasAttribute("rtrvr-gl-click")||y.hasAttribute("rtrvr-gl-input")||y.hasAttribute("rtrvr-gl-keydown");($||q)&&(Q=!0,O.forEach(K))};P();try{se=new MutationObserver(()=>P()),se.observe(y,{attributes:!0,attributeFilter:ft})}catch{}}function Te(y){if(y.nodeType!==1)return;let P=Ke(y);if(ln(y,P)){let $=He(y);$.role=void 0}Jr(y),D(y),N(y),R(y),T(y),J(y),Ht(y)}function Ye(){if(xn())return;let y=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(bo).map(P=>`[role="${P}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];x++,ot();try{let P=y.join(",");qt()?.querySelectorAll(P).forEach($=>{try{Te($)}catch{}})}finally{x=Math.max(0,x-1),ot()}}let De=!1,Ae=[],ze=200;function yt(y){if(!xn()){for(let P of y)Ae.push(P);De||(De=!0,queueMicrotask(sn))}}function sn(){De=!1;let y=Ae;if(Ae=[],xn())return;let P=0;for(let $ of y){if(P>=ze)break;for(let q of Array.from($.addedNodes)){if(P>=ze)break;if(q.nodeType!==1)continue;let te=q;Ve(te),P++;let de=te.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(de){let _e=Math.min(de.length,50);for(let Be=0;Be<_e;Be++)Ve(de[Be]),P++}}if($.type==="attributes"&&$.target.nodeType===1){let q=$.target;$.attributeName==="class"?Dt(q)&&Ve(q):Ve(q)}}}async function Ze(y={}){if(xn())return;let P=qt(),$=P?.documentElement;if(!$||!($.hasAttribute("rtrvr-react")||$.hasAttribute("rtrvr-vue")||$.hasAttribute("rtrvr-angular")||$.hasAttribute("rtrvr-svelte")))return;let te=y.deadlineEpochMs,de=Math.max(5,Math.min(y.budgetMs??12,50));if(Math.max(0,Math.min(de,me(te)))<=0)return;let Be=performance.now();x++,ot();try{let je=0,bt=["div","span","li","section","article","p"];for(let mt of bt){let Ct=P.getElementsByTagName(mt)??[];for(let mn=0;mn<Ct.length;mn++){if(te&&me(te)<=0)return;je++;let nn=Ct[mn],Hn=nn;(Hn.__ngContext__||Hn.__svelte__||Hn.__vue__||Hn._vnode||jt(nn))&&Te(nn),je%250===0&&me(te)>20&&await W()}}}finally{x=Math.max(0,x-1),ot()}}let nt=new MutationObserver(yt),et=new WeakMap,it=new Set;function St(y){let P=et.get(y);if(P){if(it.add(P),!I)try{P.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(l>=s))try{let $=xe(y.ownerDocument).MutationObserver||MutationObserver,q=new $(yt);et.set(y,q),it.add(q),l++,I||q.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}let _t=new WeakMap,ge=new Set;function ye(y){let P=_t.get(y);if(P){if(ge.add(P),!I)try{let $=y.documentElement;$&&P.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(d>=c))try{h(y.defaultView||null);let $=y.documentElement;if(!$)return;let q=xe(y).MutationObserver||MutationObserver,te=new q(yt);_t.set(y,te),ge.add(te),d++,I||te.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}function Oe(){let y=qt()?.documentElement;y&&nt.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}let ft=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function Tn(){return _??!!qt()?.hidden}function xn(){return I}function vr(y){let P=!!y;if(I===P)return;if(I=P,I){try{nt.disconnect()}catch{}try{se?.disconnect()}catch{}for(let q of it)try{q.disconnect()}catch{}for(let q of ge)try{q.disconnect()}catch{}it.clear(),ge.clear(),C.clear(),a.clear(),x=0,ot();return}Oe();let $=qt()?.documentElement;if($&&se)try{se.observe($,{attributes:!0,attributeFilter:ft})}catch{}Ye()}function rl(y){return _=typeof y=="boolean"?y:null,vr(Tn()),!0}let ol=new WeakMap;function zn(y){return y.shadowRoot||ol.get(y)||null}try{Object.defineProperty(Xn,"shadow",{value:Object.freeze({getRoot:y=>zn(y)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function at(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&Ot("react"),e.Vue&&Ot("vue"),e.ng&&Ot("angular"),e.jQuery&&Ot("jquery"),ee()}catch{}}e.rtrvrAISetObserverPaused=function(y){return rl(!!y)},e.rtrvrAIClearObserverPause=function(){return rl(null)},e.rtrvrAIIsObserverPaused=function(){return xn()},e.rtrvrAIMarkInteractiveElements=function(){return qt()?.body?(Ye(),!0):!1};function Rr(){let y=qt();ee(),at(),ke();let P=()=>{_==null&&vr(Tn())};y?.addEventListener("visibilitychange",P,{passive:!0}),vr(Tn());let $=()=>{ee(),at(),xn()||(Oe(),Ze({budgetMs:20})),y?.documentElement.setAttribute(Lu,"1")};y?.readyState==="loading"?y.addEventListener("DOMContentLoaded",$,{once:!0}):$()}Rr()}var zl=null,xb=!1;function cf(e){try{return e.getAttribute(Uo)}catch{return null}}function wb(e){let t=cf(e);return hi(t)?.entries??[]}function Sb(e){try{let t=e.getAttribute(yo);return t&&t.trim()?t:null}catch{return null}}function m_(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function h_(e){let t=new Set;for(let n of e){let r=Dl(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function g_(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function b_(e){let t=wb(e),n=h_(t),r=g_(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:cf(e)||"",role:Sb(e)??(e.getAttribute?.("role")||null)}}function y_(){return{getEventHandlerIds:e=>wb(e).map(t=>t.id),getRoleHint:Sb,getShadowRoot:m_}}function Tb(e={}){return zl||(zl={signalProvider:y_(),getFrameworkMetadata:b_,getListenerEncoding:cf,dispose:()=>{}},zl)}function _b(){xb||(kb(),xb=!0)}function v_(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function k_(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function lf(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let i of o)if(v_(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:k_(t,e)}function df(e,t){return e.slice(0,-t.length-1)}function Hl(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),u=e.charCodeAt(n+2),h=e.charCodeAt(n+3),b=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&u===116&&h===112&&b===115)){if(!(d===4&&m===104&&f===116&&u===116&&h===112)){if(!(d===3&&m===119&&f===115&&u===115)){if(!(d===2&&m===119&&f===115))for(let v=n;v<l;v+=1){let S=e.charCodeAt(v)|32;if(!(S>=97&&S<=122||S>=48&&S<=57||S===46||S===45||S===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let a=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?a=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(a!==-1&&a>n&&a<r&&(n=a+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let i=n!==0||r!==e.length?e.slice(n,r):e;return o?i.toLowerCase():i}function x_(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function w_(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function uf(e){return w_(e)||x_(e)}function Eb(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function ff(e){if(e.length>255||e.length===0||!Eb(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let i=e.charCodeAt(o);if(i===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!(Eb(i)||i===45||i===95))return!1;n=i}return r-t-1<=63&&n!==45}function Ib({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:a}}var S_=Ib({});function pf(e){return e===void 0?S_:Ib(e)}function mf(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function jl(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function hf(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function $l(e,t,n,r,o){let i=pf(r);return typeof e!="string"||(i.extractHostname?i.mixedInputs?o.hostname=Hl(e,ff(e)):o.hostname=Hl(e,!1):o.hostname=e,i.detectIp&&o.hostname!==null&&(o.isIp=uf(o.hostname),o.isIp))?o:i.validateHostname&&i.extractHostname&&o.hostname!==null&&!ff(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,i,o),t===2||o.publicSuffix===null)||(o.domain=lf(o.publicSuffix,o.hostname,i),t===3||o.domain===null)||(o.subdomain=mf(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=df(o.domain,o.publicSuffix)),o)}function gf(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),i=e.charCodeAt(r-1),a=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&i===111&&a===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&i===114&&a===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&i===100&&a===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&i===111&&a===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&i===101&&a===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Ab=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Rb=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],i=[2,{s:o}],a=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],u=[0,{notebook:t,studio:t}],h=[0,{labeling:t,notebook:t,studio:t}],b=[0,{notebook:t}],v=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],S=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],k=[0,{shop:t}],x=[0,{"*":e}],C=[1,{co:t}],_=[0,{objects:t}],I=[2,{"eu-west-1":t,"us-east-1":t}],M=[2,{nodes:t}],G=[0,{my:t}],O=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],Y=[0,{s3:t,"s3-accesspoint":t}],Z=[0,{direct:t}],ae=[0,{"webview-assets":t}],H=[0,{vfs:t,"webview-assets":t}],X=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],re=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Y,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],pe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],me=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],Se=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],Fe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],Pe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],ve=[0,{auth:t}],B=[0,{auth:t,"auth-fips":t}],W=[0,{"auth-fips":t}],F=[0,{apps:t}],ee=[0,{paas:t}],ue=[2,{eu:t}],ce=[0,{app:t}],Me=[0,{site:t}],he=[1,{com:e,edu:e,net:e,org:e}],lt=[0,{j:t}],pt=[0,{dyn:t}],ot=[2,{web:t}],He=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],Ht=[0,{p:t}],Ve=[0,{user:t}],dt=[1,{ms:t}],Ne=[0,{cdn:t}],Xe=[2,{raw:o}],Dt=[0,{cust:t,reservd:t}],jt=[0,{cust:t}],wt=[0,{s3:t}],tt=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],en=[0,{ipfs:t}],tn=[1,{framer:t}],an=[0,{forgot:t}],pn=[0,{blob:t,file:t,web:t}],Xn=[0,{core:pn,servicebus:t}],Ce=[1,{gs:e}],gr=[0,{nes:e}],Le=[1,{k12:e,cc:e,lib:e}],Ot=[1,{cc:e}],Sn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:k,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:x,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:_,rma:_}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:x,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:Y,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":u,"cn-northwest-1":u}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:G,myqnapcloud:t,quickconnect:Z}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":X,"ap-east-1":re,"ap-northeast-1":oe,"ap-northeast-2":oe,"ap-northeast-3":X,"ap-south-1":oe,"ap-south-2":pe,"ap-southeast-1":oe,"ap-southeast-2":oe,"ap-southeast-3":pe,"ap-southeast-4":pe,"ap-southeast-5":[0,{"execute-api":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":Se,"ca-west-1":Fe,"eu-central-1":oe,"eu-central-2":pe,"eu-north-1":re,"eu-south-1":X,"eu-south-2":pe,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],"eu-west-2":re,"eu-west-3":X,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:[0,{vfs:t}]}],"me-central-1":pe,"me-south-1":re,"sa-east-1":X,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],"us-east-2":Pe,"us-gov-east-1":Fe,"us-gov-west-1":Fe,"us-west-1":Se,"us-west-2":Pe,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":ve,"ap-east-1":ve,"ap-northeast-1":ve,"ap-northeast-2":ve,"ap-northeast-3":ve,"ap-south-1":ve,"ap-south-2":ve,"ap-southeast-1":ve,"ap-southeast-2":ve,"ap-southeast-3":ve,"ap-southeast-4":ve,"ap-southeast-5":ve,"ap-southeast-7":ve,"ca-central-1":ve,"ca-west-1":ve,"eu-central-1":ve,"eu-central-2":ve,"eu-north-1":ve,"eu-south-1":ve,"eu-south-2":ve,"eu-west-1":ve,"eu-west-2":ve,"eu-west-3":ve,"il-central-1":ve,"me-central-1":ve,"me-south-1":ve,"mx-central-1":ve,"sa-east-1":ve,"us-east-1":B,"us-east-2":B,"us-gov-east-1":W,"us-gov-west-1":W,"us-west-1":B,"us-west-2":B}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":ee,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:ee,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:F,meteorapp:ue,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:ue,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:ce,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":Me,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:he,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:lt}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:pt,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:He,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:x,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":ve}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:x,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:He,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:k}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:i,browsersafetymark:t,bubble:Ne,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:Xe,icp1:Xe,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:ee,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":Me,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:F,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:Dt,disrec:Dt,prod:jt,testing:Dt}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:x,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:Ve,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:x,kitakyushu:x,kobe:x,nagoya:x,sapporo:x,sendai:x,yokohama:x,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:wt,isk02:wt}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:tt,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:he,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:Me,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:x,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:he,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:an,his:an,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Ne}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Ne,cloudflarecn:Ne,cloudflareglobal:Ne,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:lt,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:Xn,usgovcloudapp:t,usgovtrafficmanager:t,windows:Xn,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:Ce,ah:Ce,bu:Ce,fm:Ce,hl:Ce,hm:Ce,"jan-mayen":Ce,mr:Ce,nl:Ce,nt:Ce,of:Ce,ol:Ce,oslo:Ce,rl:Ce,sf:Ce,st:Ce,svalbard:Ce,tm:Ce,tr:Ce,va:Ce,vf:Ce,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:gr,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:gr,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:x,nr:tt,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:ce,stg:[0,{os:ce}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:wt,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:x,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:k,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:Z,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:lt,barsy:t,barsyonline:t,retrosnub:jt,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:x,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:Le,al:Le,ar:Le,as:Le,az:Le,ca:Le,co:Le,ct:Le,dc:Le,de:Ot,fl:Le,ga:Le,gu:Le,hi:Sn,ia:Le,id:Le,il:Le,in:Le,ks:Le,ky:Le,la:Le,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:Le,me:Le,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:Le,mo:Le,ms:[1,{k12:e,cc:e}],mt:Le,nc:Le,nd:Sn,ne:Le,nh:Le,nj:Le,nm:Le,nv:Le,ny:Le,oh:Le,ok:Le,or:Le,pa:Le,pr:Le,ri:Sn,sc:Le,sd:Sn,tn:Le,tx:Le,ut:Le,va:Le,vi:Le,vt:Le,wa:Le,wi:Le,wv:Ot,wy:Le,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:he,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:i,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:a,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":h,"ap-northeast-2":h,"ap-south-1":h,"ap-southeast-1":h,"ap-southeast-2":h,"ca-central-1":v,"eu-central-1":h,"eu-west-1":h,"eu-west-2":h,"us-east-1":v,"us-east-2":v,"us-west-2":v,"af-south-1":u,"ap-east-1":u,"ap-northeast-3":u,"ap-south-2":b,"ap-southeast-3":u,"ap-southeast-4":b,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":u,"eu-north-1":u,"eu-south-1":u,"eu-south-2":u,"eu-west-3":u,"il-central-1":u,"me-central-1":u,"me-south-1":u,"sa-east-1":u,"us-gov-east-1":S,"us-gov-west-1":S,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:C,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:I,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:i,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:a,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:ot,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:C,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:Ht,tawkto:Ht}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:Ve}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:C,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:dt,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:en,mypep:t,storacha:en,w3s:en}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:tn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:tn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:C,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:ot,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:dt,silk:e,sina:e,singles:e,site:[1,{square:t,canva:G,cloudera:o,convex:I,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:C,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:pt,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:tn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:tn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function Cb(e,t,n,r){let o=null,i=t;for(;i!==void 0&&((i[0]&r)!==0&&(o={index:n+1,isIcann:(i[0]&1)!==0,isPrivate:(i[0]&2)!==0}),n!==-1);){let a=i[1];i=Object.prototype.hasOwnProperty.call(a,e[n])?a[e[n]]:a["*"],n-=1}return o}function ql(e,t,n){var r;if(gf(e,t,n))return;let o=e.split("."),i=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),a=Cb(o,Ab,o.length-1,i);if(a!==null){n.isIcann=a.isIcann,n.isPrivate=a.isPrivate,n.publicSuffix=o.slice(a.index+1).join(".");return}let s=Cb(o,Rb,o.length-1,i);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var Mb=jl();function Nb(e,t={}){return $l(e,5,ql,t,jl())}function Lb(e,t={}){return hf(Mb),$l(e,3,ql,t,Mb).domain}function bf(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function T_(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function __(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:T_(t)?`https://[${t}]`:`https://${t}`:""}function E_(e){let t=__(e);if(!t)return"";try{return bf(new URL(t).hostname)}catch{return""}}function I_(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function A_(e){if(!e.includes(":"))return!1;try{return bf(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function yf(e){let t=bf(e);return Nb(t).isIp===!0||I_(t)||A_(t)}function vf(e){let t=Jn(e);return!!t&&yf(t)}function Jn(e){return E_(String(e||"").trim().toLowerCase())}function Fs(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,i=Jn(o);return i?n?`=${i}`:r?`*.${i}`:i:""}function Db(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function pr(e){let t=Jn(e);return t?t==="localhost"||yf(t)?t:Lb(t,{allowPrivateDomains:!0})||t:""}function Pb(e,t){let n=Jn(e);return n?n==="localhost"||yf(n)?`=${n}`:t==="host_only"?`=${n}`:pr(n):""}function zs(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let i of r){let a=Db(Fs(String(i||"")),n);a&&o.add(a)}if(!o.size){let i=Pb(t,n);i&&o.add(i)}return Array.from(o)}function Vl(e,t){let n=Jn(e),r=Fs(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Qn(e){return Jn(e)||null}function Ur(e,t){let n=Qn(e);return n?t.length?t.some(r=>Vl(n,r)):!0:!1}function Hs(e){let t=Jn(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(i=>Fs(i)).map(i=>Db(i,n)).filter(Boolean):[];if(r.length>0)return r.some(i=>Vl(t,i));let o=Jn(e.currentHost||"");return o?n==="host_only"?t===o:pr(t)===pr(o):!0}var kf=new Set([z.describe_images,z.wait_action,z.wait_for_element,z.answer_task,z.solve_captcha,z.network_run_recipe]),R_=new Set([z.goto_url,z.google_search,z.go_back,z.go_forward,z.refresh_page,z.open_new_tab,z.switch_tab,z.close_tab]);function C_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function Ob(e){let t=C_(String(e.toolName||""));return!t||kf.has(t)||R_.has(t)?!1:!Ur(e.currentUrl,e.allowedDomains)}var Gl=class e{root;includeFrames;disableDomAnnotations;allowActions;runtimeId;domainScopeMode;allowedDomains;registerOpenedTab;listKnownTabs;switchToLogicalTab;onNavigationGuardrail;onBeforeAgentNavigation;onBeforeCrossHostNavigation;instrumentation;highlightEl=null;clientTools=new Map;navigationDelayMs;domSettleDebounceMs;domSettleMaxWaitMs;domSettleRetries;sparseTreeRetryDelayMs;sparseTreeRetryMaxAttempts;uploadStore=new Map;uploadProviderInstalled=!1;actionGateContext={};instrumentationStarted=!1;static NAV_PREFLIGHT_TIMEOUT_MS=1500;constructor(t={}){this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=Bb(t.domainScopeMode),this.allowedDomains=zs(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=js(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=js(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=js(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=js(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=js(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??Tb({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),sb(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=Bb(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=zs(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=zs(t.allowedDomains,window.location.hostname,this.domainScopeMode))}async getSnapshot(){return await this.ensureListenerScan(),Bs(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=Nl(t?.pageConfig),r={...Bo,...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await bb(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||(_b(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i=="function"){await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=M_(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let b=`Current tab host "${Qn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${N_(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,b,{fromCurrentContext:!0})}if(!this.allowActions&&!kf.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===z.wait_action){let h=Number(t?.args?.duration??1e3);return await new Promise(b=>setTimeout(b,Math.max(0,Math.min(h,6e4)))),{success:!0}}if(r===z.wait_for_element)return this.waitForElement(t?.args||{});if(r===z.answer_task)return{success:!0};if(r===z.solve_captcha)return Kl("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===z.network_run_recipe)return Kl("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let i=t?.args||{},a=P_(i);a&&await this.ensureListenerScan();let s=pa(document,i.iframe_id);if(i.iframe_id!=null&&s.unresolvedPath.length>0&&!a)return this.iframeContextUnavailableResponse(i.iframe_id,s);if(r===z.click_element&&i?.open_in_new_tab)return this.openElementInNewTab(i);if(r===z.click_element){let h=this.getInterceptedClickTarget(i);if(h?.targetUrl){if(h.forceOpenInNewTab)return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:h.reason,decisionReason:"open_new_tab"});let S=h.reason;return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:S,decisionReason:"open_new_tab"})}let b=this.getClickTargetInfo(i),v=b?.targetUrl||null;if(v){let S=this.buildNavigationIntent(v,{preferredDisposition:b?.preferredDisposition});if(S.isCrossHost){let k=await this.resolveAgentNavigationDecision(S,this.getNavigationFallbackDecision(v,S.preferredDisposition));if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(S)}else{let k=await this.resolveAgentNavigationDecision(S,"allow_same_tab");if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"})}}}if(r===z.describe_images)return this.describeImages(t?.args||{});if(!(r in Ll))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=xf(i),d=l?dr(c,l):null,m;if(d){let h=this.instrumentation.getFrameworkMetadata(d),b=D_(h.listenersRaw||"",r),v=i?.value??i?.text??null;m=L_({...h,pattern:b,value:v})}let f=Ll[r];return r===z.upload_file&&!n&&(n=await this.buildUploadPayload(i).catch(()=>{})),cb({opcode:f,call:{name:r,args:i},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=dr(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case z.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=Wl(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Navigation blocked by domain policy."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Google search opens outside the allowed navigation scope."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=Wl(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});let a=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(a,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case z.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.listKnownTabs){let o=this.listKnownTabs().find(i=>Number(i.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return Kl("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case z.close_tab:try{return window.close(),{success:!0}}catch{return Kl("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return!Ur(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Qn(window.location.href)||window.location.hostname||"",r=Qn(t)||"";if(!n||!r||n===r||Ur(t,this.allowedDomains))return null;let o=pr(n),i=pr(r);return!o||o!==i?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return!Ur(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":Ur(t,this.allowedDomains)?n==="new_tab"?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Qn(window.location.href),r=Qn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),i=await this.awaitWithTimeout(o,e.NAV_PREFLIGHT_TIMEOUT_MS);if(!i||typeof i!="object")return r;let a=String(i.decision||"").trim();return{decision:a==="allow_same_tab"||a==="open_new_tab"||a==="block"?a:a==="stale_run"?n:r.decision,reason:String(i.reason||"").trim()||void 0,decisionReason:String(i.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,i=Ur(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),i?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return Ob({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:Ur(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=xf(t);if(!n)return null;let{doc:r}=pa(document,t.iframe_id),o=dr(r,n);if(!o)return null;let i=Ub(o),a=i?.href||i?.getAttribute("href")||"",s=Wl(a,window.location.href);if(!s)return null;let c=String(i?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||"open_new_tab_notice",i=window.location.href,a=Qn(i)||window.location.hostname||void 0,s=Qn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:i,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:i,current_host:a,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is outside Rover's allowed domain scope. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:i,currentHost:a,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Qn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=a=>{if(a)try{let s=new URL(a);return s.hash="",s.toString()}catch{return}},i=o(t);try{let a=this.listKnownTabs(),s=a.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===i),c=s||a.find(m=>Number(m.logicalTabId)===r?!1:Qn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!Ur(t,this.allowedDomains),i=await this.tryReuseKnownTargetTab(t);if(i){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab to preserve Rover runtime continuity.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab to preserve Rover runtime continuity.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:i.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:i.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let a=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,a)),!s.opened){let f=await this.reconcileOpenedTab(t,a);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Qn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let i=this.listKnownTabs();for(let a of i){let s=Number(a?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(a?.url||"").trim();if(!c)return s;let l=Qn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(i=>setTimeout(i,120))}}async openElementInNewTab(t){let n=xf(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=pa(document,t.iframe_id),o=dr(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let i=Ub(o),a=i?.href||i?.getAttribute("href")||"",s=Wl(a,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),i=document;for(;Date.now()-o<r;){let a=null;try{a=i.querySelector(n)}catch{a=null}if(a||(a=O_(i,n)),a)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=eb(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let i of n){let a=dr(document,i);if(!a){o.push(`element_id ${i} not found`);continue}try{let s=await B_(a);if(!s?.data||!s?.mimeType){o.push(`element_id ${i}: unsupported image`);continue}r.push({element_id:i,...s})}catch(s){o.push(`element_id ${i}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await Qg(0,n,document?.referrer||null),o=r.bytes,i=o.byteLength,a=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(i<=c)return{kind:"upload_file",inlineB64:Hb(o),byteLength:i,mimeType:a,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:i,mimeType:a,fileName:s,durable:!1}}catch{return}}};function M_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function N_(e){return e.length?e.join(", "):"(none)"}function Bb(e){return e==="host_only"?"host_only":"registrable_domain"}function js(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function Wl(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function Ub(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function Kl(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function L_(e){return{frameworks:(e.frameworks||[]).filter(n=>n in nf).map(n=>nf[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function D_(e,t){if(t!==z.click_element)return"standard";let n=hi(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>go[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let a=r.has("touchstart"),s=r.has("touchend");return a&&s?"touch-sequence":"standard"}function Hb(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function Fb(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function jb(e){let t=[];for(let n of ha){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=Fb(i);a!=null&&t.push(a)}continue}let o=Fb(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function P_(e){return jb(e).length>0}function xf(e){let t=jb(e);return t.length?t[0]:null}function O_(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let i of Array.from(o))if((i.textContent||"").trim().toLowerCase().includes(n)||(i.getAttribute("aria-label")||"").toLowerCase().includes(n))return i;return null}async function B_(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),i=$b(o);if(!i)throw new Error("canvas toDataURL failed");return i}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await zb(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await zb(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function $b(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function zb(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=$b(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),i=Hb(o),a=r.type||"image/png";return{data:i,mimeType:a,displayName:t}}function qb(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:i,params:a}=r;try{let s=t[i];if(!s)throw new Error(`No handler for ${i}`);let c=await s(a);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var U_="Rover";var Xl="#FF4C00";var Vb=[.52,.72,1],Wb=[.56,.72,.88],Kb=280,Gb=360,jo=1200,Xb=1200,Yb=1200,va=25,Jb=4;function Ue(e){return String(e||"").trim()}function $s(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function F_(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function wf(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function Sf(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=F_(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=wf(e.autoStopMs)),Object.keys(t).length?t:void 0}function z_(e){if(!e||typeof e!="object")return{};let t={};if(e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:Ue(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:Ue(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;n&&(t.audio={narration:{enabled:typeof n.enabled=="boolean"?n.enabled:void 0,defaultMode:n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off"?n.defaultMode:void 0,rate:Number.isFinite(Number(n.rate))?Math.max(.85,Math.min(1.15,Number(n.rate))):void 0,language:String(n.language||"").trim().slice(0,24)||void 0,voicePreference:n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural"?n.voicePreference:void 0}})}return e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0,actionSpotlight:typeof e.motion.actionSpotlight=="boolean"?e.motion.actionSpotlight:void 0,actionSpotlightColor:$s(e.motion.actionSpotlightColor),filaments:typeof e.motion.filaments=="boolean"?e.motion.filaments:void 0,particles:typeof e.motion.particles=="boolean"?e.motion.particles:void 0,palimpsest:typeof e.motion.palimpsest=="boolean"?e.motion.palimpsest:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:Ue(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Tf(e,t,n){let r=z_(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},audio:{narration:{enabled:r.audio?.narration?.enabled??!0,defaultMode:r.audio?.narration?.defaultMode||"guided",rate:r.audio?.narration?.rate??1,language:r.audio?.narration?.language||"en-US",voicePreference:r.audio?.narration?.voicePreference||"auto"}},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard",actionSpotlight:r.motion?.actionSpotlight??!0,actionSpotlightColor:r.motion?.actionSpotlightColor||$s(r.theme?.accentColor)||Xl,filaments:r.motion?.filaments,particles:r.motion?.particles,palimpsest:r.motion?.palimpsest},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||Xl,surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function Qb(e){let t=String(e||"").trim();return t?t.slice(0,64):U_}function Zb(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function ey(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function ty(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function ny(e){let t=$s(e);if(!t)return{};let n=t.replace("#",""),r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),i=parseInt(n.slice(4,6),16);if(isNaN(r)||isNaN(o)||isNaN(i))return{};let a=(s,c)=>Math.max(0,Math.round(s*(1-c)));return{"--rv-accent":t,"--rv-accent-rgb":`${r}, ${o}, ${i}`,"--rv-accent-hover":`#${a(r,.1).toString(16).padStart(2,"0")}${a(o,.1).toString(16).padStart(2,"0")}${a(i,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${r}, ${o}, ${i}, 0.06)`,"--rv-accent-border":`rgba(${r}, ${o}, ${i}, 0.14)`,"--rv-accent-glow":`rgba(${r}, ${o}, ${i}, 0.10)`}}function ry(e,t=Xl){let n=$s(e)||$s(t)||Xl,r=n.replace("#",""),o=parseInt(r.slice(0,2),16),i=parseInt(r.slice(2,4),16),a=parseInt(r.slice(4,6),16);return isNaN(o)||isNaN(i)||isNaN(a)?{}:{"--rv-action-spotlight":n,"--rv-action-spotlight-rgb":`${o}, ${i}, ${a}`,"--rv-action-spotlight-fill":`rgba(${o}, ${i}, ${a}, 0.045)`,"--rv-action-spotlight-halo":`rgba(${o}, ${i}, ${a}, 0.12)`,"--rv-action-spotlight-glow":`rgba(${o}, ${i}, ${a}, 0.18)`,"--rv-action-spotlight-pulse":`rgba(${o}, ${i}, ${a}, 0.22)`,"--rv-action-spotlight-pulse-soft":`rgba(${o}, ${i}, ${a}, 0.06)`,"--rv-action-spotlight-dark-fill":`rgba(${o}, ${i}, ${a}, 0.07)`,"--rv-action-spotlight-dark-halo":`rgba(${o}, ${i}, ${a}, 0.16)`,"--rv-action-spotlight-dark-glow":`rgba(${o}, ${i}, ${a}, 0.22)`}}function Yl(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function H_(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function j_(e){let t=Yl(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${Yl(e.host)||"shared"}`}function $_(e){let t=Yl(e.siteId);return t?`rover:narration:${t}`:`rover:narration:${Yl(e.host)||"shared"}`}function oy(e){let t=String(e||"").trim();if(!(!t||t.length>32)&&/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8}){0,3}$/.test(t))return t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-")}function iy(e){let t=String(e||"").trim();if(!(!t||t.length>180))return t.replace(/[\u0000-\u001f\u007f]/g,"").slice(0,180)||void 0}function ay(e){return e==="auto"||e==="system"||e==="natural"?e:void 0}function q_(e){if(e==null||e==="")return{value:{},source:"default"};let t=String(e).trim();if(t==="true"||t==="false")return{value:{enabled:t==="true"},source:"visitor"};try{let n=JSON.parse(t);if(!n||typeof n!="object")return{value:{},source:"default"};let r=n,o={};typeof r.enabled=="boolean"&&(o.enabled=r.enabled);let i=oy(r.language);i&&(o.language=i);let a=iy(r.voiceURI);a&&(o.voiceURI=a);let s=ay(r.voicePreference);return s&&(o.voicePreference=s),{value:o,source:Object.keys(o).length?"visitor":"default"}}catch{return{value:{},source:"default"}}}function _f(e){let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=oy(e.language);n&&(t.language=n);let r=iy(e.voiceURI);r&&(t.voiceURI=r);let o=ay(e.voicePreference);return o&&(t.voicePreference=o),JSON.stringify(t)}function sy(e){let t=H_(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=j_({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function Ef(e){let t=e.enabled!==!1;if(!t)return{supportedByConfig:t,enabled:!1,source:"default"};let n=$_({siteId:e.siteId,host:e.host}),r=e.defaultOn!==!1,o="default",i=e.readStored?.(n),a=q_(i);return a.source==="visitor"&&(typeof a.value.enabled=="boolean"&&(r=a.value.enabled),o="visitor"),{supportedByConfig:t,enabled:r,source:o,...a.value.language?{language:a.value.language}:{},...a.value.voiceURI?{voiceURI:a.value.voiceURI}:{},...a.value.voicePreference?{voicePreference:a.value.voicePreference}:{},storageKey:n}}function wo(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function $o(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function Ql(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function Zl(e){let t=Ue(e.actionCue?.toolCallId||"");if((e.kind==="tool_start"||e.kind==="tool_result")&&t)return`tool:${t}`;let n=String(e.title||"").trim().toLowerCase();return n.startsWith("running ")?`tool:${n.replace(/^running\s+/,"").trim()}`:n.endsWith(" completed")?`tool:${n.replace(/\s+completed$/,"").trim()}`:n==="run started"||n==="run resumed"||n==="run completed"?"run":e.kind==="status"?`status:${n||"status"}`:e.id||wo("trace")}function cy(e){return String(e||"").replace(/\s+/g," ").trim()}function my(e,t,n){return[String(e||"").trim(),cy(t),cy(n)].filter(Boolean).join(" ")}function ed(e){let t=Ue(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=Ue(n[2]||t);return{stage:r,plainTitle:o||t}}function Rf(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function hy(e){let t=Ue(e.toolName||"");if(t)return t;let n=Ue(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function V_(e){let t=Ue(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||Rf(n):void 0}function W_(e){let t=Ue(e||"").replace(/\s+/g," ").trim();return t?t.length<=48?t:`${t.slice(0,45).trim()}...`:""}function Cf(e){let t=e.actionCue;if(!t)return;let n=W_(t.targetLabel),r=e.kind!=="tool_result",o={click:{active:"Clicking",done:"Clicked"},type:{active:"Typing in",done:"Typed in"},select:{active:"Selecting",done:"Selected"},clear:{active:"Clearing",done:"Cleared"},focus:{active:"Focusing",done:"Focused"},hover:{active:"Hovering over",done:"Hovered over"},press:{active:"Pressing",done:"Pressed"},scroll:{active:"Scrolling to",done:"Scrolled to"},drag:{active:"Dragging",done:"Dragged"},copy:{active:"Copying",done:"Copied"},paste:{active:"Pasting into",done:"Pasted into"},upload:{active:"Uploading to",done:"Uploaded to"},navigate:{active:"Navigating",done:"Navigated"},read:{active:"Reading",done:"Read"},wait:{active:"Waiting for",done:"Waited for"},unknown:{active:"Acting on",done:"Acted on"}},i=o[t.kind]?.[r?"active":"done"]||o.unknown[r?"active":"done"];return n?`${i} ${n}`:t.kind==="type"?r?"Typing into field":"Typed into field":t.kind==="select"?r?"Selecting option":"Selected option":t.kind==="clear"?r?"Clearing field":"Cleared field":t.kind==="scroll"?r?"Scrolling page":"Scrolled page":t.kind==="drag"?r?"Dragging item":"Dragged item":t.kind==="copy"?r?"Copying text":"Copied text":t.kind==="paste"?r?"Pasting text":"Pasted text":t.kind==="upload"?r?"Uploading file":"Uploaded file":t.kind==="navigate"?r?"Navigating":"Navigated":t.kind==="read"?r?"Reading page":"Read page":t.kind==="wait"?r?"Waiting":"Waited":r?"Acting on page":"Acted on page"}function qs(e){let t=e.kind,n=e.actionCue?.kind,r=hy(e),o=Ue(e.title||"");if(t==="tool_start")return n==="click"||n==="press"||n==="hover"||n==="focus"||n==="clear"||n==="drag"||n==="copy"||n==="paste"||n==="upload"?"Acting":n==="navigate"?"Navigating":n==="type"||n==="select"?"Inputting":n==="read"?"Reading":n==="scroll"?"Scrolling":n==="wait"?"Waiting":/click|tap|press/i.test(r)||/click|tap|press/i.test(o)?"Acting":/navigate|goto|go to|open|visit/i.test(r)||/navigate|go to|visit|open/i.test(o)?"Navigating":/type|fill|input|write|set/i.test(r)||/type|fill|input|write|set/i.test(o)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(r)||/read|extract|scrape|search|inspect/i.test(o)?"Reading":/scroll/i.test(r)||/scroll/i.test(o)?"Scrolling":/wait|monitor|observe/i.test(r)||/wait|monitor|observe/i.test(o)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="assistant_response")return e.responseKind==="final"?"Answer":"Update";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let i=ed(e.title||"");return i.stage?Rf(i.stage):"Status"}return t==="debug"?"Debug":t==="error"?"Error":t==="info"?"Update":"Searching"}function Vs(e){let t=Cf(e);if(t)return t;let n=ed(e.title||""),r=V_(hy(e));return r||(n.stage?Rf(n.stage):n.plainTitle?n.plainTitle:qs(e))}function td(e){if(e.actionCue)return"";let t=Ue(e.detail||"");if(t)return t;let n=ed(e.title||""),r=Vs(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function ly(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function dy(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function uy(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function fy(e){return e.kind==="message"?Ue(e.message.id||e.message.text||""):Ue(e.event.id||e.event.title||"")}function Mf(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let i=dy(r)-dy(o);if(i!==0)return i;let a=ly(r)-ly(o);if(a!==0)return a;let s=uy(r)-uy(o);return s!==0?s:fy(r).localeCompare(fy(o))})}function gy(e=[],t=[]){let n=Mf(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let i=r[r.length-1];if(i?.kind==="timeline"){i.events.push(o.event);continue}r.push({kind:"timeline",id:Ue(o.event.id||"")||wo("trace-group"),events:[o.event]})}return r}function K_(e,t){let n=Ue(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),i=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!i)return o;let a=Math.max(12,t-o.length-1);if(i.length<=a)return`${o}${i}`;let s=i.slice(0,Math.max(6,Math.floor(a*.55))),c=i.slice(-Math.max(4,a-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function Ws(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=Ue(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let i=o.replace(/https?:\/\/[^\s]+/gi,a=>K_(a,r));return i.length<=n?i:`${i.slice(0,Math.max(20,n-3)).trimEnd()}...`}function by(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=ed(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function If(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let i=document.createElement("a");i.className="rvLink",i.href=o[2],i.target="_blank",i.rel="noopener noreferrer",i.textContent=o[1],e.appendChild(i)}else if(o[3]){let i=document.createElement("strong");i.textContent=o[3],e.appendChild(i)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function xo(e){let t=document.createDocumentFragment(),n=e.split(`
10
- `),r=null;for(let o of n){let i=o.trim();if(!i){r&&(t.appendChild(r),r=null);continue}if(i==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(i.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");If(c,i.slice(2)),r.appendChild(c);continue}if(r&&(t.appendChild(r),r=null),/^Step \d+/i.test(i)){let c=document.createElement("div");c.className="rvStepHeader",c.textContent=i,t.appendChild(c);continue}if(i.startsWith("[error] ")){let c=document.createElement("div");c.className="rvError",c.textContent=i.slice(8),t.appendChild(c);continue}if(i.startsWith("[next] ")){let c=document.createElement("div");c.className="rvNext",c.textContent=i.slice(7),t.appendChild(c);continue}let a=i.match(/^\*\*(.+?):\*\*\s*(.*)$/);if(a){let c=document.createElement("div");c.className="rvKv";let l=document.createElement("span");l.className="rvKvLabel",l.textContent=a[1];let d=document.createElement("span");d.className="rvKvValue",If(d,a[2]),c.appendChild(l),c.appendChild(d),t.appendChild(c);continue}let s=document.createElement("div");s.className="rvLine",If(s,i),t.appendChild(s)}return r&&t.appendChild(r),t}function Ks(e,t){let n=document.createElement("div");if(n.className="expandableWrap",e.length<=t)return n.appendChild(xo(e)),n;let r=e.split(`
7
+ `)||(i+=c.trimEnd())}if(Fl(e,!1),Ul(e)?zl(e).endsWith(t_+`
8
+ `)&&Fl(e,!1):Fl(e,!1),Ul(e)){let c=zl(e);c.trim()!==""&&!c.startsWith(`
9
+ `)&&(i+=c)}mb(e);let a=cf(e).trim(),s=i.trim()+a;return s.trim()?s:o()}catch{return o()}}async function i_(e,t){let n="",r;kb(e,e.defaultView||window);let o=un(t?.deadlineEpochMs);try{let i=Math.max(250,Math.min(1500,Math.floor(o*.45))),a=await ya(a_(e),i,e);if(!(a.ok&&a.value))throw new Error("google_sheet_copy_failed");let c=un(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await s_(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(i){r=i instanceof Error?i.message:String(i)}return{content:n,contentType:Cu,error:r}}function kb(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function lf(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),i=e.activeElement;(i&&i.ownerDocument===e?i:e).dispatchEvent(o)}async function a_(e){try{if(kb(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;lf(e,{key:"Escape",code:"Escape"}),await bn(150,e);let t=e.querySelector(".grid-container")||hb(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||hb(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await bn(100,e)}else if(t){try{t.focus?.()}catch{}await bn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;lf(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await bn(200,e),lf(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await bn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function s_(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let i=await ya(navigator.clipboard.readText(),n,t);if(i.ok)return i.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function hb(e,t){let n=Hl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,i=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},a=[];for(let s of n)try{i(a,s.documentElement??s.body??null)}catch{}for(;a.length&&o<r;){let s=a.pop();o++;try{if(s.matches(t))return s}catch{}i(a,s);let c=s.shadowRoot;if(c&&i(a,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&i(a,d.documentElement??d.body??null)}catch{}}return null}async function c_(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let i=Date.now(),a=()=>o-(Date.now()-i),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),u=t?.maxDistancePx??(n==="light"?12e3:3e4),h=null;try{let k=await gb(e,{action:"detectPrimary"});if(k?.selector){let C=l_(e,k.selector);C&&(h=C)}let x=k?.metrics;if(x&&typeof x.scrollHeight=="number"&&typeof x.clientHeight=="number"){let C=Math.max(0,x.scrollHeight-x.clientHeight);u=Math.min(u,C||u),C<1500?f=Math.min(f,2):C<4e3?f=Math.min(f,4):C<1e4&&(f=Math.min(f,6))}}catch{}if(h||(h=e.scrollingElement||e.documentElement||e.body),!h)return!1;let b=0,v=null,S=0;for(let k=0;k<f&&!(a()<=0);k++){let x=null;try{x=await gb(e,{action:"scrollBy",direction:Wt.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!x||!x.success){let _=e.defaultView||window;x=Bl(h,e,_,Wt.DOWN,m),S=2}if(!x?.success)break;let C=x.scrollTop??v??0;if(v!==null){let _=Math.max(0,C-v);b+=_,S=_===0?S+1:0}if(v=C,x.isAtBottom||S>=2||b>=u)break;if(l>0&&k<f-1){let _=Math.min(l,Math.max(0,a()));if(_<=0)break;await bn(_,e)}}if(d>0){let k=Math.min(d,Math.max(0,a()));k>0&&await bn(k,e)}if(a()>80)try{let k=e.scrollingElement||e.documentElement||e.body,x=e.defaultView||window,C=h===e.documentElement||h===e.body||h===k?k:h;if(C){let _=C===k?x.innerHeight:C.clientHeight||x.innerHeight,I=Math.max(0,C.scrollHeight-_);C.scrollTop=I}}catch{}return!0}function l_(e,t){try{return e.querySelector(t)}catch{return null}}async function gb(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof a!="function"?null:a(t)}async function d_(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let a=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&un(a)>0;){let c=Math.max(50,Math.min(t.budgetMs,un(a)));try{await i({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{break}if(bb(e)===0)break;s++}if(bb(e)>0&&un(a)>50){let c=Math.min(120,un(a));try{await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{}}}function bb(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(yi);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function u_(e){let t=f_(e.URL||"");if(!t?.sheetId)return;let n=p_(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function f_(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let i=n[o+1];if(!i||!/^[a-zA-Z0-9_-]+$/.test(i))return null;let a;return t.hash&&t.hash.includes("gid=")&&(a=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!a&&t.searchParams.has("gid")&&(a=t.searchParams.get("gid")??void 0),a&&!/^\\d+$/.test(a)&&(a=void 0),{sheetId:i,sheetTabId:a?parseInt(a,10):0}}catch{return null}}function p_(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var fr;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(fr||(fr={}));var m_={native:fr.Native,inline:fr.Inline,react:fr.React,vue:fr.Vue,angular:fr.Angular,svelte:fr.Svelte,jquery:fr.JQuery,delegated:fr.Delegated,other:fr.Other};function xb(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,i=new WeakMap,a=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",u="__RTRVR_ATTACH_SHADOW_HOOKED__";function h(y){if(y&&!m.has(y)){m.add(y);try{b(y)}catch{}try{v(y)}catch{}}}function b(y){try{let P=y.EventTarget;if(!P?.prototype||P.prototype[f])return;P.prototype[f]=!0;let $=P.prototype.addEventListener,q=P.prototype.removeEventListener;P.prototype.addEventListener=function(te,de,_e){try{pt(de)||yr(this,te,_e)}catch{}return $.call(this,te,de,_e)},P.prototype.removeEventListener=function(te,de,_e){try{ho(this,te,_e)}catch{}return q.call(this,te,de,_e)};try{let te=Function.prototype.toString;P.prototype.addEventListener.toString=()=>te.call($),P.prototype.removeEventListener.toString=()=>te.call(q)}catch{}}catch{}}function v(y){try{let P=y.Element;if(!P?.prototype?.attachShadow||P.prototype[u])return;P.prototype[u]=!0;let $=P.prototype.attachShadow;P.prototype.attachShadow=function(q){let te=$.call(this,q);try{al.set(this,te)}catch{}try{St(te)}catch{}return te};try{let q=Function.prototype.toString;P.prototype.attachShadow.toString=()=>q.call($)}catch{}}catch{}}function S(y){let $=n.get(y)?.listenerTypeMasks;if($&&$.size){let q=[];for(let te of $.keys()){let de=bo[te];de&&q.push(de)}return q}return Ss(y)}let k=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],x=0,C=new Set,_=null,I=!1,M=6,G=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],O=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!qt()?.hidden);return}e[t]=!0;let Y={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function Z(y){return y?String(y).split(".")[0].toLowerCase():""}let ae=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],H=0,X=null,re=new MessageChannel,oe=[];re.port1.onmessage=()=>{let y=oe.shift();y&&y()};function pe(){return Date.now()}function me(y){return!y||!Number.isFinite(y)?Number.POSITIVE_INFINITY:Math.max(0,y-pe())}let Se=8,Fe=new MessageChannel,Pe=!1;function ve(){if(!Pe){Pe=!0;try{Fe.port2.postMessage(0)}catch{}}}function B(y){let P=y.values().next();if(P.done)return null;let $=P.value;return y.delete($),$}function W(){return new Promise(y=>{oe.push(y),re.port2.postMessage(0)})}let F=!1;function ee(){if(!F)try{let y=e.jQuery;y&&y.fn&&(Nt(y),F=!0,Ot("jquery"))}catch{}}function ue(y,P){for(let $=P.lastElementChild;$;$=$.previousElementSibling)y.push($)}function ce(y,P,$){if($)try{let q=zn(P);q&&y.push(q)}catch{}}function Me(y,P,$){if($&&ws(P))try{let q=P.contentWindow||null;q&&h(q);let te=q?.document?.documentElement;te&&y.push(te)}catch{}}let he=new WeakSet;function lt(y){y&&(typeof y=="function"||typeof y=="object")&&he.add(y)}function pt(y){return!!y&&(typeof y=="function"||typeof y=="object")&&he.has(y)}Fe.port1.onmessage=()=>{if(wn()){C.clear(),a.clear(),x=0,ot(),Pe=!1;return}Pe=!1,dt(500);let y=performance.now();for(;C.size&&performance.now()-y<Se;){let P=B(C);if(!P)break;try{Te(P)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-y<Se;){let P=B(a);if(!P)break;try{Sn(P)}catch{}}ot(),(C.size||a.size)&&ve()};function ot(){try{let y=qt()?.documentElement;if(!y)return;y.setAttribute(yi,String(x))}catch{}}function He(y){let P=n.get(y);return P||(P={frameworks:new Set,listeners:new Map},n.set(y,P)),P}function Ht(y){wn()||(a.add(y),a.size>2e3&&dt(1500),ve())}function Ve(y){wn()||C.has(y)||(C.add(y),x++,ot(),ve(),C.size>2e3&&dt(1500))}function dt(y=1500){let P=0;for(let $ of C){if(P>=y)break;P++,$.isConnected||(C.delete($),x=Math.max(0,x-1))}P=0;for(let $ of a){if(P>=y)break;P++,$.isConnected||a.delete($)}ot()}let Ne=null;function Xe(y,P,$){return`${y}|${P?1:0}|${$?1:0}`}function Dt(y){let P=y.tagName;if(P==="A"||P==="BUTTON"||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"||P==="SUMMARY"||y.hasAttribute("role")||y.hasAttribute("tabindex")||y.hasAttribute("contenteditable")||y.hasAttribute("onclick")||y.getAttributeNames().some($=>$.startsWith("on")))return!0;for(let $ of ae)if(y.hasAttribute($))return!0;return!!(y.hasAttribute("aria-haspopup")||y.hasAttribute("aria-expanded"))}function jt(y){let P=Ke(y);if(!dn(y,P))return!1;let $=y.tagName;if($!=="DIV"&&$!=="SPAN"&&$!=="LI"&&$!=="SECTION"&&$!=="ARTICLE"&&$!=="P")return!1;let q=y;if(q.__ngContext__||q.__svelte__||q.__vue__||q._vnode||q.__reactFiber$||q.__reactProps$)return!0;let te=0;for(let de in q){if(++te>30)break;if(de.startsWith("__react")||de.includes("reactFiber")||de.includes("reactProps"))return!0}return!1}function wt(){let y=qt()?.documentElement;return y?r.frameworks.size>0||y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte")||y.hasAttribute("rtrvr-jquery"):!1}function tt(y){if(wn())return;let P=performance.now();for(;C.size&&performance.now()-P<y;){let $=B(C);if(!$)break;try{Te($)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-P<y;){let $=B(a);if(!$)break;try{Sn($)}catch{}}}async function en(y={}){if(wn())return C.clear(),a.clear(),x=0,ot(),{revision:++H,scanned:0,durationMs:0,done:!0,remaining:0};dt(3e3),ee(),at();let P=y.mode??"full",$=y.includeShadow??!0,q=y.includeSameOriginIframes??!0,te=Math.max(50,Math.min(y.budgetMs??2500,15e3)),de=y.deadlineEpochMs,_e=Math.max(0,Math.min(te,me(de))),Be=Xe(P,$,q);if(_e<=0){let _n=(Ne?.stack?.length??0)+C.size+a.size;return{revision:++H,scanned:0,durationMs:0,done:_n===0,remaining:_n}}if((!Ne||Ne.optsKey!==Be)&&me(de)>30&&await Ze({budgetMs:18,deadlineEpochMs:de}),P==="priority"){let _n=performance.now(),vt=0;for(;C.size&&performance.now()-_n<=_e&&!(de&&me(de)<=0);){let Pt=B(C);if(!Pt)break;try{Te(Pt)}catch{}vt++,x=Math.max(0,x-1)}for(;a.size&&performance.now()-_n<=_e&&!(de&&me(de)<=0);){let Pt=B(a);if(!Pt)break;try{Sn(Pt)}catch{}}return ot(),{revision:++H,scanned:vt,durationMs:performance.now()-_n,done:C.size===0&&a.size===0,remaining:C.size+a.size}}if(!Ne||Ne.optsKey!==Be){let _n=qt()?.documentElement;Ne={optsKey:Be,stack:_n?[_n]:[],scannedTotal:0}}let bt=performance.now(),mt=0;for(x++,ot();Ne.stack.length&&!(de&&me(de)<=0);){let _n=Ne.stack.pop();if(cr(_n)){let Pt=_n.children;for(let Cr=Pt.length-1;Cr>=0;Cr--)Ne.stack.push(Pt[Cr]);continue}let vt=_n;if(!(!vt||vt.nodeType!==1)&&!(vt.tagName==="SCRIPT"||vt.tagName==="STYLE"||vt.tagName==="META"||vt.tagName==="NOSCRIPT")){try{(Dt(vt)||wt()&&jt(vt))&&Te(vt)}catch{}try{Sn(vt)}catch{}if(C.delete(vt)&&(x=Math.max(0,x-1)),a.delete(vt),mt++,Ne.scannedTotal++,$)try{let Pt=zn(vt);Pt&&(St(Pt),Ne.stack.push(Pt))}catch{}if(q&&ws(vt))try{let Pt=vt.contentWindow||null;Pt&&h(Pt);let Cr=Pt?.document,sl=Cr?.documentElement;Cr&&sl&&(ye(Cr),Ne.stack.push(sl))}catch{}for(let Pt=vt.lastElementChild;Pt;Pt=Pt.previousElementSibling)Ne.stack.push(Pt);mt%800===0&&me(de)>20&&await W()}}let Ct=Math.max(0,_e-(performance.now()-bt)),hn=me(de);tt(Math.min(250,Ct,hn)),x=Math.max(0,x-1),ot();let nn=Ne.stack.length===0,Hn=Ne.stack.length;return nn&&(Ne=null),{revision:++H,scanned:mt,durationMs:performance.now()-bt,done:nn,remaining:Hn}}async function tn(y={}){return X||(X=en(y).finally(()=>{X=null}),X)}e.rtrvrAIFlushScan=tn;let sn="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=sn;let mn=e[sn],Xn=mn&&typeof mn=="object"?mn:{};if(!mn)try{Object.defineProperty(e,sn,{value:Xn,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(Xn,"flushScan",{value:tn,writable:!1,configurable:!1,enumerable:!1})}catch{}function Ce(y,P){let $=He(y),q=Z(P.type);if(!q)return;let te=!1,de=$.listeners.get(q);de||(de=[],$.listeners.set(q,de),te=!0);let _e=de.find(je=>je.source===P.source&&!!je.inferred==!!P.inferred);if(_e){let je=!!_e.capture,bt=!!_e.passive,mt=!!_e.once;_e.capture=_e.capture||P.capture,_e.passive=_e.passive||P.passive,_e.once=_e.once||P.once,(je!==!!_e.capture||bt!==!!_e.passive||mt!==!!_e.once)&&(te=!0)}else de.push({...P,type:q}),te=!0;let Be=xt[q];if(Be!==void 0){$.listenerTypeMasks||($.listenerTypeMasks=new Map);let je=0,bt=m_[P.source];je|=bt!==void 0?bt:fr.Other,P.inferred&&(je|=fr.Inferred);let mt=$.listenerTypeMasks.get(Be)||0,Ct=mt|je;Ct!==mt&&($.listenerTypeMasks.set(Be,Ct),te=!0)}te&&($.role=void 0,Ht(y))}function gr(y){let P=y.listenerTypeMasks;return!P||P.size===0?null:[...P.entries()].sort((q,te)=>q[0]-te[0]).map(([q,te])=>`${q}~${(te||0).toString(36)}`).join(",")}function Le(y,P){let $=He(y);$.frameworks.has(P)||($.frameworks.add(P),Ht(y))}function Ot(y){r.frameworks.has(y)||(r.frameworks.add(y),qt()?.documentElement?.setAttribute(`rtrvr-${y}`,"1"))}function Sn(y){let P=n.get(y);if(!P)return;a.delete(y);let $=gr(P);$?$!==P.lastListenersSerialized&&(y.setAttribute(Fo,$),P.lastListenersSerialized=$):P.lastListenersSerialized&&(y.removeAttribute(Fo),P.lastListenersSerialized=void 0);let q=Ke(y);if(dn(y,q))if(P.role===void 0&&(P.role=ir(y)),P.role){let te=da[P.role],de=typeof te=="number"?String(te):`s:${P.role}`;de!==P.lastRoleSerialized&&(y.setAttribute(vo,de),P.lastRoleSerialized=de)}else(P.lastRoleSerialized||y.hasAttribute(vo))&&(y.removeAttribute(vo),P.lastRoleSerialized=void 0)}function Mt(y){let P=[],$=y;for(;$;)P.push($),$=$.parentNode||$.host;return P}function ys(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),q=$?$.toLowerCase().trim():"";if(q&&yo.has(q)||P==="button"||(P==="a"||P==="area")&&y.hasAttribute("href"))return!0;if(P==="input")return y.type?.toLowerCase()!=="hidden";if(P==="select"||P==="textarea"||(P==="video"||P==="audio")&&y.hasAttribute("controls")||y.isContentEditable||y.hasAttribute("contenteditable"))return!0;let te=y.getAttribute("tabindex");return!!(te!==null&&!Number.isNaN(Number.parseInt(te,10))&&(S(y).some(Be=>vl.has(Be))||y.getAttributeNames().some(Be=>Be.startsWith("on"))))}function vs(y,P=10){let $=[];for(let q=0;q<y.children.length;q++)$.push({node:y.children[q],depth:1});for(;$.length;){let{node:q,depth:te}=$.pop();if(ys(q))return!0;if(!(te>=P))for(let de=0;de<q.children.length;de++)$.push({node:q.children[de],depth:te+1})}return!1}function ir(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),q=$?$.toLowerCase().trim():"",te=y.type?.toLowerCase();if(q&&yo.has(q))return q;if(q&&Ts.has(q))return null;if(P==="a"&&y.hasAttribute("href"))return"link";if(P==="button")return"button";if(P==="input")return te==="hidden"?null:te==="checkbox"?"checkbox":te==="radio"?"radio":te==="range"?"slider":te==="number"?"spinbutton":te==="search"?"searchbox":["button","submit","reset","image","file"].includes(te)?"button":y.hasAttribute("list")?"combobox":"textbox";if(P==="textarea")return"textbox";if(P==="select"){let Ct=y;return Ct.multiple||Ct.size&&Ct.size>1?"listbox":"combobox"}if(P==="option")return"option";if(P==="form")return"form";if(P==="video"||P==="audio"){let Ct=Ss(y);return y.hasAttribute("controls")||Ct.length>0?"media":null}if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";let de=S(y);if(!de.length)return null;let _e=!1,Be=!1,je=!1;for(let Ct=0;Ct<de.length;Ct++){let hn=de[Ct];!_e&&vl.has(hn)&&(_e=!0),!Be&&Uu.has(hn)&&(Be=!0),!je&&Fu.has(hn)&&(je=!0)}if(!_e&&!Be&&!je)return null;let bt=y.getAttribute("tabindex"),mt=bt!==null&&!Number.isNaN(Number.parseInt(bt,10));if(_e&&(Gu(y)||y.getAttribute("href")||y.closest("a[href]")))return"link";if(Be){if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";if(q==="textbox"||q==="searchbox"||q==="combobox"||q==="spinbutton")return q;if(!_e&&mt)return"textbox"}if(_e){let Ct=y.getAttribute("aria-checked"),hn=y.getAttribute("aria-pressed");if(Ct!==null||hn!==null){if(q==="radio")return"radio";if(q==="menuitemradio")return"menuitemradio";if(q==="menuitemcheckbox")return"menuitemcheckbox";if(hn!==null)return"button";if(Ct!==null)return"checkbox"}if((mt||q==="button")&&!vs(y))return"button"}return je?"application":null}let ut=EventTarget.prototype.addEventListener,xn=EventTarget.prototype.removeEventListener;function Fn(y){let P=!1,$,q;return typeof y=="boolean"?P=y:y&&typeof y=="object"&&(P=!!y.capture,$=y.passive,q=y.once),{capture:P,passive:$,once:q}}function br(y){try{let P=y;if(P?.nodeType===9&&P?.documentElement)return P;let $=P?.document;if($&&$.nodeType===9&&$.documentElement)return $}catch{}return null}function yr(y,P,$){let q=Z(P);if(!q)return;let{capture:te,passive:de,once:_e}=Fn($),Be=o.get(y);Be||(Be=new Map,o.set(y,Be));let je=Be.get(q);if(je?(je.count+=1,je.capture=je.capture||te,je.passive=je.passive||de):Be.set(q,{count:1,capture:te,passive:de}),gi(y))try{Ce(y,{type:q,source:"native",capture:te,passive:de,once:_e})}catch{}let bt=br(y);if(bt&&(q==="click"||q==="input"||q==="keydown"))try{bt.documentElement?.setAttribute(`rtrvr-gl-${q}`,"1")}catch{}}function ho(y,P,$){let q=Z(P);if(!q)return;let te=o.get(y);if(!te)return;let de=te.get(q);de&&(de.count-=1,de.count<=0&&te.delete(q),te.size===0&&o.delete(y))}h(window);function Nt(y){if(!y||!y.fn)return;let P=y.fn.on,$=y.fn.off;function q(de){if(!de)return[];if(typeof de=="string")return de.split(/\s/).map(_e=>Z(_e)).filter(Boolean);if(typeof de=="object")try{return Object.keys(de).map(_e=>Z(_e)).filter(Boolean)}catch{return[]}return[]}function te(de){try{if(!de)return null;if(gi(de))return de;let _e=Ke(de);return hl(de,_e)||null}catch{}return null}y.fn.on=function(de,_e){let Be=q(de),je=typeof _e=="string"&&!!_e;return this.each(function(){let bt=te(this);if(bt){if(je){let mt=i.get(bt);mt||(mt=[],i.set(bt,mt));for(let Ct of Be){let hn=`${Ct}::${_e}`;mt.some(nn=>`${nn.type}::${nn.selector}`===hn)||(mt.push({type:Ct,selector:_e}),mt.length>400&&mt.shift())}}else for(let mt of Be)Ce(bt,{type:mt,source:"jquery"});Le(bt,"jquery"),Ot("jquery"),r.jqueryRoots.add(bt)}}),P.apply(this,arguments)},y.fn.off=function(){return $.apply(this,arguments)},Ot("jquery")}function Ar(y){ae.some($=>y.hasAttribute($))&&(Ce(y,{type:"click",source:"other",inferred:!0}),(y.tagName==="INPUT"||y.tagName==="TEXTAREA")&&(Ce(y,{type:"input",source:"other",inferred:!0}),Ce(y,{type:"change",source:"other",inferred:!0})))}function Jr(y){let P=Ke(y),$=dn(y,P),q=y.getAttributeNames().some(je=>je.startsWith("on")),te=/^(button|a|input|select|textarea|summary)$/i.test(y.tagName),de=y,_e=$&&(Sl(y)||!!de.isContentEditable||y.hasAttribute("contenteditable")),Be=$&&!!de.draggable;if(!q&&!te&&!_e&&!Be){Ar(y);return}for(let[je,bt]of Object.entries(Y))typeof y[je]=="function"&&Ce(y,{type:bt,source:"inline"});_e&&(Ce(y,{type:"input",source:"other",inferred:!0}),Ce(y,{type:"keydown",source:"other",inferred:!0}),Ce(y,{type:"keyup",source:"other",inferred:!0}),Ce(y,{type:"paste",source:"other",inferred:!0})),Be&&(Ce(y,{type:"dragstart",source:"other",inferred:!0}),Ce(y,{type:"dragend",source:"other",inferred:!0})),Ar(y)}function g(y){if(!y.startsWith("on")||y.length<=2)return null;if(y.endsWith("Capture")){let $=y.substring(2,y.length-7);return $?{type:$.toLowerCase(),capture:!0}:null}let P=y.substring(2);return P?{type:P.toLowerCase(),capture:!1}:null}function D(y){let P=null;if(y){for(let $ in y)if($.startsWith("__react")||$.startsWith("_react")||$.includes("reactFiber")||$.includes("reactProps")||$.includes("reactInternalInstance")){P=$;break}if(P)try{let $=y[P],q=$?.memoizedProps||$?.pendingProps;if(q&&typeof q=="object"){for(let te in q){if(typeof q[te]!="function")continue;let _e=g(te);_e&&Ce(y,{type:_e.type,source:"react",capture:_e.capture})}gi($?.stateNode)&&r.reactRoots.add($.stateNode),Le(y,"react"),Ot("react")}}catch{}}}function N(y){let P=y,$=!1;if(P.__vue__){$=!0;let q=P.__vue__;q.$listeners&&Object.keys(q.$listeners).forEach(te=>Ce(y,{type:te,source:"vue"})),q._events&&Object.keys(q._events).forEach(te=>Ce(y,{type:te,source:"vue"})),q.$options?._parentListeners&&Object.keys(q.$options._parentListeners).forEach(te=>Ce(y,{type:te,source:"vue"})),r.vueRoots.add(y)}if(P._vnode?.props){$=!0;let q=P._vnode.props;Object.keys(q).forEach(te=>{te.startsWith("on")&&te.length>2&&Ce(y,{type:te.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(y)}$&&(Le(y,"vue"),Ot("vue"))}function R(y){let P=y,$=!1;if(P.__ngContext__||y.hasAttribute("_ngcontent")||y.hasAttribute("ng-version")){$=!0,Array.from(y.attributes).forEach(q=>{if(q.name.startsWith("(")&&q.name.endsWith(")")){let te=q.name.slice(1,-1).split(".")[0];te&&Ce(y,{type:te,source:"angular"})}if(q.name.startsWith("on-")){let te=q.name.substring(3);te&&Ce(y,{type:te,source:"angular"})}if(q.name.includes(".")){let te=q.name.match(/\(([^.)]+)/);te?.[1]&&Ce(y,{type:te[1],source:"angular"})}});try{if(e.ng?.getComponent){let q=e.ng.getComponent(y);q&&Object.keys(q).forEach(te=>{(te.endsWith("Output")||te.endsWith("Emitter"))&&Ce(y,{type:te.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}$&&(Le(y,"angular"),Ot("angular"),r.angularRoots.add(y))}function T(y){let P=y,$=!1;if(P.__svelte__){$=!0,Array.from(y.attributes).forEach(q=>{if(q.name.startsWith("on:")){let te=q.name.substring(3);te&&Ce(y,{type:te,source:"svelte"})}});try{let q=P.__svelte__?.$$?.callbacks;q&&typeof q=="object"&&Object.keys(q).forEach(te=>Ce(y,{type:te,source:"svelte"}))}catch{}r.svelteRoots.add(y)}$&&(Le(y,"svelte"),Ot("svelte"))}function w(y,P){return y?!!o.get(y)?.has(P):!1}function E(y,P,$=96){let q=Z(P);if(!q)return!1;let te=fe(y),de=xe(te);if(w(te,q)||w(de,q))return!0;let _e=0,Be=y;for(;Be&&_e<$;){if(Be.parentElement)Be=Be.parentElement;else{let je=Be.getRootNode?.();if(cr(je)){if(w(je,q)||w(je.host,q))return!0;Be=je.host}else break}if(Be&&w(Be,q))return!0}return!1}function U(y,P,$=128){let q=0,te=y;for(;te&&q<$;){if(P(te),te.parentElement){te=te.parentElement;continue}let de=te.getRootNode?.();if(cr(de)){te=de.host;continue}break}}function J(y){let P=Ke(y);if(!dn(y,P))return;let $=He(y);$.role=$.role||ir(y);let q=E(y,"click"),te=E(y,"input"),de=E(y,"keydown"),Be=fe(y).documentElement;if(r.frameworks.size>0||Be.hasAttribute("rtrvr-react")||Be.hasAttribute("rtrvr-vue")||Be.hasAttribute("rtrvr-angular")||Be.hasAttribute("rtrvr-svelte")||Be.hasAttribute("rtrvr-jquery")||q||te||de){let bt=$.role||"other";q&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(bt)&&Ce(y,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(bt)&&(te&&(Ce(y,{type:"input",source:"delegated",inferred:!0}),Ce(y,{type:"change",source:"delegated",inferred:!0})),de&&Ce(y,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(bt)&&(q&&Ce(y,{type:"click",source:"delegated",inferred:!0}),te&&Ce(y,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(bt)&&te&&Ce(y,{type:"input",source:"delegated",inferred:!0})}U(y,bt=>{let mt=i.get(bt);if(mt?.length)for(let{type:Ct,selector:hn}of mt)try{y.matches(hn)&&(Ce(y,{type:Ct,source:"jquery",inferred:!0}),Le(y,"jquery"),Ot("jquery"))}catch{}})}function K(y){let P=$=>{if(wn())return;let q=$,te=q.composedPath&&q.composedPath()||Mt($.target),_e=y==="mousemove"||y==="pointermove"||y==="scroll"||y==="wheel"?1:Math.min(te.length,M);for(let Be=0;Be<_e;Be++){let je=te[Be];gi(je)&&Ce(je,{type:y,source:"delegated",inferred:!0})}};lt(P);try{ut.call(document,y,P,{capture:!0,passive:!0})}catch{}}let Q=!1,ne=!1,se=null;function ke(){if(ne)return;ne=!0,G.forEach(K);let y=qt()?.documentElement;if(!y)return;let P=()=>{if(Q)return;let $=y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte"),q=y.hasAttribute("rtrvr-gl-click")||y.hasAttribute("rtrvr-gl-input")||y.hasAttribute("rtrvr-gl-keydown");($||q)&&(Q=!0,O.forEach(K))};P();try{se=new MutationObserver(()=>P()),se.observe(y,{attributes:!0,attributeFilter:ft})}catch{}}function Te(y){if(y.nodeType!==1)return;let P=Ke(y);if(dn(y,P)){let $=He(y);$.role=void 0}Jr(y),D(y),N(y),R(y),T(y),J(y),Ht(y)}function Ye(){if(wn())return;let y=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(yo).map(P=>`[role="${P}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];x++,ot();try{let P=y.join(",");qt()?.querySelectorAll(P).forEach($=>{try{Te($)}catch{}})}finally{x=Math.max(0,x-1),ot()}}let De=!1,Ae=[],ze=200;function yt(y){if(!wn()){for(let P of y)Ae.push(P);De||(De=!0,queueMicrotask(cn))}}function cn(){De=!1;let y=Ae;if(Ae=[],wn())return;let P=0;for(let $ of y){if(P>=ze)break;for(let q of Array.from($.addedNodes)){if(P>=ze)break;if(q.nodeType!==1)continue;let te=q;Ve(te),P++;let de=te.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(de){let _e=Math.min(de.length,50);for(let Be=0;Be<_e;Be++)Ve(de[Be]),P++}}if($.type==="attributes"&&$.target.nodeType===1){let q=$.target;$.attributeName==="class"?Dt(q)&&Ve(q):Ve(q)}}}async function Ze(y={}){if(wn())return;let P=qt(),$=P?.documentElement;if(!$||!($.hasAttribute("rtrvr-react")||$.hasAttribute("rtrvr-vue")||$.hasAttribute("rtrvr-angular")||$.hasAttribute("rtrvr-svelte")))return;let te=y.deadlineEpochMs,de=Math.max(5,Math.min(y.budgetMs??12,50));if(Math.max(0,Math.min(de,me(te)))<=0)return;let Be=performance.now();x++,ot();try{let je=0,bt=["div","span","li","section","article","p"];for(let mt of bt){let Ct=P.getElementsByTagName(mt)??[];for(let hn=0;hn<Ct.length;hn++){if(te&&me(te)<=0)return;je++;let nn=Ct[hn],Hn=nn;(Hn.__ngContext__||Hn.__svelte__||Hn.__vue__||Hn._vnode||jt(nn))&&Te(nn),je%250===0&&me(te)>20&&await W()}}}finally{x=Math.max(0,x-1),ot()}}let nt=new MutationObserver(yt),et=new WeakMap,it=new Set;function St(y){let P=et.get(y);if(P){if(it.add(P),!I)try{P.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(l>=s))try{let $=xe(y.ownerDocument).MutationObserver||MutationObserver,q=new $(yt);et.set(y,q),it.add(q),l++,I||q.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}let _t=new WeakMap,ge=new Set;function ye(y){let P=_t.get(y);if(P){if(ge.add(P),!I)try{let $=y.documentElement;$&&P.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(d>=c))try{h(y.defaultView||null);let $=y.documentElement;if(!$)return;let q=xe(y).MutationObserver||MutationObserver,te=new q(yt);_t.set(y,te),ge.add(te),d++,I||te.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}function Oe(){let y=qt()?.documentElement;y&&nt.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}let ft=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function Tn(){return _??!!qt()?.hidden}function wn(){return I}function vr(y){let P=!!y;if(I===P)return;if(I=P,I){try{nt.disconnect()}catch{}try{se?.disconnect()}catch{}for(let q of it)try{q.disconnect()}catch{}for(let q of ge)try{q.disconnect()}catch{}it.clear(),ge.clear(),C.clear(),a.clear(),x=0,ot();return}Oe();let $=qt()?.documentElement;if($&&se)try{se.observe($,{attributes:!0,attributeFilter:ft})}catch{}Ye()}function il(y){return _=typeof y=="boolean"?y:null,vr(Tn()),!0}let al=new WeakMap;function zn(y){return y.shadowRoot||al.get(y)||null}try{Object.defineProperty(Xn,"shadow",{value:Object.freeze({getRoot:y=>zn(y)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function at(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&Ot("react"),e.Vue&&Ot("vue"),e.ng&&Ot("angular"),e.jQuery&&Ot("jquery"),ee()}catch{}}e.rtrvrAISetObserverPaused=function(y){return il(!!y)},e.rtrvrAIClearObserverPause=function(){return il(null)},e.rtrvrAIIsObserverPaused=function(){return wn()},e.rtrvrAIMarkInteractiveElements=function(){return qt()?.body?(Ye(),!0):!1};function Rr(){let y=qt();ee(),at(),ke();let P=()=>{_==null&&vr(Tn())};y?.addEventListener("visibilitychange",P,{passive:!0}),vr(Tn());let $=()=>{ee(),at(),wn()||(Oe(),Ze({budgetMs:20})),y?.documentElement.setAttribute(Pu,"1")};y?.readyState==="loading"?y.addEventListener("DOMContentLoaded",$,{once:!0}):$()}Rr()}var jl=null,wb=!1;function df(e){try{return e.getAttribute(Fo)}catch{return null}}function Sb(e){let t=df(e);return bi(t)?.entries??[]}function Tb(e){try{let t=e.getAttribute(vo);return t&&t.trim()?t:null}catch{return null}}function h_(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function g_(e){let t=new Set;for(let n of e){let r=Ol(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function b_(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function y_(e){let t=Sb(e),n=g_(t),r=b_(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:df(e)||"",role:Tb(e)??(e.getAttribute?.("role")||null)}}function v_(){return{getEventHandlerIds:e=>Sb(e).map(t=>t.id),getRoleHint:Tb,getShadowRoot:h_}}function _b(e={}){return jl||(jl={signalProvider:v_(),getFrameworkMetadata:y_,getListenerEncoding:df,dispose:()=>{}},jl)}function Eb(){wb||(xb(),wb=!0)}function k_(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function x_(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function uf(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let i of o)if(k_(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:x_(t,e)}function ff(e,t){return e.slice(0,-t.length-1)}function $l(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),u=e.charCodeAt(n+2),h=e.charCodeAt(n+3),b=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&u===116&&h===112&&b===115)){if(!(d===4&&m===104&&f===116&&u===116&&h===112)){if(!(d===3&&m===119&&f===115&&u===115)){if(!(d===2&&m===119&&f===115))for(let v=n;v<l;v+=1){let S=e.charCodeAt(v)|32;if(!(S>=97&&S<=122||S>=48&&S<=57||S===46||S===45||S===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let a=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?a=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(a!==-1&&a>n&&a<r&&(n=a+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let i=n!==0||r!==e.length?e.slice(n,r):e;return o?i.toLowerCase():i}function w_(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function S_(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function pf(e){return S_(e)||w_(e)}function Ib(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function mf(e){if(e.length>255||e.length===0||!Ib(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let i=e.charCodeAt(o);if(i===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!(Ib(i)||i===45||i===95))return!1;n=i}return r-t-1<=63&&n!==45}function Ab({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:a}}var T_=Ab({});function hf(e){return e===void 0?T_:Ab(e)}function gf(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function ql(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function bf(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function Vl(e,t,n,r,o){let i=hf(r);return typeof e!="string"||(i.extractHostname?i.mixedInputs?o.hostname=$l(e,mf(e)):o.hostname=$l(e,!1):o.hostname=e,i.detectIp&&o.hostname!==null&&(o.isIp=pf(o.hostname),o.isIp))?o:i.validateHostname&&i.extractHostname&&o.hostname!==null&&!mf(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,i,o),t===2||o.publicSuffix===null)||(o.domain=uf(o.publicSuffix,o.hostname,i),t===3||o.domain===null)||(o.subdomain=gf(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=ff(o.domain,o.publicSuffix)),o)}function yf(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),i=e.charCodeAt(r-1),a=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&i===111&&a===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&i===114&&a===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&i===100&&a===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&i===111&&a===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&i===101&&a===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Rb=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Cb=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],i=[2,{s:o}],a=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],u=[0,{notebook:t,studio:t}],h=[0,{labeling:t,notebook:t,studio:t}],b=[0,{notebook:t}],v=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],S=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],k=[0,{shop:t}],x=[0,{"*":e}],C=[1,{co:t}],_=[0,{objects:t}],I=[2,{"eu-west-1":t,"us-east-1":t}],M=[2,{nodes:t}],G=[0,{my:t}],O=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],Y=[0,{s3:t,"s3-accesspoint":t}],Z=[0,{direct:t}],ae=[0,{"webview-assets":t}],H=[0,{vfs:t,"webview-assets":t}],X=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],re=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Y,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],pe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],me=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],Se=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:H}],Fe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],Pe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],ve=[0,{auth:t}],B=[0,{auth:t,"auth-fips":t}],W=[0,{"auth-fips":t}],F=[0,{apps:t}],ee=[0,{paas:t}],ue=[2,{eu:t}],ce=[0,{app:t}],Me=[0,{site:t}],he=[1,{com:e,edu:e,net:e,org:e}],lt=[0,{j:t}],pt=[0,{dyn:t}],ot=[2,{web:t}],He=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],Ht=[0,{p:t}],Ve=[0,{user:t}],dt=[1,{ms:t}],Ne=[0,{cdn:t}],Xe=[2,{raw:o}],Dt=[0,{cust:t,reservd:t}],jt=[0,{cust:t}],wt=[0,{s3:t}],tt=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],en=[0,{ipfs:t}],tn=[1,{framer:t}],sn=[0,{forgot:t}],mn=[0,{blob:t,file:t,web:t}],Xn=[0,{core:mn,servicebus:t}],Ce=[1,{gs:e}],gr=[0,{nes:e}],Le=[1,{k12:e,cc:e,lib:e}],Ot=[1,{cc:e}],Sn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:k,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:x,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:_,rma:_}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:x,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:Y,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":u,"cn-northwest-1":u}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:G,myqnapcloud:t,quickconnect:Z}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":X,"ap-east-1":re,"ap-northeast-1":oe,"ap-northeast-2":oe,"ap-northeast-3":X,"ap-south-1":oe,"ap-south-2":pe,"ap-southeast-1":oe,"ap-southeast-2":oe,"ap-southeast-3":pe,"ap-southeast-4":pe,"ap-southeast-5":[0,{"execute-api":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":Se,"ca-west-1":Fe,"eu-central-1":oe,"eu-central-2":pe,"eu-north-1":re,"eu-south-1":X,"eu-south-2":pe,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],"eu-west-2":re,"eu-west-3":X,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:[0,{vfs:t}]}],"me-central-1":pe,"me-south-1":re,"sa-east-1":X,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:me,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:H}],"us-east-2":Pe,"us-gov-east-1":Fe,"us-gov-west-1":Fe,"us-west-1":Se,"us-west-2":Pe,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":ve,"ap-east-1":ve,"ap-northeast-1":ve,"ap-northeast-2":ve,"ap-northeast-3":ve,"ap-south-1":ve,"ap-south-2":ve,"ap-southeast-1":ve,"ap-southeast-2":ve,"ap-southeast-3":ve,"ap-southeast-4":ve,"ap-southeast-5":ve,"ap-southeast-7":ve,"ca-central-1":ve,"ca-west-1":ve,"eu-central-1":ve,"eu-central-2":ve,"eu-north-1":ve,"eu-south-1":ve,"eu-south-2":ve,"eu-west-1":ve,"eu-west-2":ve,"eu-west-3":ve,"il-central-1":ve,"me-central-1":ve,"me-south-1":ve,"mx-central-1":ve,"sa-east-1":ve,"us-east-1":B,"us-east-2":B,"us-gov-east-1":W,"us-gov-west-1":W,"us-west-1":B,"us-west-2":B}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":ee,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:ee,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:F,meteorapp:ue,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:ue,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:ce,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":Me,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:he,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:lt}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:pt,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:He,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:x,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":ve}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:x,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:He,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:k}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:i,browsersafetymark:t,bubble:Ne,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:Xe,icp1:Xe,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:ee,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":Me,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:F,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:Dt,disrec:Dt,prod:jt,testing:Dt}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:x,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:Ve,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:x,kitakyushu:x,kobe:x,nagoya:x,sapporo:x,sendai:x,yokohama:x,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:wt,isk02:wt}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:tt,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:he,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:Me,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:x,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:he,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:sn,his:sn,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Ne}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Ne,cloudflarecn:Ne,cloudflareglobal:Ne,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:lt,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:Xn,usgovcloudapp:t,usgovtrafficmanager:t,windows:Xn,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:Ce,ah:Ce,bu:Ce,fm:Ce,hl:Ce,hm:Ce,"jan-mayen":Ce,mr:Ce,nl:Ce,nt:Ce,of:Ce,ol:Ce,oslo:Ce,rl:Ce,sf:Ce,st:Ce,svalbard:Ce,tm:Ce,tr:Ce,va:Ce,vf:Ce,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:gr,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:gr,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:x,nr:tt,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:ce,stg:[0,{os:ce}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:wt,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:x,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:k,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:Z,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:lt,barsy:t,barsyonline:t,retrosnub:jt,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:x,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:Le,al:Le,ar:Le,as:Le,az:Le,ca:Le,co:Le,ct:Le,dc:Le,de:Ot,fl:Le,ga:Le,gu:Le,hi:Sn,ia:Le,id:Le,il:Le,in:Le,ks:Le,ky:Le,la:Le,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:Le,me:Le,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:Le,mo:Le,ms:[1,{k12:e,cc:e}],mt:Le,nc:Le,nd:Sn,ne:Le,nh:Le,nj:Le,nm:Le,nv:Le,ny:Le,oh:Le,ok:Le,or:Le,pa:Le,pr:Le,ri:Sn,sc:Le,sd:Sn,tn:Le,tx:Le,ut:Le,va:Le,vi:Le,vt:Le,wa:Le,wi:Le,wv:Ot,wy:Le,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:he,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:i,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:a,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":h,"ap-northeast-2":h,"ap-south-1":h,"ap-southeast-1":h,"ap-southeast-2":h,"ca-central-1":v,"eu-central-1":h,"eu-west-1":h,"eu-west-2":h,"us-east-1":v,"us-east-2":v,"us-west-2":v,"af-south-1":u,"ap-east-1":u,"ap-northeast-3":u,"ap-south-2":b,"ap-southeast-3":u,"ap-southeast-4":b,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":u,"eu-north-1":u,"eu-south-1":u,"eu-south-2":u,"eu-west-3":u,"il-central-1":u,"me-central-1":u,"me-south-1":u,"sa-east-1":u,"us-gov-east-1":S,"us-gov-west-1":S,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:C,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:I,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:i,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:a,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:ot,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:C,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:Ht,tawkto:Ht}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:Ve}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:C,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:dt,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:en,mypep:t,storacha:en,w3s:en}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:tn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:tn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:C,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:ot,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:dt,silk:e,sina:e,singles:e,site:[1,{square:t,canva:G,cloudera:o,convex:I,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:C,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:pt,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:tn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:tn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function Mb(e,t,n,r){let o=null,i=t;for(;i!==void 0&&((i[0]&r)!==0&&(o={index:n+1,isIcann:(i[0]&1)!==0,isPrivate:(i[0]&2)!==0}),n!==-1);){let a=i[1];i=Object.prototype.hasOwnProperty.call(a,e[n])?a[e[n]]:a["*"],n-=1}return o}function Wl(e,t,n){var r;if(yf(e,t,n))return;let o=e.split("."),i=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),a=Mb(o,Rb,o.length-1,i);if(a!==null){n.isIcann=a.isIcann,n.isPrivate=a.isPrivate,n.publicSuffix=o.slice(a.index+1).join(".");return}let s=Mb(o,Cb,o.length-1,i);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var Nb=ql();function Lb(e,t={}){return Vl(e,5,Wl,t,ql())}function Db(e,t={}){return bf(Nb),Vl(e,3,Wl,t,Nb).domain}function vf(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function __(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function E_(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:__(t)?`https://[${t}]`:`https://${t}`:""}function I_(e){let t=E_(e);if(!t)return"";try{return vf(new URL(t).hostname)}catch{return""}}function A_(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function R_(e){if(!e.includes(":"))return!1;try{return vf(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function kf(e){let t=vf(e);return Lb(t).isIp===!0||A_(t)||R_(t)}function xf(e){let t=Jn(e);return!!t&&kf(t)}function Jn(e){return I_(String(e||"").trim().toLowerCase())}function Hs(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,i=Jn(o);return i?n?`=${i}`:r?`*.${i}`:i:""}function Pb(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function pr(e){let t=Jn(e);return t?t==="localhost"||kf(t)?t:Db(t,{allowPrivateDomains:!0})||t:""}function Ob(e,t){let n=Jn(e);return n?n==="localhost"||kf(n)?`=${n}`:t==="host_only"?`=${n}`:pr(n):""}function js(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let i of r){let a=Pb(Hs(String(i||"")),n);a&&o.add(a)}if(!o.size){let i=Ob(t,n);i&&o.add(i)}return Array.from(o)}function Kl(e,t){let n=Jn(e),r=Hs(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Qn(e){return Jn(e)||null}function Ur(e,t){let n=Qn(e);return n?t.length?t.some(r=>Kl(n,r)):!0:!1}function $s(e){let t=Jn(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(i=>Hs(i)).map(i=>Pb(i,n)).filter(Boolean):[];if(r.length>0)return r.some(i=>Kl(t,i));let o=Jn(e.currentHost||"");return o?n==="host_only"?t===o:pr(t)===pr(o):!0}var wf=new Set([z.describe_images,z.wait_action,z.wait_for_element,z.answer_task,z.solve_captcha,z.network_run_recipe]),C_=new Set([z.goto_url,z.google_search,z.go_back,z.go_forward,z.refresh_page,z.open_new_tab,z.switch_tab,z.close_tab]);function M_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function Bb(e){let t=M_(String(e.toolName||""));return!t||wf.has(t)||C_.has(t)?!1:!Ur(e.currentUrl,e.allowedDomains)}var Yl=class e{root;includeFrames;disableDomAnnotations;allowActions;runtimeId;domainScopeMode;allowedDomains;registerOpenedTab;listKnownTabs;switchToLogicalTab;onNavigationGuardrail;onBeforeAgentNavigation;onBeforeCrossHostNavigation;instrumentation;highlightEl=null;clientTools=new Map;navigationDelayMs;domSettleDebounceMs;domSettleMaxWaitMs;domSettleRetries;sparseTreeRetryDelayMs;sparseTreeRetryMaxAttempts;uploadStore=new Map;uploadProviderInstalled=!1;actionGateContext={};instrumentationStarted=!1;static NAV_PREFLIGHT_TIMEOUT_MS=1500;constructor(t={}){this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=Ub(t.domainScopeMode),this.allowedDomains=js(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=qs(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=qs(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=qs(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=qs(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=qs(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??_b({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),cb(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=Ub(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=js(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=js(t.allowedDomains,window.location.hostname,this.domainScopeMode))}async getSnapshot(){return await this.ensureListenerScan(),Fs(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=Dl(t?.pageConfig),r={...Uo,...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await yb(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||(Eb(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i=="function"){await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=N_(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let b=`Current tab host "${Qn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${L_(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,b,{fromCurrentContext:!0})}if(!this.allowActions&&!wf.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===z.wait_action){let h=Number(t?.args?.duration??1e3);return await new Promise(b=>setTimeout(b,Math.max(0,Math.min(h,6e4)))),{success:!0}}if(r===z.wait_for_element)return this.waitForElement(t?.args||{});if(r===z.answer_task)return{success:!0};if(r===z.solve_captcha)return Xl("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===z.network_run_recipe)return Xl("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let i=t?.args||{},a=O_(i);a&&await this.ensureListenerScan();let s=ba(document,i.iframe_id);if(i.iframe_id!=null&&s.unresolvedPath.length>0&&!a)return this.iframeContextUnavailableResponse(i.iframe_id,s);if(r===z.click_element&&i?.open_in_new_tab)return this.openElementInNewTab(i);if(r===z.click_element){let h=this.getInterceptedClickTarget(i);if(h?.targetUrl){if(h.forceOpenInNewTab)return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:h.reason,decisionReason:"open_new_tab"});let S=h.reason;return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:S,decisionReason:"open_new_tab"})}let b=this.getClickTargetInfo(i),v=b?.targetUrl||null;if(v){let S=this.buildNavigationIntent(v,{preferredDisposition:b?.preferredDisposition});if(S.isCrossHost){let k=await this.resolveAgentNavigationDecision(S,this.getNavigationFallbackDecision(v,S.preferredDisposition));if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(S)}else{let k=await this.resolveAgentNavigationDecision(S,"allow_same_tab");if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"})}}}if(r===z.describe_images)return this.describeImages(t?.args||{});if(!(r in Pl))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=Sf(i),d=l?dr(c,l):null,m;if(d){let h=this.instrumentation.getFrameworkMetadata(d),b=P_(h.listenersRaw||"",r),v=i?.value??i?.text??null;m=D_({...h,pattern:b,value:v})}let f=Pl[r];return r===z.upload_file&&!n&&(n=await this.buildUploadPayload(i).catch(()=>{})),lb({opcode:f,call:{name:r,args:i},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=dr(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case z.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=Gl(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Navigation blocked by domain policy."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Google search opens outside the allowed navigation scope."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=Gl(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});let a=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(a,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case z.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.listKnownTabs){let o=this.listKnownTabs().find(i=>Number(i.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return Xl("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case z.close_tab:try{return window.close(),{success:!0}}catch{return Xl("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return!Ur(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Qn(window.location.href)||window.location.hostname||"",r=Qn(t)||"";if(!n||!r||n===r||Ur(t,this.allowedDomains))return null;let o=pr(n),i=pr(r);return!o||o!==i?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return!Ur(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":Ur(t,this.allowedDomains)?n==="new_tab"?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Qn(window.location.href),r=Qn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),i=await this.awaitWithTimeout(o,e.NAV_PREFLIGHT_TIMEOUT_MS);if(!i||typeof i!="object")return r;let a=String(i.decision||"").trim();return{decision:a==="allow_same_tab"||a==="open_new_tab"||a==="block"?a:a==="stale_run"?n:r.decision,reason:String(i.reason||"").trim()||void 0,decisionReason:String(i.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,i=Ur(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),i?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return Bb({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:Ur(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=Sf(t);if(!n)return null;let{doc:r}=ba(document,t.iframe_id),o=dr(r,n);if(!o)return null;let i=Fb(o),a=i?.href||i?.getAttribute("href")||"",s=Gl(a,window.location.href);if(!s)return null;let c=String(i?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||"open_new_tab_notice",i=window.location.href,a=Qn(i)||window.location.hostname||void 0,s=Qn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:i,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:i,current_host:a,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is outside Rover's allowed domain scope. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:i,currentHost:a,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Qn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=a=>{if(a)try{let s=new URL(a);return s.hash="",s.toString()}catch{return}},i=o(t);try{let a=this.listKnownTabs(),s=a.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===i),c=s||a.find(m=>Number(m.logicalTabId)===r?!1:Qn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!Ur(t,this.allowedDomains),i=await this.tryReuseKnownTargetTab(t);if(i){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab to preserve Rover runtime continuity.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab to preserve Rover runtime continuity.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:i.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:i.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let a=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,a)),!s.opened){let f=await this.reconcileOpenedTab(t,a);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Qn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let i=this.listKnownTabs();for(let a of i){let s=Number(a?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(a?.url||"").trim();if(!c)return s;let l=Qn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(i=>setTimeout(i,120))}}async openElementInNewTab(t){let n=Sf(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=ba(document,t.iframe_id),o=dr(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let i=Fb(o),a=i?.href||i?.getAttribute("href")||"",s=Gl(a,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),i=document;for(;Date.now()-o<r;){let a=null;try{a=i.querySelector(n)}catch{a=null}if(a||(a=B_(i,n)),a)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=tb(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let i of n){let a=dr(document,i);if(!a){o.push(`element_id ${i} not found`);continue}try{let s=await U_(a);if(!s?.data||!s?.mimeType){o.push(`element_id ${i}: unsupported image`);continue}r.push({element_id:i,...s})}catch(s){o.push(`element_id ${i}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await Zg(0,n,document?.referrer||null),o=r.bytes,i=o.byteLength,a=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(i<=c)return{kind:"upload_file",inlineB64:jb(o),byteLength:i,mimeType:a,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:i,mimeType:a,fileName:s,durable:!1}}catch{return}}};function N_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function L_(e){return e.length?e.join(", "):"(none)"}function Ub(e){return e==="host_only"?"host_only":"registrable_domain"}function qs(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function Gl(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function Fb(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function Xl(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function D_(e){return{frameworks:(e.frameworks||[]).filter(n=>n in of).map(n=>of[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function P_(e,t){if(t!==z.click_element)return"standard";let n=bi(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>bo[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let a=r.has("touchstart"),s=r.has("touchend");return a&&s?"touch-sequence":"standard"}function jb(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function zb(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function $b(e){let t=[];for(let n of va){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=zb(i);a!=null&&t.push(a)}continue}let o=zb(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function O_(e){return $b(e).length>0}function Sf(e){let t=$b(e);return t.length?t[0]:null}function B_(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let i of Array.from(o))if((i.textContent||"").trim().toLowerCase().includes(n)||(i.getAttribute("aria-label")||"").toLowerCase().includes(n))return i;return null}async function U_(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),i=qb(o);if(!i)throw new Error("canvas toDataURL failed");return i}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await Hb(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await Hb(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function qb(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function Hb(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=qb(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),i=jb(o),a=r.type||"image/png";return{data:i,mimeType:a,displayName:t}}function Vb(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:i,params:a}=r;try{let s=t[i];if(!s)throw new Error(`No handler for ${i}`);let c=await s(a);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var F_="Rover";var Jl="#FF4C00";var Wb=[.52,.72,1],Kb=[.56,.72,.88],Gb=280,Xb=360,$o=1200,Yb=1200,Jb=1200,Sa=25,Qb=4;function Ue(e){return String(e||"").trim()}function Vs(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function z_(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function Tf(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function _f(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=z_(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=Tf(e.autoStopMs)),Object.keys(t).length?t:void 0}function H_(e){if(!e||typeof e!="object")return{};let t={};if(e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:Ue(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:Ue(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;n&&(t.audio={narration:{enabled:typeof n.enabled=="boolean"?n.enabled:void 0,defaultMode:n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off"?n.defaultMode:void 0,rate:Number.isFinite(Number(n.rate))?Math.max(.85,Math.min(1.15,Number(n.rate))):void 0,language:String(n.language||"").trim().slice(0,24)||void 0,voicePreference:n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural"?n.voicePreference:void 0}})}return e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0,actionSpotlight:typeof e.motion.actionSpotlight=="boolean"?e.motion.actionSpotlight:void 0,actionSpotlightColor:Vs(e.motion.actionSpotlightColor),filaments:typeof e.motion.filaments=="boolean"?e.motion.filaments:void 0,particles:typeof e.motion.particles=="boolean"?e.motion.particles:void 0,palimpsest:typeof e.motion.palimpsest=="boolean"?e.motion.palimpsest:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:Ue(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Ef(e,t,n){let r=H_(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},audio:{narration:{enabled:r.audio?.narration?.enabled??!0,defaultMode:r.audio?.narration?.defaultMode||"guided",rate:r.audio?.narration?.rate??1,language:r.audio?.narration?.language||"en-US",voicePreference:r.audio?.narration?.voicePreference||"auto"}},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard",actionSpotlight:r.motion?.actionSpotlight??!0,actionSpotlightColor:r.motion?.actionSpotlightColor||Vs(r.theme?.accentColor)||Jl,filaments:r.motion?.filaments,particles:r.motion?.particles,palimpsest:r.motion?.palimpsest},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||Jl,surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function Zb(e){let t=String(e||"").trim();return t?t.slice(0,64):F_}function ey(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function ty(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function ny(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function ry(e){let t=Vs(e);if(!t)return{};let n=t.replace("#",""),r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),i=parseInt(n.slice(4,6),16);if(isNaN(r)||isNaN(o)||isNaN(i))return{};let a=(s,c)=>Math.max(0,Math.round(s*(1-c)));return{"--rv-accent":t,"--rv-accent-rgb":`${r}, ${o}, ${i}`,"--rv-accent-hover":`#${a(r,.1).toString(16).padStart(2,"0")}${a(o,.1).toString(16).padStart(2,"0")}${a(i,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${r}, ${o}, ${i}, 0.06)`,"--rv-accent-border":`rgba(${r}, ${o}, ${i}, 0.14)`,"--rv-accent-glow":`rgba(${r}, ${o}, ${i}, 0.10)`}}function oy(e,t=Jl){let n=Vs(e)||Vs(t)||Jl,r=n.replace("#",""),o=parseInt(r.slice(0,2),16),i=parseInt(r.slice(2,4),16),a=parseInt(r.slice(4,6),16);return isNaN(o)||isNaN(i)||isNaN(a)?{}:{"--rv-action-spotlight":n,"--rv-action-spotlight-rgb":`${o}, ${i}, ${a}`,"--rv-action-spotlight-fill":`rgba(${o}, ${i}, ${a}, 0.045)`,"--rv-action-spotlight-halo":`rgba(${o}, ${i}, ${a}, 0.12)`,"--rv-action-spotlight-glow":`rgba(${o}, ${i}, ${a}, 0.18)`,"--rv-action-spotlight-pulse":`rgba(${o}, ${i}, ${a}, 0.22)`,"--rv-action-spotlight-pulse-soft":`rgba(${o}, ${i}, ${a}, 0.06)`,"--rv-action-spotlight-dark-fill":`rgba(${o}, ${i}, ${a}, 0.07)`,"--rv-action-spotlight-dark-halo":`rgba(${o}, ${i}, ${a}, 0.16)`,"--rv-action-spotlight-dark-glow":`rgba(${o}, ${i}, ${a}, 0.22)`}}function Ql(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function j_(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function $_(e){let t=Ql(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${Ql(e.host)||"shared"}`}function q_(e){let t=Ql(e.siteId);return t?`rover:narration:${t}`:`rover:narration:${Ql(e.host)||"shared"}`}function iy(e){let t=String(e||"").trim();if(!(!t||t.length>32)&&/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8}){0,3}$/.test(t))return t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-")}function ay(e){let t=String(e||"").trim();if(!(!t||t.length>180))return t.replace(/[\u0000-\u001f\u007f]/g,"").slice(0,180)||void 0}function sy(e){return e==="auto"||e==="system"||e==="natural"?e:void 0}function V_(e){if(e==null||e==="")return{value:{},source:"default"};let t=String(e).trim();if(t==="true"||t==="false")return{value:{enabled:t==="true"},source:"visitor"};try{let n=JSON.parse(t);if(!n||typeof n!="object")return{value:{},source:"default"};let r=n,o={};typeof r.enabled=="boolean"&&(o.enabled=r.enabled);let i=iy(r.language);i&&(o.language=i);let a=ay(r.voiceURI);a&&(o.voiceURI=a);let s=sy(r.voicePreference);return s&&(o.voicePreference=s),{value:o,source:Object.keys(o).length?"visitor":"default"}}catch{return{value:{},source:"default"}}}function If(e){let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=iy(e.language);n&&(t.language=n);let r=ay(e.voiceURI);r&&(t.voiceURI=r);let o=sy(e.voicePreference);return o&&(t.voicePreference=o),JSON.stringify(t)}function cy(e){let t=j_(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=$_({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function Af(e){let t=e.enabled!==!1;if(!t)return{supportedByConfig:t,enabled:!1,source:"default"};let n=q_({siteId:e.siteId,host:e.host}),r=e.defaultOn!==!1,o="default",i=e.readStored?.(n),a=V_(i);return a.source==="visitor"&&(typeof a.value.enabled=="boolean"&&(r=a.value.enabled),o="visitor"),{supportedByConfig:t,enabled:r,source:o,...a.value.language?{language:a.value.language}:{},...a.value.voiceURI?{voiceURI:a.value.voiceURI}:{},...a.value.voicePreference?{voicePreference:a.value.voicePreference}:{},storageKey:n}}function So(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function qo(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function ed(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function td(e){let t=Ue(e.actionCue?.toolCallId||"");if((e.kind==="tool_start"||e.kind==="tool_result")&&t)return`tool:${t}`;let n=String(e.title||"").trim().toLowerCase();return n.startsWith("running ")?`tool:${n.replace(/^running\s+/,"").trim()}`:n.endsWith(" completed")?`tool:${n.replace(/\s+completed$/,"").trim()}`:n==="run started"||n==="run resumed"||n==="run completed"?"run":e.kind==="status"?`status:${n||"status"}`:e.id||So("trace")}function ly(e){return String(e||"").replace(/\s+/g," ").trim()}function hy(e,t,n){return[String(e||"").trim(),ly(t),ly(n)].filter(Boolean).join(" ")}function nd(e){let t=Ue(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=Ue(n[2]||t);return{stage:r,plainTitle:o||t}}function Mf(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function gy(e){let t=Ue(e.toolName||"");if(t)return t;let n=Ue(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function W_(e){let t=Ue(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||Mf(n):void 0}function K_(e){let t=Ue(e||"").replace(/\s+/g," ").trim();return t?t.length<=48?t:`${t.slice(0,45).trim()}...`:""}function Nf(e){let t=e.actionCue;if(!t)return;let n=K_(t.targetLabel),r=e.kind!=="tool_result",o={click:{active:"Clicking",done:"Clicked"},type:{active:"Typing in",done:"Typed in"},select:{active:"Selecting",done:"Selected"},clear:{active:"Clearing",done:"Cleared"},focus:{active:"Focusing",done:"Focused"},hover:{active:"Hovering over",done:"Hovered over"},press:{active:"Pressing",done:"Pressed"},scroll:{active:"Scrolling to",done:"Scrolled to"},drag:{active:"Dragging",done:"Dragged"},copy:{active:"Copying",done:"Copied"},paste:{active:"Pasting into",done:"Pasted into"},upload:{active:"Uploading to",done:"Uploaded to"},navigate:{active:"Navigating",done:"Navigated"},read:{active:"Reading",done:"Read"},wait:{active:"Waiting for",done:"Waited for"},unknown:{active:"Acting on",done:"Acted on"}},i=o[t.kind]?.[r?"active":"done"]||o.unknown[r?"active":"done"];return n?`${i} ${n}`:t.kind==="type"?r?"Typing into field":"Typed into field":t.kind==="select"?r?"Selecting option":"Selected option":t.kind==="clear"?r?"Clearing field":"Cleared field":t.kind==="scroll"?r?"Scrolling page":"Scrolled page":t.kind==="drag"?r?"Dragging item":"Dragged item":t.kind==="copy"?r?"Copying text":"Copied text":t.kind==="paste"?r?"Pasting text":"Pasted text":t.kind==="upload"?r?"Uploading file":"Uploaded file":t.kind==="navigate"?r?"Navigating":"Navigated":t.kind==="read"?r?"Reading page":"Read page":t.kind==="wait"?r?"Waiting":"Waited":r?"Acting on page":"Acted on page"}function Ws(e){let t=e.kind,n=e.actionCue?.kind,r=gy(e),o=Ue(e.title||"");if(t==="tool_start")return n==="click"||n==="press"||n==="hover"||n==="focus"||n==="clear"||n==="drag"||n==="copy"||n==="paste"||n==="upload"?"Acting":n==="navigate"?"Navigating":n==="type"||n==="select"?"Inputting":n==="read"?"Reading":n==="scroll"?"Scrolling":n==="wait"?"Waiting":/click|tap|press/i.test(r)||/click|tap|press/i.test(o)?"Acting":/navigate|goto|go to|open|visit/i.test(r)||/navigate|go to|visit|open/i.test(o)?"Navigating":/type|fill|input|write|set/i.test(r)||/type|fill|input|write|set/i.test(o)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(r)||/read|extract|scrape|search|inspect/i.test(o)?"Reading":/scroll/i.test(r)||/scroll/i.test(o)?"Scrolling":/wait|monitor|observe/i.test(r)||/wait|monitor|observe/i.test(o)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="assistant_response")return e.responseKind==="final"?"Answer":"Update";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let i=nd(e.title||"");return i.stage?Mf(i.stage):"Status"}return t==="debug"?"Debug":t==="error"?"Error":t==="info"?"Update":"Searching"}function Ks(e){let t=Nf(e);if(t)return t;let n=nd(e.title||""),r=W_(gy(e));return r||(n.stage?Mf(n.stage):n.plainTitle?n.plainTitle:Ws(e))}function rd(e){if(e.actionCue)return"";let t=Ue(e.detail||"");if(t)return t;let n=nd(e.title||""),r=Ks(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function dy(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function uy(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function fy(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function py(e){return e.kind==="message"?Ue(e.message.id||e.message.text||""):Ue(e.event.id||e.event.title||"")}function Lf(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let i=uy(r)-uy(o);if(i!==0)return i;let a=dy(r)-dy(o);if(a!==0)return a;let s=fy(r)-fy(o);return s!==0?s:py(r).localeCompare(py(o))})}function by(e=[],t=[]){let n=Lf(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let i=r[r.length-1];if(i?.kind==="timeline"){i.events.push(o.event);continue}r.push({kind:"timeline",id:Ue(o.event.id||"")||So("trace-group"),events:[o.event]})}return r}function G_(e,t){let n=Ue(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),i=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!i)return o;let a=Math.max(12,t-o.length-1);if(i.length<=a)return`${o}${i}`;let s=i.slice(0,Math.max(6,Math.floor(a*.55))),c=i.slice(-Math.max(4,a-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function Gs(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=Ue(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let i=o.replace(/https?:\/\/[^\s]+/gi,a=>G_(a,r));return i.length<=n?i:`${i.slice(0,Math.max(20,n-3)).trimEnd()}...`}function yy(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=nd(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function Rf(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let i=document.createElement("a");i.className="rvLink",i.href=o[2],i.target="_blank",i.rel="noopener noreferrer",i.textContent=o[1],e.appendChild(i)}else if(o[3]){let i=document.createElement("strong");i.textContent=o[3],e.appendChild(i)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function wo(e){let t=document.createDocumentFragment(),n=e.split(`
10
+ `),r=null;for(let o of n){let i=o.trim();if(!i){r&&(t.appendChild(r),r=null);continue}if(i==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(i.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");Rf(c,i.slice(2)),r.appendChild(c);continue}if(r&&(t.appendChild(r),r=null),/^Step \d+/i.test(i)){let c=document.createElement("div");c.className="rvStepHeader",c.textContent=i,t.appendChild(c);continue}if(i.startsWith("[error] ")){let c=document.createElement("div");c.className="rvError",c.textContent=i.slice(8),t.appendChild(c);continue}if(i.startsWith("[next] ")){let c=document.createElement("div");c.className="rvNext",c.textContent=i.slice(7),t.appendChild(c);continue}let a=i.match(/^\*\*(.+?):\*\*\s*(.*)$/);if(a){let c=document.createElement("div");c.className="rvKv";let l=document.createElement("span");l.className="rvKvLabel",l.textContent=a[1];let d=document.createElement("span");d.className="rvKvValue",Rf(d,a[2]),c.appendChild(l),c.appendChild(d),t.appendChild(c);continue}let s=document.createElement("div");s.className="rvLine",Rf(s,i),t.appendChild(s)}return r&&t.appendChild(r),t}function Xs(e,t){let n=document.createElement("div");if(n.className="expandableWrap",e.length<=t)return n.appendChild(wo(e)),n;let r=e.split(`
11
11
  `),o=0,i=0;for(let l=0;l<r.length;l++)if(o+=r[l].length+1,o>=t){i=l+1;break}i===0&&(i=1);let a=r.slice(0,i).join(`
12
12
  `),s=r.slice(i).join(`
13
- `),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(xo(a)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(xo(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function nd(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Jl(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(nd(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function py(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return Jl(e)}}function yy(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(va,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function G_(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("button");r.type="button",r.className="rvRawToggle",r.textContent="Copy JSON";let o=document.createElement("pre");return o.className="rvRawJson",o.textContent=py(e),o.style.display="none",n.addEventListener("click",i=>{i.stopPropagation();let a=o.style.display==="none";o.style.display=a?"block":"none",n.textContent=a?"Hide raw JSON":"View raw JSON"}),r.addEventListener("click",i=>{i.stopPropagation();let a=o.textContent||py(e),s=r.textContent||"Copy JSON",c=()=>{r.textContent="Copied",setTimeout(()=>{r.textContent=s},1200)};try{let l=typeof navigator<"u"?navigator.clipboard?.writeText?.bind(navigator.clipboard):void 0;l&&l(a).then(c).catch(()=>{})}catch{}}),t.appendChild(n),t.appendChild(r),t.appendChild(o),t}function X_(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=Ue(e);return n?(n.length>jo?t.appendChild(Ks(n,jo)):t.appendChild(xo(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function Y_(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!nd(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let i of n){let a=o[i];if(a!=null&&!(typeof a=="string"||typeof a=="number"||typeof a=="boolean"))return}}return n.length?n:void 0}function J_(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=Y_(e),i=Math.min(va,e.length),a=document.createElement("div");a.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(a.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let h of o){let b=document.createElement("th");b.textContent=h,m.appendChild(b)}d.appendChild(m),l.appendChild(d);let u=document.createElement("tbody");for(let h=0;h<i;h+=1){let b=document.createElement("tr"),v=document.createElement("td");v.textContent=String(h+1),b.appendChild(v);let S=e[h]||{};for(let k of o){let x=document.createElement("td"),C=S[k];C==null?x.textContent="\u2014":x.textContent=Jl(C),b.appendChild(x)}u.appendChild(b)}l.appendChild(u),a.appendChild(l)}else for(let l=0;l<i;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let u=document.createElement("div");u.className="rvStructuredItemBody",u.appendChild(n(d,t+1)),m.appendChild(u),a.appendChild(m)}s.innerHTML="",i<e.length&&s.appendChild(yy({total:e.length,shown:i,onLoadMore:()=>{i=Math.min(e.length,i+va),c()}}))};return c(),r}function Q_(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let i=Math.min(va,o.length),a=document.createElement("div");a.className="rvStructuredObjectRows",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{a.innerHTML="";for(let l=0;l<i;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let u=document.createElement("div");u.className="rvStructuredKey",u.textContent=d;let h=document.createElement("div");h.className="rvStructuredValue",h.appendChild(n(m,t+1)),f.appendChild(u),f.appendChild(h),a.appendChild(f)}s.innerHTML="",i<o.length&&s.appendChild(yy({total:o.length,shown:i,onLoadMore:()=>{i=Math.min(o.length,i+va),c()}}))};return c(),r}function Af(e,t=0){if(t>=Jb){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=Jl(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return X_(e);if(Array.isArray(e))return J_(e,t,Af);if(nd(e))return Q_(e,t,Af);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=Jl(e),n}function Gs(e){if(e.type==="text"){let a=Ue(e.text);return a?Ks(a,jo):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=Ue(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:nd(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let i=document.createElement("div");return i.className="rvStructuredBody",i.appendChild(Af(e.data)),t.appendChild(i),t.appendChild(G_(e.data)),t}function vy(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=Gs(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=Ue(e);return s&&(s.length>jo?n.appendChild(Ks(s,jo)):n.appendChild(xo(s))),n}let i=Ue(e),a=r.some(s=>s.type==="text"&&Ue(s.text)===i);if(i&&!a){let s=document.createElement("div");s.className="rvLine",s.appendChild(xo(i)),n.insertBefore(s,n.firstChild)}return n}function ky(e="seed"){let t=e,n="idle",r=null,o=new Set;function i(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function a(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:i,getMood:()=>n,setMood:a,onStateChange:s,destroy:c}}function xy(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function wy(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function So(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Xs(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function To(e,t,n){return Math.max(t,Math.min(n,e))}function Pf(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",i=n<=640?"phone":n<=1023?"tablet":"desktop",a=i==="desktop"?"desktop":`${i}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:i,orientation:o,storageKey:a,keyboardInset:s}}function Vo(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:To(Math.round(e.width),640,n),height:To(Math.round(e.height),400,r)}}function wa(e){return Vo({width:960,height:600},e)}function Of(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Vo({width:n,height:r},t)}function Sy(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function Ty(e){let t=e.layout==="tablet"?Wb:Vb,n=e.layout==="tablet"?Gb:Kb,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,i=Math.max(n,Math.round(e.height-r-o));return t.map((a,s)=>s===t.length-1?i:To(Math.round((e.height-r)*a),Math.min(n,i),i))}var nE="rover:presence:";function _y(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${nE}${window.location.origin}:${n}:${r}`}function Ey(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function Iy(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ay(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Ry(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function rd(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var rE="https://www.rtrvr.ai/rover/mascot.mp4",oE="https://www.rtrvr.ai/rover/mascot.webm";function Bf(e){return String(e||"").trim()}function Cy(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function Sa(e){let t=Bf(e.imageUrl),n=Bf(e.mp4Url),r=Bf(e.webmUrl),o=!!n||!!r,i=!e.disabled&&!o&&!t;e.container.replaceChildren();let a=document.createElement("span");a.className=e.fallbackClassName,a.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",a.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||i)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",Cy(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":oE),m=n||(o?"":rE);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(a),a.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":a.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(a),a.style.display="none"):e.container.appendChild(a);return{video:l,image:s,setMuted(d){Cy(l,d)}}}function My(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,i=String(t||"Rover").trim()||"Rover",a="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=Sa({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let u=document.createElement("span");u.className="launcherLabel",u.textContent=o.presence?.ctaText||`Do it with ${t}`;let h=document.createElement("div");h.className="launcherShine";let b=document.createElement("div");b.className="seed-glow";let v=document.createElement("div");v.className="greetingBubble";let S=document.createElement("span");S.className="greetingText";let k=document.createElement("button");k.type="button",k.className="greetingClose",k.setAttribute("aria-label","Dismiss greeting"),k.textContent="\xD7",v.appendChild(S),v.appendChild(k),f.appendChild(u),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(h),s.appendChild(b),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let x=null,C=!1,_=null;function I(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function M(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function G(){return I()<=640?"mobile":"desktop"}function O(){return _y(e.siteId,G())}function Y(){let ee=I(),ue=M(),ce=o.shell?.safeAreaInsetPx??16,Me=s.getBoundingClientRect(),he=Me.width||(ee<=640?198:248),lt=Me.height||(ee<=640?64:72),pt=o.presence?.defaultAnchor||"bottom-center",ot=Math.max(ce,ee-he-ce),He=Math.max(ce,ue-lt-ce);return pt==="bottom-left"?{x:ce,y:He}:pt==="top-left"?{x:ce,y:ce}:pt==="top-right"?{x:ot,y:ce}:pt==="bottom-right"?{x:ot,y:He}:{x:Math.max(ce,Math.round((ee-he)/2)),y:He}}function Z(ee){let ue=I(),ce=M(),Me=o.shell?.safeAreaInsetPx??16,he=s.getBoundingClientRect(),lt=he.width||(ue<=640?198:248),pt=he.height||(ue<=640?64:72);return{x:To(Math.round(ee.x),Me,Math.max(Me,ue-lt-Me)),y:To(Math.round(ee.y),Me,Math.max(Me,ce-pt-Me))}}function ae(ee){let ue=window.visualViewport,ce=ue?ue.offsetLeft:0,Me=ue?ue.offsetTop:0;s.style.left=`${ee.x+ce}px`,s.style.top=`${ee.y+Me}px`,s.style.right="auto",s.style.bottom="auto"}function H(){let ee=O();x=(o.presence?.persistPosition?Ey(ee):null)||Y(),x=Z(x),ae(x)}function X(){o.presence?.persistPosition!==!1&&Iy(O(),x)}s.addEventListener("click",()=>{if(C){C=!1;return}e.onClick()}),s.addEventListener("pointerdown",ee=>{if(o.presence?.draggable===!1||ee.button!==0)return;let ue=s.getBoundingClientRect();_={pointerId:ee.pointerId,startX:ee.clientX,startY:ee.clientY,offsetX:ee.clientX-ue.left,offsetY:ee.clientY-ue.top,moved:!1},s.setPointerCapture(ee.pointerId)});let re=40,oe=.3;function pe(){let ee=I(),ue=M(),ce=o.shell?.safeAreaInsetPx??16,Me=s.getBoundingClientRect(),he=Me.width||(ee<=640?198:248),lt=Me.height||(ee<=640?64:72);return[{x:ce,y:ce},{x:Math.max(ce,ee-he-ce),y:ce},{x:ce,y:Math.max(ce,ue-lt-ce)},{x:Math.max(ce,ee-he-ce),y:Math.max(ce,ue-lt-ce)}]}function me(ee){let ue=pe(),ce=null;for(let Me of ue){let he=Math.hypot(ee.x-Me.x,ee.y-Me.y);(!ce||he<ce.dist)&&(ce={corner:Me,dist:he})}return ce}s.addEventListener("pointermove",ee=>{if(!_||_.pointerId!==ee.pointerId)return;let ue=ee.clientX-_.offsetX,ce=ee.clientY-_.offsetY;if(!_.moved){let ot=Math.hypot(ee.clientX-_.startX,ee.clientY-_.startY);if(_.moved=ot>=6,!_.moved)return;s.classList.add("dragging")}let Me=me({x:ue,y:ce});Me&&Me.dist<re?(ue+=(Me.corner.x-ue)*oe,ce+=(Me.corner.y-ce)*oe,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let he=window.visualViewport,lt=he?he.offsetLeft:0,pt=he?he.offsetTop:0;x=Z({x:ue-lt,y:ce-pt}),ae(x),v.classList.contains("visible")&&ve()}),s.addEventListener("pointerup",ee=>{if(!(!_||_.pointerId!==ee.pointerId)){if(s.classList.remove("snap-resist"),_.moved){C=!0;let ue=me(x||{x:0,y:0});if(ue&&ue.dist<re){let ce=ue.corner,Me={...x};x={x:ce.x,y:ce.y},ae(x);try{let he=window.visualViewport,lt=he?he.offsetLeft:0,pt=he?he.offsetTop:0,ot=s.animate([{left:`${Me.x+lt}px`,top:`${Me.y+pt}px`},{left:`${ce.x+lt}px`,top:`${ce.y+pt}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});ot.onfinish=()=>X()}catch{X()}}else X()}s.classList.remove("dragging"),_=null,s.releasePointerCapture(ee.pointerId)}}),s.addEventListener("pointercancel",ee=>{!_||_.pointerId!==ee.pointerId||(s.classList.remove("dragging"),_=null,s.releasePointerCapture(ee.pointerId))});function Se(ee){o=ee,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),u.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),H()}function Fe(ee){}function Pe(ee){d.setMuted(ee)}function ve(){let ee=s.getBoundingClientRect(),ue=v.offsetWidth||220,ce=v.offsetHeight||48,Me=ee.left+ee.width/2,he=I(),lt=Me-ue/2;lt=Math.max(8,Math.min(he-ue-8,lt));let pt=ee.top-ce-12;pt<8?(pt=ee.bottom+12,v.classList.add("flipped")):v.classList.remove("flipped"),v.style.left=`${lt}px`,v.style.top=`${pt}px`}let B=!1;function W(ee){if(ee)S.textContent=ee,v.classList.remove("dismissing"),v.classList.add("visible"),B=!1,requestAnimationFrame(()=>ve());else{if(!v.classList.contains("visible")||B)return;B=!0,v.classList.add("dismissing");let ue=()=>{v.removeEventListener("animationend",ue),v.classList.remove("visible","dismissing"),B=!1};v.addEventListener("animationend",ue)}}k.addEventListener("click",ee=>{ee.stopPropagation(),W(null)}),v.addEventListener("click",()=>{W(null),e.onClick()});function F(){}return{root:s,greetingBubble:v,video:m,update:Se,setMood:Fe,setMuted:Pe,setGreeting:W,applyPosition:H,persistPosition:X,getPosition:()=>x||Y(),destroy:F}}function Ny(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let i=document.createElement("div");i.className="avatar";let a=Sa({container:i,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=a.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let u=document.createElement("span");u.className="modeLabel controller",u.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(u),c.appendChild(l),c.appendChild(d);let h=document.createElement("div");h.className="headerActions";let b=document.createElement("button");b.type="button",b.className="sizeBtn hidden",b.setAttribute("aria-label","Resize Rover panel"),b.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',b.addEventListener("click",()=>e.onCycleSize());let v=document.createElement("button");v.type="button",v.className="conversationListBtn",v.setAttribute("aria-label","Conversations"),v.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',v.addEventListener("click",B=>{B.stopPropagation(),e.onToggleConversations()});let S=e.narrationEnabled,k=e.allowNarrationToggle,x=document.createElement("button");x.type="button",x.className="narrationBtn",x.addEventListener("click",B=>{B.stopPropagation(),e.onToggleNarration()});let C=document.createElement("button");C.type="button",C.className="overflowBtn",C.setAttribute("aria-label","More options"),C.innerHTML="&#x22EF;";let _=document.createElement("button");_.type="button",_.className="cancelPill",_.setAttribute("aria-label","Cancel task");let I=document.createElement("span");I.className="cancelIcon",_.appendChild(I),_.appendChild(document.createTextNode(" Cancel")),_.addEventListener("click",()=>e.onCancelRun());let M=document.createElement("button");M.type="button",M.className="closeBtn",M.setAttribute("aria-label","Close Rover panel"),M.textContent="\xD7",M.addEventListener("click",()=>e.onClose()),h.appendChild(b),h.appendChild(v),h.appendChild(x),h.appendChild(C),h.appendChild(_),h.appendChild(M);let G=!1,O=!1,Y=document.createElement("div");Y.className="overflowMenu";let Z=document.createElement("button");Z.type="button",Z.className="menuItem",Z.textContent="New task",Z.addEventListener("click",()=>{Pe(),e.onNewTask()});let ae=document.createElement("button");ae.type="button",ae.className="menuItem danger",ae.textContent="End task",ae.addEventListener("click",()=>{Pe(),e.onEndTask()});let H=document.createElement("div");H.className="menuDivider";let X=e.isMuted,re=document.createElement("button");re.type="button",re.className="menuItem",re.textContent=X?"Unmute sounds":"Mute sounds",re.addEventListener("click",()=>{Pe(),e.onToggleMute(),X=!X,re.textContent=X?"Unmute sounds":"Mute sounds"});let oe=document.createElement("button");oe.type="button",oe.className="menuItem",oe.addEventListener("click",()=>{Pe(),e.onToggleNarration()});let pe=document.createElement("button");pe.type="button",pe.className="menuItem",pe.textContent="Voice & language",pe.addEventListener("click",()=>{Pe(),e.onOpenVoiceSettings()});let me=document.createElement("button");me.type="button",me.className="menuItem",me.textContent="Take control",me.style.display="none",me.addEventListener("click",()=>{Pe(),e.onRequestControl()}),Y.appendChild(Z),Y.appendChild(ae),Y.appendChild(H),Y.appendChild(re),Y.appendChild(oe),Y.appendChild(pe),Y.appendChild(me),e.showTaskControls||(Z.style.display="none",ae.style.display="none"),e.allowSoundToggle||(re.style.display="none");function Se(){let B=S?"Turn off step narration":"Turn on step narration";x.setAttribute("aria-label",B),x.setAttribute("aria-pressed",S?"true":"false"),x.classList.toggle("enabled",S),x.style.display=k?"":"none",x.innerHTML=S?'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M18.5 5.5a9 9 0 0 1 0 13"></path></svg>':'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="m19 9-4 4"></path><path d="m15 9 4 4"></path></svg>',oe.textContent=S?"Turn off narration":"Turn on narration",oe.style.display=k?"":"none",pe.style.display=k?"":"none"}function Fe(){let B=e.showTaskControls||e.allowSoundToggle||k||me.style.display!=="none";H.style.display=e.allowSoundToggle||k?"":"none",C.style.display=O||!B?"none":""}C.addEventListener("click",B=>{B.stopPropagation(),G=!G,Y.classList.toggle("visible",G)});function Pe(){G=!1,Y.classList.remove("visible")}let ve=document.createElement("div");return ve.className="executionBar",o.appendChild(i),o.appendChild(c),o.appendChild(h),o.appendChild(Y),o.appendChild(ve),Se(),Fe(),{root:o,avatarVideo:s,statusText:f,modeLabel:u,cancelPill:_,executionBar:ve,overflowMenu:Y,conversationListBtn:v,menuTakeControl:me,setRunning(B){O=B,_.classList.toggle("visible",B),v.style.display=B?"none":"",ve.classList.toggle("active",B),Fe()},setStatus(B){f.textContent=B},setExecutionMode(B,W){u.classList.remove("controller","observer"),u.classList.add(B),B==="controller"?(u.textContent="active",me.style.display="none"):(u.textContent="observer",me.style.display=W?.canTakeControl!==!1?"":"none"),Fe()},setMuted(B){X=B,re.textContent=B?"Unmute sounds":"Mute sounds",a.setMuted(B)},setNarrationEnabled(B){S=B,Se(),Fe()},setNarrationAvailable(B){k=B,Se(),Fe()},closeOverflow:Pe,update(B){},destroy(){}}}function Uf(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Ly(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=Uf(e.stream?.maxVisibleLiveCards),i=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let a=document.createElement("div");a.className="transcriptContainer",n.appendChild(a);let s=document.createElement("div");s.className="typingIndicator";for(let B=0;B<3;B++){let W=document.createElement("span");W.className="typingDot",s.appendChild(W)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,u=null,h=0,b=!1,v=[],S=[],k=[],x=new Map;function C(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function _(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(C()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function I(B){return i?Math.min(B,o):B}function M(B,W){return{id:Ue(B.id||"")||wo("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(W))?Number(W):Number.isFinite(Number(B.order))?Number(B.order):h++}}function G(B,W){return{...B,id:Ue(B.id||"")||wo("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(W))?Number(W):Number.isFinite(Number(B.order))?Number(B.order):h++}}function O(B){let W=S.findIndex(F=>F.id===B.id);if(W>=0){S[W]={...S[W],...B,order:S[W].order};return}S.push(B)}function Y(B){let W=k.findIndex(F=>F.id===B.id);if(W>=0){k[W]={...k[W],...B,order:k[W].order};return}k.push(B)}function Z(B){let W={id:Ue(B.id||"")||wo("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(W.order=Number(B.order)),W}function ae(B){let W={...B,id:Ue(B.id||"")||wo("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(W.order=Number(B.order)),W}let H={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function X(B){let W=B.toLowerCase(),F=[];for(let[ee,ue]of Object.entries(H))ue.some(ce=>W.includes(ce))&&F.push(ee);return F.length===0&&F.push("default"),F.slice(0,3)}function re(B){let W=X(B);if(W.length===0||W.length===1&&W[0]==="default")return null;let F=document.createElement("div");F.className="intentPills";for(let ee of W){let ue=document.createElement("span");ue.className=`intentPill ${ee}`,ue.textContent=ee.charAt(0).toUpperCase()+ee.slice(1),F.appendChild(ue)}return F}function oe(B){let W=document.createElement("div");W.className=`entry message ${B.role}`;let F=document.createElement("div");F.className="bubble";let ee=Ue(B.text);B.role==="assistant"?F.appendChild(vy(ee,B.blocks)):F.textContent=ee;let ue=document.createElement("div");return ue.className="stamp",ue.textContent=$o(B.ts),W.appendChild(F),W.appendChild(ue),W}function pe(B){let W=[],F=new Map;for(let ee of B){let ue=Ue(ee.title||"");if(!ue||ue.toLowerCase()==="assistant update")continue;let ce={...ee,title:ue},Me=Zl(ce),he=Me==="run"||Me.startsWith("tool:")||ce.kind==="tool_result"||ce.kind==="status"&&F.has(Me);if(he&&F.has(Me)){W[F.get(Me)]={key:Me,event:ce};continue}he&&F.set(Me,W.length),W.push({key:Me,event:ce})}return W.map(ee=>ee.event)}function me(B){let W=document.createElement("div");W.className="entry trace pending";let F=document.createElement("div");F.className="traceTop";let ee=document.createElement("div");ee.className="traceMeta";let ue=document.createElement("span");ue.className="traceStage";let ce=document.createElement("div");ce.className="traceTitle";let Me=document.createElement("div");Me.className="traceTs",ee.appendChild(ue),ee.appendChild(ce),F.appendChild(ee),F.appendChild(Me);let he=document.createElement("div");he.className="traceDetail",W.appendChild(F),W.appendChild(he),W.addEventListener("click",()=>{f&&u&&u()}),W.addEventListener("mouseenter",()=>{let Xe=W.dataset.tooltipText;if(!Xe)return;l.textContent=Xe;let Dt=W.getBoundingClientRect(),jt=Dt.right+8,wt=Dt.top;l.style.display="block",l.style.top=`${wt}px`,l.style.left=`${Math.min(jt,window.innerWidth-320)}px`}),W.addEventListener("mouseleave",()=>{l.style.display="none"});let lt=Ql(B),pt=qs(B),ot=Vs(B),He=td(B),Ht=Array.isArray(B.detailBlocks)?B.detailBlocks:[],dt=(B.actionCue?"":Ue(B.detail||""))||(He!==ot?He:"");if(ce.textContent=ot||"Step",ue.textContent=pt,ue.style.display=pt?"":"none",Me.textContent=$o(B.ts),W.classList.toggle("minimalThought",r==="minimal"),B.kind==="plan"){let Xe=re(`${B.title||""} ${B.detail||""}`);Xe&&W.appendChild(Xe)}if(Ht.length>0){if(dt){let Xe=document.createElement("div");Xe.className="rvLine",Xe.appendChild(xo(dt)),he.appendChild(Xe)}for(let Xe of Ht){let Dt=Gs(Xe);Dt&&he.appendChild(Dt)}he.style.display=""}else if(dt){let Xe=B.kind==="thought"?Xb:B.kind==="tool_start"||B.kind==="tool_result"?Yb:jo;dt.length>Xe?he.appendChild(Ks(dt,Xe)):he.appendChild(xo(dt)),he.style.display=""}else he.style.display="none";W.classList.remove("pending","success","error","info"),W.classList.add(lt),W.dataset.status=lt,W.dataset.kind=B.kind,W.dataset.visibility=by(B);let Ne=B.actionCue?"":Ue(B.detail||"");return Ne?W.dataset.tooltipText=Ne.slice(0,400):delete W.dataset.tooltipText,W}function Se(B,W){let F=W?B.length:I(B.length);for(let ee=0;ee<B.length;ee++){let ue=B[ee],ce=W||ee>=B.length-F;ue.style.display=ce?"":"none";let Me=ue.dataset.status,he=Me==="success"||Me==="error"||Me==="info";ue.classList.toggle("compact",!W&&i&&he)}}function Fe(B){let W=pe(B.events);if(!W.length)return null;let F=x.get(B.id)??b,ee=document.createElement("section");ee.className="traceSegment",ee.dataset.segmentId=B.id;let ue=document.createElement("div");ue.className="traceSegmentHeader";let ce=document.createElement("span");ce.className="traceSegmentLabel",ce.textContent="Execution log";let Me=document.createElement("span");Me.className="traceSegmentCount",Me.textContent=`${W.length} step${W.length!==1?"s":""}`;let he=document.createElement("button");he.type="button",he.className="traceSegmentToggle",he.textContent=F?"Collapse":`Show all (${W.length})`,he.style.display=W.length>I(W.length)||F?"":"none",he.addEventListener("click",ot=>{ot.stopPropagation(),x.set(B.id,!F),Pe()}),ue.appendChild(ce),ue.appendChild(Me),ue.appendChild(he),ee.appendChild(ue);let lt=document.createElement("div");lt.className="traceSegmentBody";let pt=[];for(let ot of W){let He=me(ot);v.push(He),pt.push(He),lt.appendChild(He)}return Se(pt,F),ee.appendChild(lt),ee}function Pe(){a.innerHTML="",v.length=0;let B=document.createDocumentFragment(),W=new Set,F=gy(S,k);for(let ee of F){if(ee.kind==="message"){B.appendChild(oe(ee.message));continue}W.add(ee.id);let ue=Fe(ee);ue&&B.appendChild(ue)}for(let ee of Array.from(x.keys()))W.has(ee)||x.delete(ee);a.appendChild(B)}function ve(B,W){h=0,S.length=0,k.length=0,x.clear();let F=Mf(B.map(ee=>Z(ee)),W.map(ee=>ae(ee)));for(let ee of F)ee.kind==="message"?S.push(M(ee.message,h++)):k.push(G(ee.event,h++));Pe()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:v,addMessage(B,W,F){let ee=String(W||"");!ee&&(!F||F.length===0)||(O(M({role:B,text:ee,blocks:F})),Pe(),_())},setTranscript:ve,addTimelineEvent(B){let W=Ue(B.title||"");W&&(Y(G({...B,title:W})),Pe(),_())},clearMessages(){S.length=0,Pe()},clearTimeline(){k.length=0,x.clear(),Pe()},setTraceExpanded(B,W=2){b=B,o=Uf(W),x.clear(),Pe()},setLiveMode(B,W){f=B,u=W??null,n.classList.toggle("liveMode",B)},setThoughtStyle(B){r=B==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,Pe()},setStreamConfig(B){o=Uf(B?.maxVisibleLiveCards),i=B?.collapseCompletedSteps!==!1,Pe()},showTyping(B){B?(s.classList.add("visible"),_()):s.classList.remove("visible")},smartScrollToBottom:_,getScrollPosition:()=>n.scrollTop,setScrollPosition(B){requestAnimationFrame(()=>{n.scrollTop=B})}}}var Ys=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function aE(e){let t=Math.max(0,Number(e)||0);return t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(t<10*1024*1024?1:0)} MB`}function sE(e){let t=String(e||"").lastIndexOf(".");return t>=0?String(e).slice(t).toLowerCase():""}function Py(e,t){let n=Array.isArray(t)&&t.length>0?t:["images","pdfs","office","text"],r=String(e.type||"").toLowerCase(),o=sE(e.name);for(let i of n)if(i==="images"&&r.startsWith("image/")||i==="pdfs"&&(r==="application/pdf"||o===".pdf")||i==="text"&&(r.startsWith("text/")||r==="application/json"||o===".md"||o===".txt"||o===".json")||i==="office"&&([".doc",".docx",".ppt",".pptx",".xls",".xlsx",".csv",".rtf"].includes(o)||["application/msword","application/rtf","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"].includes(r)))return!0;return!1}function Oy(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let i=document.createElement("div");i.className="composerRow";let a=document.createElement("textarea");a.rows=1,a.placeholder="",i.appendChild(a);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=Ys[0],s.appendChild(c),i.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>';let m=document.createElement("span");m.className="attachmentCountBadge",m.setAttribute("aria-hidden","true"),d.appendChild(m),l.appendChild(d);let f=document.createElement("button");f.type="button",f.className="voiceBtn",f.setAttribute("aria-label","Start voice dictation"),f.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(f);let u=document.createElement("button");u.type="submit",u.className="sendBtn";let h='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',b='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';u.innerHTML=h,l.appendChild(u);let v=!1,S=null,k=document.createElement("input");k.type="file",k.className="attachmentInput",k.hidden=!0,o.appendChild(k);let x=document.createElement("div");x.className="attachmentStrip",x.setAttribute("aria-live","polite"),o.appendChild(x),i.appendChild(l),o.appendChild(i);let C=document.createElement("div");C.className="composerStatus",C.setAttribute("aria-live","polite"),o.appendChild(C);function _(){let H=n.inputs?.files!==!1;d.style.display=H?"":"none",k.multiple=n.inputs?.allowMultipleFiles!==!1,k.accept=ty(n.inputs?.acceptedMimeGroups)}function I(H,X="info"){let re=Ue(H);C.textContent=re,C.classList.toggle("visible",!!re),C.classList.toggle("error",X==="error"&&!!re)}function M(){x.innerHTML="";let H=n.inputs?.attachmentLimit??6;r=r.slice(0,H),x.classList.toggle("visible",r.length>0),d.disabled=a.disabled||r.length>=H,d.classList.toggle("hasAttachments",r.length>0),m.textContent=r.length>0?String(r.length):"",d.setAttribute("aria-label",r.length>0?`Attach files (${r.length} pending)`:"Attach files");for(let X=0;X<r.length;X+=1){let re=r[X],oe=document.createElement("span");oe.className="attachmentPill";let pe=document.createElement("span");pe.className="attachmentPillIcon",pe.setAttribute("aria-hidden","true"),pe.textContent="\u25F1";let me=document.createElement("span");me.className="attachmentPillBody";let Se=document.createElement("span");Se.className="attachmentPillLabel",Se.textContent=re.name;let Fe=document.createElement("span");Fe.className="attachmentPillMeta",Fe.textContent=aE(re.size);let Pe=document.createElement("button");Pe.type="button",Pe.className="attachmentPillRemove",Pe.setAttribute("aria-label",`Remove ${re.name}`),Pe.textContent="\xD7",Pe.addEventListener("click",()=>{r=r.filter((ve,B)=>B!==X),M(),I(r.length?`${r.length} file${r.length===1?"":"s"} attached`:"","info")}),me.appendChild(Se),me.appendChild(Fe),oe.appendChild(pe),oe.appendChild(me),oe.appendChild(Pe),x.appendChild(oe)}}d.addEventListener("click",()=>{d.disabled||k.click()}),k.addEventListener("change",()=>{let H=Array.from(k.files||[]);if(k.value="",H.length===0)return;let X=n.inputs?.attachmentLimit??6,re=(n.inputs?.maxFileSizeMb??12)*1024*1024,oe=Math.max(0,X-r.length),pe=H.filter(B=>!Py(B,n.inputs?.acceptedMimeGroups)),me=H.filter(B=>Py(B,n.inputs?.acceptedMimeGroups)),Se=me.filter(B=>B.size>re),Fe=me.filter(B=>B.size<=re),Pe=Fe.slice(0,oe),ve=Math.max(0,Fe.length-Pe.length);if(r=[...r,...Pe],M(),pe.length||Se.length||ve){let B=[];pe.length&&B.push(`${pe.length} unsupported`),Se.length&&B.push(`${Se.length} too large`),ve&&B.push(`${ve} over the file limit`),I(`Some files were not attached (${B.join(", ")}).`,"error")}else Pe.length&&I(`${r.length} file${r.length===1?"":"s"} attached`,"info")}),f.addEventListener("click",()=>{a.disabled||e.onVoiceStart()});function G(){a.style.height="auto";let H=Math.min(96,Math.max(44,a.scrollHeight));a.style.height=`${H}px`;let X=a.closest(".inputBarComposerSlot")?.closest(".inputBar");X&&X.classList.toggle("expanded-text",H>44)}a.addEventListener("input",()=>{G()}),a.addEventListener("keydown",H=>{H.key==="Enter"&&!H.shiftKey&&!H.isComposing&&(H.preventDefault(),o.requestSubmit())});let O=0,Y=null;function Z(){s.style.display=a.value.trim()?"none":""}function ae(){c.classList.add("fading"),setTimeout(()=>{O=(O+1)%Ys.length,c.textContent=Ys[O],c.classList.remove("fading")},220)}return a.addEventListener("blur",()=>Z()),a.addEventListener("input",()=>Z()),Y=setInterval(ae,4e3),u.addEventListener("click",H=>{v&&S&&(H.preventDefault(),H.stopPropagation(),S())}),o.addEventListener("submit",H=>{if(H.preventDefault(),v||a.disabled)return;let X=Ue(a.value);e.onSubmit(X,r.slice())}),_(),M(),{root:o,textarea:a,attachmentButton:d,attachmentInput:k,attachmentStrip:x,voiceButton:f,sendButton:u,statusEl:C,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],M()},setDisabled(H){a.disabled=H,d.disabled=H,k.disabled=H,f.disabled=H,v||(u.disabled=H),M()},setSendAsStop(H,X){v=H,S=H?X:null,H?(u.innerHTML=b,u.classList.add("stopMode"),u.disabled=!1,u.type="button"):(u.innerHTML=h,u.classList.remove("stopMode"),u.type="submit")},setVoiceActive(H){f.classList.toggle("active",H),f.setAttribute("aria-pressed",H?"true":"false"),f.setAttribute("aria-label",H?"Stop voice dictation":"Start voice dictation")},setVoiceVisible(H){f.classList.toggle("visible",H)},setStatusMessage:I,setText(H){a.value=H,G()},setStaticPlaceholder(H){a.placeholder=H,H?s.style.display="none":Z()},setPlaceholders(H){H.length&&(Ys=H,O=0,c.textContent=Ys[0],Z())},update(H){n=H,_(),M()},syncAttachmentUi:M}}function By(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let i=document.createElement("div");i.className="shortcutsBar";let a=[],s="";function c(m,f){let u=m.filter(b=>b&&b.enabled!==!1).slice(0,12),h=u.map(b=>`${b.id||b.label}|${b.label}|${b.description||""}|${b.icon||""}`).join(";;");if(h!==s){s=h,a=u,o.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutCard",b.icon){let k=document.createElement("span");k.className="shortcutCardIcon",k.textContent=b.icon,v.appendChild(k)}let S=document.createElement("span");if(S.className="shortcutCardLabel",S.textContent=b.label,v.appendChild(S),b.description){let k=document.createElement("span");k.className="shortcutCardDesc",k.textContent=b.description,v.appendChild(k)}v.addEventListener("click",()=>f?.(b)),o.appendChild(v)}i.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutChip",b.icon){let S=document.createElement("span");S.className="shortcutChipIcon",S.textContent=b.icon,v.appendChild(S)}v.appendChild(document.createTextNode(b.label)),v.addEventListener("click",()=>f?.(b)),i.appendChild(v)}}}function l(m,f,u){let h=a.length>0,b=h&&!m&&!f,v=h&&m&&!f&&!u;n.classList.toggle("visible",b),i.classList.toggle("visible",v)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:i,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function Uy(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Ay(),i=document.createElement("button");i.type="button",i.className="panelBackdrop",i.setAttribute("aria-label","Close Rover"),i.tabIndex=-1,i.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let u=document.createElement("span");u.className="taskStageStatusPill",u.textContent="Ready",m.appendChild(f),m.appendChild(u);let h=document.createElement("div");h.className="taskStageTitle",h.textContent=`Open ${n} and work live on this site`;let b=document.createElement("div");b.className="taskStageMeta",b.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(h),d.appendChild(b);let v=document.createElement("section");v.className="artifactStage";let S=document.createElement("div");S.className="artifactStageHeader";let k=document.createElement("span");k.className="artifactStageLabel",k.textContent="Live artifact";let x=document.createElement("button");x.type="button",x.className="artifactStageToggle",x.textContent="Expand",S.appendChild(k),S.appendChild(x);let C=document.createElement("div");C.className="artifactStageBody";let _=document.createElement("div");_.className="artifactStageEmpty",_.textContent="Artifacts surface here when Rover produces something meaningful.",C.appendChild(_),v.appendChild(S),v.appendChild(C);let I=document.createElement("div");I.className="taskSuggestion",I.innerHTML=`
13
+ `),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(wo(a)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(wo(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function od(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Zl(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(od(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function my(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return Zl(e)}}function vy(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(Sa,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function X_(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("button");r.type="button",r.className="rvRawToggle",r.textContent="Copy JSON";let o=document.createElement("pre");return o.className="rvRawJson",o.textContent=my(e),o.style.display="none",n.addEventListener("click",i=>{i.stopPropagation();let a=o.style.display==="none";o.style.display=a?"block":"none",n.textContent=a?"Hide raw JSON":"View raw JSON"}),r.addEventListener("click",i=>{i.stopPropagation();let a=o.textContent||my(e),s=r.textContent||"Copy JSON",c=()=>{r.textContent="Copied",setTimeout(()=>{r.textContent=s},1200)};try{let l=typeof navigator<"u"?navigator.clipboard?.writeText?.bind(navigator.clipboard):void 0;l&&l(a).then(c).catch(()=>{})}catch{}}),t.appendChild(n),t.appendChild(r),t.appendChild(o),t}function Y_(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=Ue(e);return n?(n.length>$o?t.appendChild(Xs(n,$o)):t.appendChild(wo(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function J_(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!od(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let i of n){let a=o[i];if(a!=null&&!(typeof a=="string"||typeof a=="number"||typeof a=="boolean"))return}}return n.length?n:void 0}function Q_(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=J_(e),i=Math.min(Sa,e.length),a=document.createElement("div");a.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(a.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let h of o){let b=document.createElement("th");b.textContent=h,m.appendChild(b)}d.appendChild(m),l.appendChild(d);let u=document.createElement("tbody");for(let h=0;h<i;h+=1){let b=document.createElement("tr"),v=document.createElement("td");v.textContent=String(h+1),b.appendChild(v);let S=e[h]||{};for(let k of o){let x=document.createElement("td"),C=S[k];C==null?x.textContent="\u2014":x.textContent=Zl(C),b.appendChild(x)}u.appendChild(b)}l.appendChild(u),a.appendChild(l)}else for(let l=0;l<i;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let u=document.createElement("div");u.className="rvStructuredItemBody",u.appendChild(n(d,t+1)),m.appendChild(u),a.appendChild(m)}s.innerHTML="",i<e.length&&s.appendChild(vy({total:e.length,shown:i,onLoadMore:()=>{i=Math.min(e.length,i+Sa),c()}}))};return c(),r}function Z_(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let i=Math.min(Sa,o.length),a=document.createElement("div");a.className="rvStructuredObjectRows",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{a.innerHTML="";for(let l=0;l<i;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let u=document.createElement("div");u.className="rvStructuredKey",u.textContent=d;let h=document.createElement("div");h.className="rvStructuredValue",h.appendChild(n(m,t+1)),f.appendChild(u),f.appendChild(h),a.appendChild(f)}s.innerHTML="",i<o.length&&s.appendChild(vy({total:o.length,shown:i,onLoadMore:()=>{i=Math.min(o.length,i+Sa),c()}}))};return c(),r}function Cf(e,t=0){if(t>=Qb){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=Zl(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return Y_(e);if(Array.isArray(e))return Q_(e,t,Cf);if(od(e))return Z_(e,t,Cf);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=Zl(e),n}function Ys(e){if(e.type==="text"){let a=Ue(e.text);return a?Xs(a,$o):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=Ue(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:od(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let i=document.createElement("div");return i.className="rvStructuredBody",i.appendChild(Cf(e.data)),t.appendChild(i),t.appendChild(X_(e.data)),t}function ky(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=Ys(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=Ue(e);return s&&(s.length>$o?n.appendChild(Xs(s,$o)):n.appendChild(wo(s))),n}let i=Ue(e),a=r.some(s=>s.type==="text"&&Ue(s.text)===i);if(i&&!a){let s=document.createElement("div");s.className="rvLine",s.appendChild(wo(i)),n.insertBefore(s,n.firstChild)}return n}function xy(e="seed"){let t=e,n="idle",r=null,o=new Set;function i(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function a(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:i,getMood:()=>n,setMood:a,onStateChange:s,destroy:c}}function wy(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function Sy(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function To(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Js(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function _o(e,t,n){return Math.max(t,Math.min(n,e))}function Bf(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",i=n<=640?"phone":n<=1023?"tablet":"desktop",a=i==="desktop"?"desktop":`${i}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:i,orientation:o,storageKey:a,keyboardInset:s}}function Wo(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:_o(Math.round(e.width),640,n),height:_o(Math.round(e.height),400,r)}}function Ea(e){return Wo({width:960,height:600},e)}function Uf(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Wo({width:n,height:r},t)}function Ty(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function _y(e){let t=e.layout==="tablet"?Kb:Wb,n=e.layout==="tablet"?Xb:Gb,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,i=Math.max(n,Math.round(e.height-r-o));return t.map((a,s)=>s===t.length-1?i:_o(Math.round((e.height-r)*a),Math.min(n,i),i))}var rE="rover:presence:";function Ey(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${rE}${window.location.origin}:${n}:${r}`}function Iy(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function Ay(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ry(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Cy(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function id(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var oE="https://www.rtrvr.ai/rover/mascot.mp4",iE="https://www.rtrvr.ai/rover/mascot.webm";function Ff(e){return String(e||"").trim()}function My(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function Ia(e){let t=Ff(e.imageUrl),n=Ff(e.mp4Url),r=Ff(e.webmUrl),o=!!n||!!r,i=!e.disabled&&!o&&!t;e.container.replaceChildren();let a=document.createElement("span");a.className=e.fallbackClassName,a.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",a.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||i)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",My(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":iE),m=n||(o?"":oE);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(a),a.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":a.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(a),a.style.display="none"):e.container.appendChild(a);return{video:l,image:s,setMuted(d){My(l,d)}}}function Ny(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,i=String(t||"Rover").trim()||"Rover",a="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=Ia({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let u=document.createElement("span");u.className="launcherLabel",u.textContent=o.presence?.ctaText||`Do it with ${t}`;let h=document.createElement("div");h.className="launcherShine";let b=document.createElement("div");b.className="seed-glow";let v=document.createElement("div");v.className="greetingBubble";let S=document.createElement("span");S.className="greetingText";let k=document.createElement("button");k.type="button",k.className="greetingClose",k.setAttribute("aria-label","Dismiss greeting"),k.textContent="\xD7",v.appendChild(S),v.appendChild(k),f.appendChild(u),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(h),s.appendChild(b),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let x=null,C=!1,_=null;function I(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function M(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function G(){return I()<=640?"mobile":"desktop"}function O(){return Ey(e.siteId,G())}function Y(){let ee=I(),ue=M(),ce=o.shell?.safeAreaInsetPx??16,Me=s.getBoundingClientRect(),he=Me.width||(ee<=640?198:248),lt=Me.height||(ee<=640?64:72),pt=o.presence?.defaultAnchor||"bottom-center",ot=Math.max(ce,ee-he-ce),He=Math.max(ce,ue-lt-ce);return pt==="bottom-left"?{x:ce,y:He}:pt==="top-left"?{x:ce,y:ce}:pt==="top-right"?{x:ot,y:ce}:pt==="bottom-right"?{x:ot,y:He}:{x:Math.max(ce,Math.round((ee-he)/2)),y:He}}function Z(ee){let ue=I(),ce=M(),Me=o.shell?.safeAreaInsetPx??16,he=s.getBoundingClientRect(),lt=he.width||(ue<=640?198:248),pt=he.height||(ue<=640?64:72);return{x:_o(Math.round(ee.x),Me,Math.max(Me,ue-lt-Me)),y:_o(Math.round(ee.y),Me,Math.max(Me,ce-pt-Me))}}function ae(ee){let ue=window.visualViewport,ce=ue?ue.offsetLeft:0,Me=ue?ue.offsetTop:0;s.style.left=`${ee.x+ce}px`,s.style.top=`${ee.y+Me}px`,s.style.right="auto",s.style.bottom="auto"}function H(){let ee=O();x=(o.presence?.persistPosition?Iy(ee):null)||Y(),x=Z(x),ae(x)}function X(){o.presence?.persistPosition!==!1&&Ay(O(),x)}s.addEventListener("click",()=>{if(C){C=!1;return}e.onClick()}),s.addEventListener("pointerdown",ee=>{if(o.presence?.draggable===!1||ee.button!==0)return;let ue=s.getBoundingClientRect();_={pointerId:ee.pointerId,startX:ee.clientX,startY:ee.clientY,offsetX:ee.clientX-ue.left,offsetY:ee.clientY-ue.top,moved:!1},s.setPointerCapture(ee.pointerId)});let re=40,oe=.3;function pe(){let ee=I(),ue=M(),ce=o.shell?.safeAreaInsetPx??16,Me=s.getBoundingClientRect(),he=Me.width||(ee<=640?198:248),lt=Me.height||(ee<=640?64:72);return[{x:ce,y:ce},{x:Math.max(ce,ee-he-ce),y:ce},{x:ce,y:Math.max(ce,ue-lt-ce)},{x:Math.max(ce,ee-he-ce),y:Math.max(ce,ue-lt-ce)}]}function me(ee){let ue=pe(),ce=null;for(let Me of ue){let he=Math.hypot(ee.x-Me.x,ee.y-Me.y);(!ce||he<ce.dist)&&(ce={corner:Me,dist:he})}return ce}s.addEventListener("pointermove",ee=>{if(!_||_.pointerId!==ee.pointerId)return;let ue=ee.clientX-_.offsetX,ce=ee.clientY-_.offsetY;if(!_.moved){let ot=Math.hypot(ee.clientX-_.startX,ee.clientY-_.startY);if(_.moved=ot>=6,!_.moved)return;s.classList.add("dragging")}let Me=me({x:ue,y:ce});Me&&Me.dist<re?(ue+=(Me.corner.x-ue)*oe,ce+=(Me.corner.y-ce)*oe,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let he=window.visualViewport,lt=he?he.offsetLeft:0,pt=he?he.offsetTop:0;x=Z({x:ue-lt,y:ce-pt}),ae(x),v.classList.contains("visible")&&ve()}),s.addEventListener("pointerup",ee=>{if(!(!_||_.pointerId!==ee.pointerId)){if(s.classList.remove("snap-resist"),_.moved){C=!0;let ue=me(x||{x:0,y:0});if(ue&&ue.dist<re){let ce=ue.corner,Me={...x};x={x:ce.x,y:ce.y},ae(x);try{let he=window.visualViewport,lt=he?he.offsetLeft:0,pt=he?he.offsetTop:0,ot=s.animate([{left:`${Me.x+lt}px`,top:`${Me.y+pt}px`},{left:`${ce.x+lt}px`,top:`${ce.y+pt}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});ot.onfinish=()=>X()}catch{X()}}else X()}s.classList.remove("dragging"),_=null,s.releasePointerCapture(ee.pointerId)}}),s.addEventListener("pointercancel",ee=>{!_||_.pointerId!==ee.pointerId||(s.classList.remove("dragging"),_=null,s.releasePointerCapture(ee.pointerId))});function Se(ee){o=ee,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),u.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),H()}function Fe(ee){}function Pe(ee){d.setMuted(ee)}function ve(){let ee=s.getBoundingClientRect(),ue=v.offsetWidth||220,ce=v.offsetHeight||48,Me=ee.left+ee.width/2,he=I(),lt=Me-ue/2;lt=Math.max(8,Math.min(he-ue-8,lt));let pt=ee.top-ce-12;pt<8?(pt=ee.bottom+12,v.classList.add("flipped")):v.classList.remove("flipped"),v.style.left=`${lt}px`,v.style.top=`${pt}px`}let B=!1;function W(ee){if(ee)S.textContent=ee,v.classList.remove("dismissing"),v.classList.add("visible"),B=!1,requestAnimationFrame(()=>ve());else{if(!v.classList.contains("visible")||B)return;B=!0,v.classList.add("dismissing");let ue=()=>{v.removeEventListener("animationend",ue),v.classList.remove("visible","dismissing"),B=!1};v.addEventListener("animationend",ue)}}k.addEventListener("click",ee=>{ee.stopPropagation(),W(null)}),v.addEventListener("click",()=>{W(null),e.onClick()});function F(){}return{root:s,greetingBubble:v,video:m,update:Se,setMood:Fe,setMuted:Pe,setGreeting:W,applyPosition:H,persistPosition:X,getPosition:()=>x||Y(),destroy:F}}function Ly(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let i=document.createElement("div");i.className="avatar";let a=Ia({container:i,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=a.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let u=document.createElement("span");u.className="modeLabel controller",u.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(u),c.appendChild(l),c.appendChild(d);let h=document.createElement("div");h.className="headerActions";let b=document.createElement("button");b.type="button",b.className="sizeBtn hidden",b.setAttribute("aria-label","Resize Rover panel"),b.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',b.addEventListener("click",()=>e.onCycleSize());let v=document.createElement("button");v.type="button",v.className="conversationListBtn",v.setAttribute("aria-label","Conversations"),v.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',v.addEventListener("click",B=>{B.stopPropagation(),e.onToggleConversations()});let S=e.narrationEnabled,k=e.allowNarrationToggle,x=document.createElement("button");x.type="button",x.className="narrationBtn",x.addEventListener("click",B=>{B.stopPropagation(),e.onToggleNarration()});let C=document.createElement("button");C.type="button",C.className="overflowBtn",C.setAttribute("aria-label","More options"),C.innerHTML="&#x22EF;";let _=document.createElement("button");_.type="button",_.className="cancelPill",_.setAttribute("aria-label","Cancel task");let I=document.createElement("span");I.className="cancelIcon",_.appendChild(I),_.appendChild(document.createTextNode(" Cancel")),_.addEventListener("click",()=>e.onCancelRun());let M=document.createElement("button");M.type="button",M.className="closeBtn",M.setAttribute("aria-label","Close Rover panel"),M.textContent="\xD7",M.addEventListener("click",()=>e.onClose()),h.appendChild(b),h.appendChild(v),h.appendChild(x),h.appendChild(C),h.appendChild(_),h.appendChild(M);let G=!1,O=!1,Y=document.createElement("div");Y.className="overflowMenu";let Z=document.createElement("button");Z.type="button",Z.className="menuItem",Z.textContent="New task",Z.addEventListener("click",()=>{Pe(),e.onNewTask()});let ae=document.createElement("button");ae.type="button",ae.className="menuItem danger",ae.textContent="End task",ae.addEventListener("click",()=>{Pe(),e.onEndTask()});let H=document.createElement("div");H.className="menuDivider";let X=e.isMuted,re=document.createElement("button");re.type="button",re.className="menuItem",re.textContent=X?"Unmute sounds":"Mute sounds",re.addEventListener("click",()=>{Pe(),e.onToggleMute(),X=!X,re.textContent=X?"Unmute sounds":"Mute sounds"});let oe=document.createElement("button");oe.type="button",oe.className="menuItem",oe.addEventListener("click",()=>{Pe(),e.onToggleNarration()});let pe=document.createElement("button");pe.type="button",pe.className="menuItem",pe.textContent="Voice & language",pe.addEventListener("click",()=>{Pe(),e.onOpenVoiceSettings()});let me=document.createElement("button");me.type="button",me.className="menuItem",me.textContent="Take control",me.style.display="none",me.addEventListener("click",()=>{Pe(),e.onRequestControl()}),Y.appendChild(Z),Y.appendChild(ae),Y.appendChild(H),Y.appendChild(re),Y.appendChild(oe),Y.appendChild(pe),Y.appendChild(me),e.showTaskControls||(Z.style.display="none",ae.style.display="none"),e.allowSoundToggle||(re.style.display="none");function Se(){let B=S?"Turn off step narration":"Turn on step narration";x.setAttribute("aria-label",B),x.setAttribute("aria-pressed",S?"true":"false"),x.classList.toggle("enabled",S),x.style.display=k?"":"none",x.innerHTML=S?'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M18.5 5.5a9 9 0 0 1 0 13"></path></svg>':'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="m19 9-4 4"></path><path d="m15 9 4 4"></path></svg>',oe.textContent=S?"Turn off narration":"Turn on narration",oe.style.display=k?"":"none",pe.style.display=k?"":"none"}function Fe(){let B=e.showTaskControls||e.allowSoundToggle||k||me.style.display!=="none";H.style.display=e.allowSoundToggle||k?"":"none",C.style.display=O||!B?"none":""}C.addEventListener("click",B=>{B.stopPropagation(),G=!G,Y.classList.toggle("visible",G)});function Pe(){G=!1,Y.classList.remove("visible")}let ve=document.createElement("div");return ve.className="executionBar",o.appendChild(i),o.appendChild(c),o.appendChild(h),o.appendChild(Y),o.appendChild(ve),Se(),Fe(),{root:o,avatarVideo:s,statusText:f,modeLabel:u,cancelPill:_,executionBar:ve,overflowMenu:Y,conversationListBtn:v,menuTakeControl:me,setRunning(B){O=B,_.classList.toggle("visible",B),v.style.display=B?"none":"",ve.classList.toggle("active",B),Fe()},setStatus(B){f.textContent=B},setExecutionMode(B,W){u.classList.remove("controller","observer"),u.classList.add(B),B==="controller"?(u.textContent="active",me.style.display="none"):(u.textContent="observer",me.style.display=W?.canTakeControl!==!1?"":"none"),Fe()},setMuted(B){X=B,re.textContent=B?"Unmute sounds":"Mute sounds",a.setMuted(B)},setNarrationEnabled(B){S=B,Se(),Fe()},setNarrationAvailable(B){k=B,Se(),Fe()},closeOverflow:Pe,update(B){},destroy(){}}}function zf(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Dy(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=zf(e.stream?.maxVisibleLiveCards),i=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let a=document.createElement("div");a.className="transcriptContainer",n.appendChild(a);let s=document.createElement("div");s.className="typingIndicator";for(let B=0;B<3;B++){let W=document.createElement("span");W.className="typingDot",s.appendChild(W)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,u=null,h=0,b=!1,v=[],S=[],k=[],x=new Map;function C(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function _(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(C()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function I(B){return i?Math.min(B,o):B}function M(B,W){return{id:Ue(B.id||"")||So("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(W))?Number(W):Number.isFinite(Number(B.order))?Number(B.order):h++}}function G(B,W){return{...B,id:Ue(B.id||"")||So("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(W))?Number(W):Number.isFinite(Number(B.order))?Number(B.order):h++}}function O(B){let W=S.findIndex(F=>F.id===B.id);if(W>=0){S[W]={...S[W],...B,order:S[W].order};return}S.push(B)}function Y(B){let W=k.findIndex(F=>F.id===B.id);if(W>=0){k[W]={...k[W],...B,order:k[W].order};return}k.push(B)}function Z(B){let W={id:Ue(B.id||"")||So("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(W.order=Number(B.order)),W}function ae(B){let W={...B,id:Ue(B.id||"")||So("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(W.order=Number(B.order)),W}let H={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function X(B){let W=B.toLowerCase(),F=[];for(let[ee,ue]of Object.entries(H))ue.some(ce=>W.includes(ce))&&F.push(ee);return F.length===0&&F.push("default"),F.slice(0,3)}function re(B){let W=X(B);if(W.length===0||W.length===1&&W[0]==="default")return null;let F=document.createElement("div");F.className="intentPills";for(let ee of W){let ue=document.createElement("span");ue.className=`intentPill ${ee}`,ue.textContent=ee.charAt(0).toUpperCase()+ee.slice(1),F.appendChild(ue)}return F}function oe(B){let W=document.createElement("div");W.className=`entry message ${B.role}`;let F=document.createElement("div");F.className="bubble";let ee=Ue(B.text);B.role==="assistant"?F.appendChild(ky(ee,B.blocks)):F.textContent=ee;let ue=document.createElement("div");return ue.className="stamp",ue.textContent=qo(B.ts),W.appendChild(F),W.appendChild(ue),W}function pe(B){let W=[],F=new Map;for(let ee of B){let ue=Ue(ee.title||"");if(!ue||ue.toLowerCase()==="assistant update")continue;let ce={...ee,title:ue},Me=td(ce),he=Me==="run"||Me.startsWith("tool:")||ce.kind==="tool_result"||ce.kind==="status"&&F.has(Me);if(he&&F.has(Me)){W[F.get(Me)]={key:Me,event:ce};continue}he&&F.set(Me,W.length),W.push({key:Me,event:ce})}return W.map(ee=>ee.event)}function me(B){let W=document.createElement("div");W.className="entry trace pending";let F=document.createElement("div");F.className="traceTop";let ee=document.createElement("div");ee.className="traceMeta";let ue=document.createElement("span");ue.className="traceStage";let ce=document.createElement("div");ce.className="traceTitle";let Me=document.createElement("div");Me.className="traceTs",ee.appendChild(ue),ee.appendChild(ce),F.appendChild(ee),F.appendChild(Me);let he=document.createElement("div");he.className="traceDetail",W.appendChild(F),W.appendChild(he),W.addEventListener("click",()=>{f&&u&&u()}),W.addEventListener("mouseenter",()=>{let Xe=W.dataset.tooltipText;if(!Xe)return;l.textContent=Xe;let Dt=W.getBoundingClientRect(),jt=Dt.right+8,wt=Dt.top;l.style.display="block",l.style.top=`${wt}px`,l.style.left=`${Math.min(jt,window.innerWidth-320)}px`}),W.addEventListener("mouseleave",()=>{l.style.display="none"});let lt=ed(B),pt=Ws(B),ot=Ks(B),He=rd(B),Ht=Array.isArray(B.detailBlocks)?B.detailBlocks:[],dt=(B.actionCue?"":Ue(B.detail||""))||(He!==ot?He:"");if(ce.textContent=ot||"Step",ue.textContent=pt,ue.style.display=pt?"":"none",Me.textContent=qo(B.ts),W.classList.toggle("minimalThought",r==="minimal"),B.kind==="plan"){let Xe=re(`${B.title||""} ${B.detail||""}`);Xe&&W.appendChild(Xe)}if(Ht.length>0){if(dt){let Xe=document.createElement("div");Xe.className="rvLine",Xe.appendChild(wo(dt)),he.appendChild(Xe)}for(let Xe of Ht){let Dt=Ys(Xe);Dt&&he.appendChild(Dt)}he.style.display=""}else if(dt){let Xe=B.kind==="thought"?Yb:B.kind==="tool_start"||B.kind==="tool_result"?Jb:$o;dt.length>Xe?he.appendChild(Xs(dt,Xe)):he.appendChild(wo(dt)),he.style.display=""}else he.style.display="none";W.classList.remove("pending","success","error","info"),W.classList.add(lt),W.dataset.status=lt,W.dataset.kind=B.kind,W.dataset.visibility=yy(B);let Ne=B.actionCue?"":Ue(B.detail||"");return Ne?W.dataset.tooltipText=Ne.slice(0,400):delete W.dataset.tooltipText,W}function Se(B,W){let F=W?B.length:I(B.length);for(let ee=0;ee<B.length;ee++){let ue=B[ee],ce=W||ee>=B.length-F;ue.style.display=ce?"":"none";let Me=ue.dataset.status,he=Me==="success"||Me==="error"||Me==="info";ue.classList.toggle("compact",!W&&i&&he)}}function Fe(B){let W=pe(B.events);if(!W.length)return null;let F=x.get(B.id)??b,ee=document.createElement("section");ee.className="traceSegment",ee.dataset.segmentId=B.id;let ue=document.createElement("div");ue.className="traceSegmentHeader";let ce=document.createElement("span");ce.className="traceSegmentLabel",ce.textContent="Execution log";let Me=document.createElement("span");Me.className="traceSegmentCount",Me.textContent=`${W.length} step${W.length!==1?"s":""}`;let he=document.createElement("button");he.type="button",he.className="traceSegmentToggle",he.textContent=F?"Collapse":`Show all (${W.length})`,he.style.display=W.length>I(W.length)||F?"":"none",he.addEventListener("click",ot=>{ot.stopPropagation(),x.set(B.id,!F),Pe()}),ue.appendChild(ce),ue.appendChild(Me),ue.appendChild(he),ee.appendChild(ue);let lt=document.createElement("div");lt.className="traceSegmentBody";let pt=[];for(let ot of W){let He=me(ot);v.push(He),pt.push(He),lt.appendChild(He)}return Se(pt,F),ee.appendChild(lt),ee}function Pe(){a.innerHTML="",v.length=0;let B=document.createDocumentFragment(),W=new Set,F=by(S,k);for(let ee of F){if(ee.kind==="message"){B.appendChild(oe(ee.message));continue}W.add(ee.id);let ue=Fe(ee);ue&&B.appendChild(ue)}for(let ee of Array.from(x.keys()))W.has(ee)||x.delete(ee);a.appendChild(B)}function ve(B,W){h=0,S.length=0,k.length=0,x.clear();let F=Lf(B.map(ee=>Z(ee)),W.map(ee=>ae(ee)));for(let ee of F)ee.kind==="message"?S.push(M(ee.message,h++)):k.push(G(ee.event,h++));Pe()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:v,addMessage(B,W,F){let ee=String(W||"");!ee&&(!F||F.length===0)||(O(M({role:B,text:ee,blocks:F})),Pe(),_())},setTranscript:ve,addTimelineEvent(B){let W=Ue(B.title||"");W&&(Y(G({...B,title:W})),Pe(),_())},clearMessages(){S.length=0,Pe()},clearTimeline(){k.length=0,x.clear(),Pe()},setTraceExpanded(B,W=2){b=B,o=zf(W),x.clear(),Pe()},setLiveMode(B,W){f=B,u=W??null,n.classList.toggle("liveMode",B)},setThoughtStyle(B){r=B==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,Pe()},setStreamConfig(B){o=zf(B?.maxVisibleLiveCards),i=B?.collapseCompletedSteps!==!1,Pe()},showTyping(B){B?(s.classList.add("visible"),_()):s.classList.remove("visible")},smartScrollToBottom:_,getScrollPosition:()=>n.scrollTop,setScrollPosition(B){requestAnimationFrame(()=>{n.scrollTop=B})}}}var Qs=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function sE(e){let t=Math.max(0,Number(e)||0);return t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(t<10*1024*1024?1:0)} MB`}function cE(e){let t=String(e||"").lastIndexOf(".");return t>=0?String(e).slice(t).toLowerCase():""}function Oy(e,t){let n=Array.isArray(t)&&t.length>0?t:["images","pdfs","office","text"],r=String(e.type||"").toLowerCase(),o=cE(e.name);for(let i of n)if(i==="images"&&r.startsWith("image/")||i==="pdfs"&&(r==="application/pdf"||o===".pdf")||i==="text"&&(r.startsWith("text/")||r==="application/json"||o===".md"||o===".txt"||o===".json")||i==="office"&&([".doc",".docx",".ppt",".pptx",".xls",".xlsx",".csv",".rtf"].includes(o)||["application/msword","application/rtf","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"].includes(r)))return!0;return!1}function By(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let i=document.createElement("div");i.className="composerRow";let a=document.createElement("textarea");a.rows=1,a.placeholder="",i.appendChild(a);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=Qs[0],s.appendChild(c),i.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>';let m=document.createElement("span");m.className="attachmentCountBadge",m.setAttribute("aria-hidden","true"),d.appendChild(m),l.appendChild(d);let f=document.createElement("button");f.type="button",f.className="voiceBtn",f.setAttribute("aria-label","Start voice dictation"),f.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(f);let u=document.createElement("button");u.type="submit",u.className="sendBtn";let h='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',b='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';u.innerHTML=h,l.appendChild(u);let v=!1,S=null,k=document.createElement("input");k.type="file",k.className="attachmentInput",k.hidden=!0,o.appendChild(k);let x=document.createElement("div");x.className="attachmentStrip",x.setAttribute("aria-live","polite"),o.appendChild(x),i.appendChild(l),o.appendChild(i);let C=document.createElement("div");C.className="composerStatus",C.setAttribute("aria-live","polite"),o.appendChild(C);function _(){let H=n.inputs?.files!==!1;d.style.display=H?"":"none",k.multiple=n.inputs?.allowMultipleFiles!==!1,k.accept=ny(n.inputs?.acceptedMimeGroups)}function I(H,X="info"){let re=Ue(H);C.textContent=re,C.classList.toggle("visible",!!re),C.classList.toggle("error",X==="error"&&!!re)}function M(){x.innerHTML="";let H=n.inputs?.attachmentLimit??6;r=r.slice(0,H),x.classList.toggle("visible",r.length>0),d.disabled=a.disabled||r.length>=H,d.classList.toggle("hasAttachments",r.length>0),m.textContent=r.length>0?String(r.length):"",d.setAttribute("aria-label",r.length>0?`Attach files (${r.length} pending)`:"Attach files");for(let X=0;X<r.length;X+=1){let re=r[X],oe=document.createElement("span");oe.className="attachmentPill";let pe=document.createElement("span");pe.className="attachmentPillIcon",pe.setAttribute("aria-hidden","true"),pe.textContent="\u25F1";let me=document.createElement("span");me.className="attachmentPillBody";let Se=document.createElement("span");Se.className="attachmentPillLabel",Se.textContent=re.name;let Fe=document.createElement("span");Fe.className="attachmentPillMeta",Fe.textContent=sE(re.size);let Pe=document.createElement("button");Pe.type="button",Pe.className="attachmentPillRemove",Pe.setAttribute("aria-label",`Remove ${re.name}`),Pe.textContent="\xD7",Pe.addEventListener("click",()=>{r=r.filter((ve,B)=>B!==X),M(),I(r.length?`${r.length} file${r.length===1?"":"s"} attached`:"","info")}),me.appendChild(Se),me.appendChild(Fe),oe.appendChild(pe),oe.appendChild(me),oe.appendChild(Pe),x.appendChild(oe)}}d.addEventListener("click",()=>{d.disabled||k.click()}),k.addEventListener("change",()=>{let H=Array.from(k.files||[]);if(k.value="",H.length===0)return;let X=n.inputs?.attachmentLimit??6,re=(n.inputs?.maxFileSizeMb??12)*1024*1024,oe=Math.max(0,X-r.length),pe=H.filter(B=>!Oy(B,n.inputs?.acceptedMimeGroups)),me=H.filter(B=>Oy(B,n.inputs?.acceptedMimeGroups)),Se=me.filter(B=>B.size>re),Fe=me.filter(B=>B.size<=re),Pe=Fe.slice(0,oe),ve=Math.max(0,Fe.length-Pe.length);if(r=[...r,...Pe],M(),pe.length||Se.length||ve){let B=[];pe.length&&B.push(`${pe.length} unsupported`),Se.length&&B.push(`${Se.length} too large`),ve&&B.push(`${ve} over the file limit`),I(`Some files were not attached (${B.join(", ")}).`,"error")}else Pe.length&&I(`${r.length} file${r.length===1?"":"s"} attached`,"info")}),f.addEventListener("click",()=>{a.disabled||e.onVoiceStart()});function G(){a.style.height="auto";let H=Math.min(96,Math.max(44,a.scrollHeight));a.style.height=`${H}px`;let X=a.closest(".inputBarComposerSlot")?.closest(".inputBar");X&&X.classList.toggle("expanded-text",H>44)}a.addEventListener("input",()=>{G()}),a.addEventListener("keydown",H=>{H.key==="Enter"&&!H.shiftKey&&!H.isComposing&&(H.preventDefault(),o.requestSubmit())});let O=0,Y=null;function Z(){s.style.display=a.value.trim()?"none":""}function ae(){c.classList.add("fading"),setTimeout(()=>{O=(O+1)%Qs.length,c.textContent=Qs[O],c.classList.remove("fading")},220)}return a.addEventListener("blur",()=>Z()),a.addEventListener("input",()=>Z()),Y=setInterval(ae,4e3),u.addEventListener("click",H=>{v&&S&&(H.preventDefault(),H.stopPropagation(),S())}),o.addEventListener("submit",H=>{if(H.preventDefault(),v||a.disabled)return;let X=Ue(a.value);e.onSubmit(X,r.slice())}),_(),M(),{root:o,textarea:a,attachmentButton:d,attachmentInput:k,attachmentStrip:x,voiceButton:f,sendButton:u,statusEl:C,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],M()},setDisabled(H){a.disabled=H,d.disabled=H,k.disabled=H,f.disabled=H,v||(u.disabled=H),M()},setSendAsStop(H,X){v=H,S=H?X:null,H?(u.innerHTML=b,u.classList.add("stopMode"),u.disabled=!1,u.type="button"):(u.innerHTML=h,u.classList.remove("stopMode"),u.type="submit")},setVoiceActive(H){f.classList.toggle("active",H),f.setAttribute("aria-pressed",H?"true":"false"),f.setAttribute("aria-label",H?"Stop voice dictation":"Start voice dictation")},setVoiceVisible(H){f.classList.toggle("visible",H)},setStatusMessage:I,setText(H){a.value=H,G()},setStaticPlaceholder(H){a.placeholder=H,H?s.style.display="none":Z()},setPlaceholders(H){H.length&&(Qs=H,O=0,c.textContent=Qs[0],Z())},update(H){n=H,_(),M()},syncAttachmentUi:M}}function Uy(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let i=document.createElement("div");i.className="shortcutsBar";let a=[],s="";function c(m,f){let u=m.filter(b=>b&&b.enabled!==!1).slice(0,12),h=u.map(b=>`${b.id||b.label}|${b.label}|${b.description||""}|${b.icon||""}`).join(";;");if(h!==s){s=h,a=u,o.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutCard",b.icon){let k=document.createElement("span");k.className="shortcutCardIcon",k.textContent=b.icon,v.appendChild(k)}let S=document.createElement("span");if(S.className="shortcutCardLabel",S.textContent=b.label,v.appendChild(S),b.description){let k=document.createElement("span");k.className="shortcutCardDesc",k.textContent=b.description,v.appendChild(k)}v.addEventListener("click",()=>f?.(b)),o.appendChild(v)}i.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutChip",b.icon){let S=document.createElement("span");S.className="shortcutChipIcon",S.textContent=b.icon,v.appendChild(S)}v.appendChild(document.createTextNode(b.label)),v.addEventListener("click",()=>f?.(b)),i.appendChild(v)}}}function l(m,f,u){let h=a.length>0,b=h&&!m&&!f,v=h&&m&&!f&&!u;n.classList.toggle("visible",b),i.classList.toggle("visible",v)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:i,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function Fy(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Ry(),i=document.createElement("button");i.type="button",i.className="panelBackdrop",i.setAttribute("aria-label","Close Rover"),i.tabIndex=-1,i.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let u=document.createElement("span");u.className="taskStageStatusPill",u.textContent="Ready",m.appendChild(f),m.appendChild(u);let h=document.createElement("div");h.className="taskStageTitle",h.textContent=`Open ${n} and work live on this site`;let b=document.createElement("div");b.className="taskStageMeta",b.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(h),d.appendChild(b);let v=document.createElement("section");v.className="artifactStage";let S=document.createElement("div");S.className="artifactStageHeader";let k=document.createElement("span");k.className="artifactStageLabel",k.textContent="Live artifact";let x=document.createElement("button");x.type="button",x.className="artifactStageToggle",x.textContent="Expand",S.appendChild(k),S.appendChild(x);let C=document.createElement("div");C.className="artifactStageBody";let _=document.createElement("div");_.className="artifactStageEmpty",_.textContent="Artifacts surface here when Rover produces something meaningful.",C.appendChild(_),v.appendChild(S),v.appendChild(C);let I=document.createElement("div");I.className="taskSuggestion",I.innerHTML=`
14
14
  <div class="taskSuggestionText"></div>
15
15
  <div class="taskSuggestionActions">
16
16
  <button type="button" class="taskSuggestionBtn primary">Start new</button>
17
17
  <button type="button" class="taskSuggestionBtn secondary">Continue</button>
18
18
  </div>
19
- `;let M=I.querySelector(".taskSuggestionText"),G=I.querySelector(".taskSuggestionBtn.primary"),O=I.querySelector(".taskSuggestionBtn.secondary"),Y=document.createElement("div");Y.className="questionPrompt";let Z=document.createElement("div");Z.className="questionPromptTitle",Z.textContent="Need a bit more info";let ae=document.createElement("form");ae.className="questionPromptForm";let H=document.createElement("div");H.className="questionPromptList",ae.appendChild(H);let X=document.createElement("div");X.className="questionPromptActions";let re=document.createElement("button");re.type="button",re.className="questionPromptCancel",re.textContent="Cancel",X.appendChild(re);let oe=document.createElement("button");oe.type="submit",oe.className="questionPromptSubmit",oe.textContent="Continue",X.appendChild(oe),ae.appendChild(X),Y.appendChild(Z),Y.appendChild(ae);let pe=document.createElement("div");pe.className="roverConversationPill",pe.setAttribute("role","button"),pe.setAttribute("tabindex","0");let me=document.createElement("span");me.className="roverConversationPillLabel",me.textContent="Current task";let Se=document.createElement("span");Se.className="roverConversationPillArrow",Se.textContent="\u25BE",pe.appendChild(me),pe.appendChild(Se);let Fe=document.createElement("div");Fe.className="pausedTaskBanner";let Pe=document.createElement("div");Pe.className="conversationDrawer";let ve=document.createElement("div");ve.className="conversationDrawerHeader";let B=document.createElement("span");B.className="conversationDrawerTitle",B.textContent="Conversations";let W=document.createElement("button");W.type="button",W.className="conversationDrawerClose",W.textContent="\xD7",ve.appendChild(B),ve.appendChild(W);let F=document.createElement("div");F.className="conversationList";let ee=document.createElement("button");ee.type="button",ee.className="conversationNewBtn",ee.textContent="New conversation",Pe.appendChild(ve),Pe.appendChild(F),Pe.appendChild(ee),pe.addEventListener("click",()=>{Pe.classList.toggle("open")});let ue=t?Ry(o):{},ce=Pf(),Me=ce.storageKey,he=t?Of(ue.desktop,ce)||wa(ce):wa(ce),lt=t?Sy(ue[ce.storageKey]?.preset)??1:1,pt=null;if(t){let Ve=!1,dt=0,Ne=0,Xe=0,Dt=0,jt=0;l.addEventListener("pointerdown",tt=>{if(ce.layout!=="desktop")return;tt.preventDefault(),tt.stopPropagation(),Ve=!0;let en=a.getBoundingClientRect();dt=tt.clientX,Ne=tt.clientY,Xe=en.width,Dt=en.height,jt=en.left,l.setPointerCapture(tt.pointerId),a.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",tt=>{if(!Ve)return;let en=tt.clientX-dt,tn=tt.clientY-Ne,an=Vo({width:Xe-en,height:Dt+tn},ce),pn=r.shell?.safeAreaInsetPx??16;a.style.width=`${an.width}px`,a.style.height=`${an.height}px`,a.style.left=`${Math.max(pn,Math.round((ce.width-an.width)/2))}px`,a.style.top=`${Math.max(pn,Math.round((ce.height-an.height)/2))}px`});let wt=tt=>{if(!Ve)return;Ve=!1,l.releasePointerCapture(tt.pointerId),a.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let en=a.getBoundingClientRect();he=Vo({width:en.width,height:en.height},ce),ue={...ue,desktop:he},rd(o,ue);let tn=r.shell?.safeAreaInsetPx??16;a.style.left=`${Math.max(tn,Math.round((ce.width-he.width)/2))}px`,a.style.top=`${Math.max(tn,Math.round((ce.height-he.height)/2))}px`};l.addEventListener("pointerup",wt),l.addEventListener("pointercancel",wt)}function ot(){let Ve=Pf(),dt=Ve.storageKey!==Me;ce=Ve,Me=Ve.storageKey;let Ne=r.shell?.safeAreaInsetPx??16;if(Ve.layout==="desktop"){t?dt?he=Of(ue.desktop,Ve)||wa(Ve):he=Vo(he,Ve):he=wa(Ve);let Xe=r.shell?.desktopSize||"stage",Dt=r.shell?.desktopHeight||"tall",jt=To(Xe==="compact"?640:Xe==="cinema"?1200:960,640,Math.max(640,Math.min(1200,Ve.width-Ne*2))),wt=To(Dt==="full"?Ve.height-Ne*2:Math.min(600,Ve.height-Ne*2),400,Math.max(400,Ve.height-Ne*2));t||(he=Vo({width:jt,height:wt},Ve));let tt=t?he.width:jt,en=t?he.height:wt;a.style.left=`${Math.max(Ne,Math.round((Ve.width-tt)/2))}px`,a.style.top=`${Math.max(Ne,Math.round((Ve.height-en)/2))}px`,a.style.right="",a.style.bottom="",a.style.width=`${tt}px`,a.style.height=`${en}px`,a.style.minWidth=`${640}px`,a.style.minHeight=`${400}px`,a.style.maxWidth=`${Math.max(640,Math.min(1200,Ve.width-Ne*2))}px`,a.style.maxHeight=`${Math.max(400,Ve.height-Ne*2)}px`,pt=null}else{let Xe=Ve.keyboardInset;if(Ve.layout==="tablet")a.style.left=`${Ne}px`,a.style.right=`${Ne}px`,a.style.top=`${Ne}px`,a.style.bottom=`${Math.max(Ne,Xe)}px`,a.style.width="auto",a.style.height="auto",a.style.minWidth="320px";else{let Dt=Ty(Ve),jt=pt??Dt[lt],wt=Math.max(8,Xe),tt=Math.max(0,Ve.height-wt-jt);a.style.left="0px",a.style.right="0px",a.style.top=`${tt}px`,a.style.bottom=`${wt}px`,a.style.width="100vw",a.style.height="auto",a.style.minWidth="0px"}a.style.minHeight="0px",a.style.maxWidth="100vw",a.style.maxHeight="100dvh",pt=null}Ht()}function He(){if(t){if(ce.layout==="desktop"){let Ve=Vo({width:1200,height:ce.height-16},ce);he=Math.abs(he.width-Ve.width)<=6&&Math.abs(he.height-Ve.height)<=6?wa(ce):Ve,ue={...ue,desktop:he},rd(o,ue),ot();return}lt=(lt+1)%3,pt=null,ue={...ue,[ce.storageKey]:{preset:lt}},rd(o,ue),ot()}}function Ht(){a.dataset.layout=ce.layout,a.dataset.orientation=ce.orientation,a.dataset.resizable=t?"true":"false"}return{panel:a,backdrop:i,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:h,taskStageStatusPill:u,taskStageMeta:b,taskStageEyebrow:f,artifactStage:v,artifactStageBody:C,artifactStageToggle:x,artifactStageEmpty:_,taskSuggestion:I,taskSuggestionTextEl:M,taskSuggestionPrimaryBtn:G,taskSuggestionSecondaryBtn:O,questionPrompt:Y,questionPromptForm:ae,questionPromptList:H,questionPromptCancel:re,questionPromptSubmit:oe,conversationPill:pe,conversationDrawer:Pe,conversationList:F,conversationPillLabel:me,conversationDrawerCloseBtn:W,conversationNewBtn:ee,pausedTaskBanner:Fe,applyLayout:ot,cyclePanelSize:He,syncChrome:Ht,getViewportMetrics:()=>ce,destroy(){}}}function Fy(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function zf(e){return String(e||"").replace(/\s+/g," ").trim()}function cE(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let i=t[o];if(!i||typeof i.length!="number")continue;let a=zf(String(i[0]?.transcript||""));a&&(i.isFinal?n.push(a):r.push(a))}return{finalTranscript:zf(n.join(" ")),interimTranscript:zf(r.join(" "))}}function zy(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function Hf(e){let t=null,n=null,r=null,o=null,i=null,a=!1,s=!1,c=null;function l(){if(!a||!n||!c){i=null;return}n.getByteFrequencyData(c);let h=0;for(let v=0;v<c.length;v++)h+=c[v];let b=h/c.length/255;e.onFrequencyData?.(b),i=requestAnimationFrame(l)}async function d(){if(!(s||a))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),a=!0,i=requestAnimationFrame(l)}catch{m()}}function m(){if(i!=null&&(cancelAnimationFrame(i),i=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(h=>h.stop()),o=null),c=null,a=!1}function f(){m()}function u(){s=!0,m()}return{start:d,stop:f,dispose:u,isActive:()=>a}}function jf(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function i(a){let s=Fy();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(a||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(cE(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.(zy(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!Fy()},start(a){if(n||t)return;let s=i(a?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.(zy(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let a=t;o();try{a.abort?.()}catch{}}}}var $f="Continuing through the form.";var lE=/google|natural|neural|online|premium|enhanced/i;function qf(e){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,220).trim()}function dE(e){let t=Number(e);return Number.isFinite(t)?Math.max(.85,Math.min(1.15,t)):1}function uE(e){let t=qf(e);if(!t)return[];let n=t.match(/[^.!?]+[.!?]?/g)||[t],r=[],o="";for(let i of n){let a=i.trim();if(a){if((o?`${o} ${a}`:a).length<=150){o=o?`${o} ${a}`:a;continue}o&&r.push(o),o=a.length>150?a.slice(0,150).trim():a}}return o&&r.push(o),r.slice(0,3)}function od(e){let t=qf(e);return t?Math.max(900,Math.min(5e3,t.length*55)):0}function fE(e,t,n,r){let o=0,i=String(e.lang||"").toLowerCase(),a=t.toLowerCase(),s=a.split("-")[0];return i===a?o+=80:s&&i.startsWith(s)?o+=55:i.startsWith("en")&&(o+=20),n==="system"&&e.localService&&(o+=24),n!=="system"&&lE.test(e.name||"")&&(o+=36),n==="natural"&&e.localService===!1&&(o+=18),/female|samantha|victoria|karen|zira|aria|jenny/i.test(e.name||"")&&(o+=2),r&&(o+=r(e)),o}function Hy(){let e=typeof speechSynthesis<"u"?speechSynthesis:void 0;if(!e)return[];let t=new Set,n=[];for(let r of Array.from(e.getVoices?.()||[])){let o=String(r.voiceURI||`${r.name}:${r.lang}`);!o||t.has(o)||(t.add(o),n.push({voiceURI:String(r.voiceURI||o),name:String(r.name||"System voice"),lang:String(r.lang||""),localService:r.localService===!0,default:r.default===!0}))}return n.sort((r,o)=>r.lang!==o.lang?r.lang.localeCompare(o.lang):r.name.localeCompare(o.name))}function jy(e={}){let t=typeof speechSynthesis<"u"?speechSynthesis:void 0,n=typeof SpeechSynthesisUtterance<"u"?SpeechSynthesisUtterance:void 0,r=!!t&&!!n,o=String(e.lang||"en-US").trim()||"en-US",i=dE(e.rate),a=Number.isFinite(Number(e.pitch))?Math.max(.7,Math.min(1.3,Number(e.pitch))):1,s=e.voicePreference||"auto",c=String(e.voiceURI||"").trim(),l=!0,d=!1,m=!1,f=null,u=[],h=null,b=0,v=0,S=null,k=null;function x(){if(!r||!t)return null;let re=Array.from(t.getVoices?.()||[]);if(!re.length)return null;if(c){let me=re.find(Se=>String(Se.voiceURI||"")===c);if(me)return f=me,f}let oe=null,pe=-1/0;for(let me of re){let Se=fE(me,o,s,e.voiceMatcher);Se>pe&&(oe=me,pe=Se)}return f=oe,f}function C(){if(!r||!t||f)return;x();let re=0;f||k||(k=setInterval(()=>{re+=1,x(),(f||re>=10)&&(k&&clearInterval(k),k=null)},250))}function _(){if(S){try{clearTimeout(S)}catch{}S=null}}function I(){return u.reduce((re,oe)=>re+oe.estimatedMs,0)}function M(re){re&&(u.some(oe=>oe.catchUp)||h?.catchUp||(u=[{text:$f,chunks:[$f],key:"catch-up",priority:"normal",catchUp:!0,estimatedMs:od($f)},...u.slice(-3)]))}function G(){let re=!1;for(;u.length>4||I()>7e3;){let oe=u.findIndex(Se=>Se.priority==="low"&&!Se.catchUp),pe=u.findIndex(Se=>Se.priority==="normal"&&!Se.catchUp),me=oe>=0?oe:pe>=0?pe:u.findIndex(Se=>!Se.catchUp);if(me<0)break;u.splice(me,1),re=!0}for(M(re);u.length>4;)u.splice(u.length-1,1)}function O(){u=[],h=null,b=0,v+=1,_();try{t?.cancel()}catch{}}function Y(re){if(re===v&&(_(),!!h)){if(b+=1,b<h.chunks.length){Z();return}h=null,b=0,Z()}}function Z(){if(!r||!t||!n||m||!l||!d||typeof document<"u"&&document.hidden||(h||(h=u.shift()||null,b=0),!h))return;let re=h.chunks[b];if(!re){h=null,b=0,Z();return}C();let oe=new n(re);oe.lang=o,oe.rate=i,oe.pitch=a,f&&(oe.voice=f);let pe=v;oe.onend=()=>Y(pe),oe.onerror=()=>Y(pe),_(),S=setTimeout(()=>Y(pe),od(re)+3e3);try{t.speak(oe)}catch{Y(pe)}}function ae(re,oe={}){if(!r||!t||!n||m||!l||typeof document<"u"&&document.hidden)return;let pe=qf(re),me=uE(pe);if(!me.length)return;let Se=oe.mode||"replace";Se==="replace"&&O();let Fe=String(oe.key||"").trim().slice(0,160)||void 0;if(Se==="append"&&Fe){let Pe=u.findIndex(ve=>ve.key===Fe);if(Pe>=0){u[Pe]={...u[Pe],text:pe,chunks:me,estimatedMs:od(pe)},G(),d&&Z();return}if(h?.key===Fe&&h.priority!=="high")return}u.push({text:pe,chunks:me,key:Fe,priority:oe.priority||"normal",estimatedMs:od(pe)}),G(),d&&Z()}function H(){f=null,x()}function X(){if(typeof document<"u"&&document.hidden)try{t?.cancel()}catch{}else if(d){try{t?.resume?.()}catch{}Z()}}if(r&&t){C();try{t.addEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.addEventListener("visibilitychange",X)}return{isSupported:()=>r&&!m,unlock(){if(!(!r||!t||!n||m)){d=!0;try{t.resume?.()}catch{}try{let re=new n(" ");re.volume=0,re.lang=o,t.speak(re)}catch{}Z()}},speak(re,oe){ae(re,oe)},cancel(){O()},setEnabled(re){l=re,l||O()},dispose(){m=!0,u=[],h=null,_(),k&&clearInterval(k),k=null;try{t?.cancel()}catch{}try{t?.removeEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.removeEventListener("visibilitychange",X)}}}function $y(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=Sa({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="inputBarComposerSlot";let a=document.createElement("button");a.type="button",a.className="inputBarExpand",a.setAttribute("aria-label","Expand to full panel"),a.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(i),t.appendChild(a),t.appendChild(s),{root:t,composerSlot:i,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){a.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function Vf(e){let t=[],n=[],r=0,o=!1,i=document.createElement("div");i.className="commandBarOverlay";let a=document.createElement("div");a.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",a.appendChild(s),a.appendChild(m),a.appendChild(f),i.appendChild(a);function u(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let _=0;_<n.length;_++){let I=n[_],M=document.createElement("button");M.type="button",M.className=`commandBarItem${_===r?" highlighted":""}`,M.setAttribute("role","option");let G=document.createElement("span");if(G.className="commandBarItemLabel",I.icon){let O=document.createElement("span");O.className="commandBarItemIcon",O.textContent=I.icon,G.appendChild(O)}if(G.appendChild(document.createTextNode(I.label)),M.appendChild(G),I.description){let O=document.createElement("span");O.className="commandBarItemDesc",O.textContent=I.description,M.appendChild(O)}M.addEventListener("click",()=>{v(I)}),M.addEventListener("mouseenter",()=>{r=_,h()}),m.appendChild(M)}}function h(){m.querySelectorAll(".commandBarItem").forEach((M,G)=>{M.classList.toggle("highlighted",G===r)});let I=m.querySelector(".commandBarItem.highlighted");I&&I.scrollIntoView({block:"nearest"})}function b(){let _=l.value.toLowerCase().trim();_?n=t.filter(I=>I.label.toLowerCase().includes(_)||I.description&&I.description.toLowerCase().includes(_)):n=t.slice(),r=0,u()}function v(_){k(),e.onSelect(_)}l.addEventListener("input",b),i.addEventListener("keydown",_=>{let I=_;if(I.key==="Escape"){I.preventDefault(),I.stopPropagation(),k();return}if(I.key==="ArrowDown"){I.preventDefault(),n.length>0&&(r=(r+1)%n.length,h());return}if(I.key==="ArrowUp"){I.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,h());return}if(I.key==="Enter"){I.preventDefault(),n.length>0&&r<n.length&&v(n[r]);return}}),i.addEventListener("mousedown",_=>{_.target===i&&k()});function S(){o||(o=!0,l.value="",n=t.slice(),r=0,i.classList.add("open"),u(),requestAnimationFrame(()=>l.focus()))}function k(){o&&(o=!1,i.classList.remove("open"),e.onClose())}function x(_){t=_.slice(),o&&b()}function C(){o=!1,i.remove()}return{root:i,input:l,setItems:x,open:S,close:k,isOpen:()=>o,destroy:C}}var qy={"en-US":"English (US)","en-GB":"English (UK)","en-AU":"English (Australia)","es-ES":"Spanish","fr-FR":"French","de-DE":"German","it-IT":"Italian","pt-BR":"Portuguese (Brazil)","ja-JP":"Japanese","ko-KR":"Korean","zh-CN":"Chinese (Simplified)","hi-IN":"Hindi"};function Ei(e){let t=String(e||"").trim();return t?t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-"):""}function Vy(e){let t=Ei(e);return qy[t]?`${qy[t]} (${t})`:t}function pE(e,t,n){let r=new Set;r.add(Ei(t)||"en-US"),r.add(Ei(n)||"en-US");for(let o of e){let i=Ei(o.lang);i&&r.add(i)}return Array.from(r).filter(Boolean).sort((o,i)=>o.localeCompare(i))}function mE(e,t){let n=Ei(t).toLowerCase(),r=n.split("-")[0],o=e.filter(i=>{let a=Ei(i.lang).toLowerCase();return a===n||!!r&&a.startsWith(`${r}-`)});return o.length?o:e}function Wy(e){let t={available:!1,enabled:!1,siteLanguage:"en-US",effectiveLanguage:"en-US",voices:[]},n=document.createElement("div");n.className="voiceSettingsPanel",n.setAttribute("role","dialog"),n.setAttribute("aria-label","Voice and language");let r=document.createElement("div");r.className="voiceSettingsHeader";let o=document.createElement("div");o.className="voiceSettingsTitle",o.textContent="Voice & language";let i=document.createElement("button");i.type="button",i.className="voiceSettingsClose",i.setAttribute("aria-label","Close voice settings"),i.textContent="\xD7",r.appendChild(o),r.appendChild(i);let a=document.createElement("div");a.className="voiceSettingsBody";let s=document.createElement("label");s.className="voiceSettingsToggle";let c=document.createElement("input");c.type="checkbox";let l=document.createElement("span");l.textContent="Read guided steps aloud",s.appendChild(c),s.appendChild(l);let d=document.createElement("label");d.className="voiceSettingsField";let m=document.createElement("span");m.textContent="Language";let f=document.createElement("select");d.appendChild(m),d.appendChild(f);let u=document.createElement("label");u.className="voiceSettingsField";let h=document.createElement("span");h.textContent="Voice";let b=document.createElement("select");u.appendChild(h),u.appendChild(b);let v=document.createElement("label");v.className="voiceSettingsField";let S=document.createElement("span");S.textContent="Voice style";let k=document.createElement("select");[["auto","Best available"],["natural","Prefer natural voices"],["system","Prefer system voices"]].forEach(([M,G])=>{let O=document.createElement("option");O.value=M,O.textContent=G,k.appendChild(O)}),v.appendChild(S),v.appendChild(k);let x=document.createElement("p");x.className="voiceSettingsHint";let C=document.createElement("div");C.className="voiceSettingsActions";let _=document.createElement("button");_.type="button",_.className="voiceSettingsReset",_.textContent="Use site default",C.appendChild(_),a.appendChild(s),a.appendChild(d),a.appendChild(u),a.appendChild(v),a.appendChild(x),a.appendChild(C),n.appendChild(r),n.appendChild(a);function I(){c.checked=t.enabled,c.disabled=!t.available;let M=typeof navigator<"u"&&navigator.language||"en-US",G=pE(t.voices,t.siteLanguage,M),O=Ei(t.language||t.effectiveLanguage||t.siteLanguage||M||"en-US")||"en-US";f.innerHTML="";let Y=document.createElement("option");Y.value="",Y.textContent=`Site default (${Vy(t.siteLanguage||"en-US")})`,f.appendChild(Y);for(let H of G){let X=document.createElement("option");X.value=H,X.textContent=Vy(H),f.appendChild(X)}f.value=t.language?O:"",f.disabled=!t.available;let Z=mE(t.voices,O);b.innerHTML="";let ae=document.createElement("option");ae.value="",ae.textContent="Browser default",b.appendChild(ae);for(let H of Z){let X=document.createElement("option");X.value=H.voiceURI,X.textContent=`${H.name}${H.lang?` (${H.lang})`:""}`,b.appendChild(X)}b.value=t.voiceURI||"",b.disabled=!t.available||Z.length===0,k.value=t.voicePreference||"auto",k.disabled=!t.available,x.textContent=t.available?`${e.agentName} uses this language for spoken step narration and microphone dictation on this site.`:"Voice narration is unavailable in this browser or disabled by this site."}return c.addEventListener("change",()=>e.onChange({enabled:c.checked})),f.addEventListener("change",()=>e.onChange({language:f.value||void 0,voiceURI:void 0})),b.addEventListener("change",()=>e.onChange({voiceURI:b.value||void 0})),k.addEventListener("change",()=>e.onChange({voicePreference:k.value})),_.addEventListener("click",()=>e.onReset()),i.addEventListener("click",()=>e.onClose()),{root:n,setOpen(M){n.classList.toggle("visible",M),n.setAttribute("aria-hidden",M?"false":"true")},update(M){t={...t,...M,voices:M.voices||[]},I()}}}function Wf(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,i=r?32:64,a=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,u=!1,h=document.createElement("canvas");h.className="particle-canvas",h.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let b=Math.min(window.devicePixelRatio||1,2);h.width=o*b,h.height=o*b;let v=h.getContext("2d");v.scale(b,b),t.appendChild(h);let S=[];for(let H=0;H<i;H++)S.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function k(){for(let H of S)if(!H.active)return H;return null}function x(H){let X=k();if(!X)return;let re=o/2,oe=o/2,pe=H??Math.random()*Math.PI*2,me=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(X.active=!0,X.x=re+Math.cos(pe)*(20+Math.random()*10),X.y=oe+Math.sin(pe)*(20+Math.random()*10),X.vx=Math.cos(pe)*me,X.vy=Math.sin(pe)*me,X.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,X.life=X.maxLife,X.size=1.5+Math.random()*2,X.alpha=.5+Math.random()*.3,c==="pulse"){let Se=pe+Math.PI/2;X.vx+=Math.cos(Se)*12,X.vy+=Math.sin(Se)*12}}function C(H){for(let X of S)if(X.active){if(X.life-=H,X.life<=0){X.active=!1;continue}X.x+=X.vx*H,X.y+=X.vy*H,X.vx*=.98,X.vy*=.98}}function _(){v.clearRect(0,0,o,o);for(let H of S){if(!H.active)continue;let X=H.life/H.maxLife,re=H.alpha*X;re<.01||(v.globalAlpha=re,v.fillStyle=s,v.beginPath(),v.arc(H.x,H.y,H.size*X,0,Math.PI*2),v.fill())}v.globalAlpha=1}function I(H){if(u||c==="idle"){d=null;return}m||(m=H);let X=Math.min((H-m)/1e3,.05);if(m=H,c==="ambient"||c==="pulse")for(f+=l*a*X;f>=1;)x(),f-=1;C(X),_(),S.some(oe=>oe.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(I):(d=null,v.clearRect(0,0,o,o))}function M(){d!=null||u||n||(m=0,f=0,d=requestAnimationFrame(I))}function G(){d!=null&&(cancelAnimationFrame(d),d=null);for(let H of S)H.active=!1;v.clearRect(0,0,o,o)}function O(H){if(H!==c){if(c=H,c==="idle"){G();return}if(!n){if(c==="burst"){let X=r?12:20+Math.floor(Math.random()*11);for(let re=0;re<X;re++)x(Math.PI*2*re/X+(Math.random()-.5)*.3);M();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),M()}}}function Y(){let H=Math.min(window.devicePixelRatio||1,2);h.width=o*H,h.height=o*H,v.setTransform(1,0,0,1,0,0),v.scale(H,H)}function Z(H){s=H}function ae(){u=!0,G(),h.remove()}return{canvas:h,setMode:O,setSpawnRate:H=>{l=H},setColor:Z,resize:Y,destroy:ae}}function Kf(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,i=null,a=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let _=document.createElementNS("http://www.w3.org/2000/svg","path");return _.setAttribute("fill","none"),_.setAttribute("stroke","var(--rv-accent, #ff4c00)"),_.setAttribute("stroke-width","1.5"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-dasharray","6 4"),_.setAttribute("stroke-opacity","0.6"),_}function d(_,I){let M=_.left+_.width/2,G=_.top+_.height/2,O=I.left+I.width/2,Y=I.top+I.height/2,Z,ae,H=O-M,X=Y-G;Math.abs(H)>Math.abs(X)?(Z=H>0?_.right:_.left,ae=Math.max(_.top+20,Math.min(_.bottom-20,Y))):(ae=X>0?_.bottom:_.top,Z=Math.max(_.left+20,Math.min(_.right-20,O)));let re=O,oe=Y,pe=(Z+re)/2,me=(ae+oe)/2,Se=Math.max(40,Math.hypot(re-Z,oe-ae)*.3),Fe=Z+(pe-Z)*.5,Pe=ae+(ae===_.top||ae===_.bottom?-Math.sign(X)*Se:0),ve=re-(re-pe)*.5,B=oe+(oe>ae?-Se*.5:Se*.5);return`M ${Z} ${ae} C ${Fe} ${Pe}, ${ve} ${B}, ${re} ${oe}`}function m(){if(o||c()||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let _=n.getBoundingClientRect();if(_.width===0||_.height===0){i=requestAnimationFrame(m);return}for(let I of a){let M=e.resolveElement?.(I.elementId);if(!M)continue;let G=M.getBoundingClientRect();if(G.width===0&&G.height===0)continue;let O=d(_,G);I.path.setAttribute("d",O)}i=requestAnimationFrame(m)}function f(){i!=null||o||(i=requestAnimationFrame(m))}function u(){i!=null&&(cancelAnimationFrame(i),i=null)}function h(_){_.fadeTimer&&clearTimeout(_.fadeTimer),_.path.remove();let I=a.indexOf(_);I>=0&&a.splice(I,1),a.length===0&&u()}function b(_){try{let I=_.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});I.onfinish=()=>h(_)}catch{h(_)}}function v(_,I){if(o||c()||a.find(Y=>Y.elementId===_))return;for(;a.length>=3;)b(a[0]);let G=l();s.appendChild(G);let O={elementId:_,toolName:I,path:G};a.push(O),f()}function S(_){let I=a.find(M=>M.elementId===_);I&&b(I)}function k(){for(;a.length>0;)h(a[0]);u()}function x(){}function C(){o=!0,k(),s.remove()}return{overlay:s,addTarget:v,fadeTarget:S,clearAll:k,resize:x,destroy:C}}function Ky(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Gy(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=Ky(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let i=document.createElement("div");i.className="liveStackHeader";let a=document.createElement("span");a.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',i.appendChild(a),i.appendChild(s),i.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(i),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],u=new Set,h=null,b=null,v=null;c.addEventListener("click",()=>{h?.()}),l.addEventListener("click",()=>{h?.()});function S(){let I=document.createElement("div");I.className="liveStackCard hidden";let M=document.createElement("div");M.className="liveStackCardTop";let G=document.createElement("div");G.className="liveStackCardMeta";let O=document.createElement("span");O.className="liveStackCardTs";let Y=document.createElement("span");Y.className="liveStackCardSep",Y.textContent="\u2014";let Z=document.createElement("span");Z.className="liveStackCardStatus";let ae=document.createElement("div");ae.className="liveStackCardSpinner",G.appendChild(O),G.appendChild(Y),G.appendChild(Z),M.appendChild(G),M.appendChild(ae);let H=document.createElement("div");H.className="liveStackCardTitle";let X=document.createElement("div");return X.className="liveStackCardDetail",I.appendChild(M),I.appendChild(H),I.appendChild(X),I.addEventListener("click",re=>{if(re.stopPropagation(),I.classList.contains("expanded"))I.classList.remove("expanded");else{for(let oe of f)oe.classList.remove("expanded");I.classList.add("expanded")}}),I}function k(I){let M=m.get(I);if(M)return M;let G=S();return m.set(I,G),f.push(G),d.appendChild(G),G}function x(I,M){let G=Number(M.ts)||Date.now(),O=Vs(M),Y=qs(M),Z=td(M),ae=I.querySelector(".liveStackCardTs"),H=I.querySelector(".liveStackCardStatus"),X=I.querySelector(".liveStackCardTitle"),re=I.querySelector(".liveStackCardDetail");ae.textContent=$o(G),H.textContent=Y,X.textContent=O||"Processing...",I.classList.toggle("minimalThought",n==="minimal");let oe=M.actionCue?"":Ue(M.detail||"")||(Z!==O?Z:"");oe?(re.textContent=oe.slice(0,500),I.dataset.hasDetail="true"):(re.textContent="",delete I.dataset.hasDetail);let pe=Ql(M);I.dataset.status=pe}function C(){let I=f.length,M=o?Math.min(I,r):I,G=Math.max(0,I-M);for(let O=0;O<I;O++){let Y=f[O],Z=I-1-O;Y.classList.remove("active","previous","hidden"),Z===0?(Y.classList.add("active"),Y.style.display=""):Z<M?(Y.classList.add("previous"),Y.style.display=""):(Y.classList.add("hidden"),Y.style.display="none")}G>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function _(){b==null&&(b=requestAnimationFrame(()=>{b=null,C()}))}return{root:t,addTimelineEvent(I){let M=Ue(I.title||"");if(!M||M.toLowerCase()==="assistant update")return;let G=I.id||wo("ls");if(I.id&&u.has(G))return;u.add(G);let O=Zl(I),Y=O==="run"||O.startsWith("tool:")||I.kind==="tool_result"||I.kind==="status"&&m.has(O),Z=k(Y?O:`${O}:${G}`);x(Z,{...I,title:M}),_()},clear(){u.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),b!=null&&(cancelAnimationFrame(b),b=null)},show(){v!=null&&(clearTimeout(v),v=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let I=()=>{t.classList.remove("open","closing"),v=null};t.addEventListener("animationend",()=>I(),{once:!0}),v=setTimeout(I,280)},setOnExpand(I){h=I},setThoughtStyle(I){n=I==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let M of f)M.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(I){r=Ky(I?.maxVisibleLiveCards),o=I?.collapseCompletedSteps!==!1,_()},destroy(){b!=null&&cancelAnimationFrame(b),t.remove()}}}var Zy=3,hE=420,gE=640,Xy=28,bE=6,yE=4;function eo(e,t=48){let n=Ue(String(e||"")).replace(/\s+/g," ").trim();return n?n.length<=t?n:`${n.slice(0,t-3).trim()}...`:""}function vE(e,t){return t.split(/\s+/).map(n=>n.trim()).filter(Boolean).map(n=>{try{let r=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/"/g,'\\"');return e.querySelector(`#${r}`)?.textContent||""}catch{return""}}).join(" ")}function kE(e){let t=eo(e.getAttribute("role"));if(t)return t;let n=e.tagName.toLowerCase();if(n==="a")return"link";if(n==="button")return"button";if(n==="select")return"select";if(n==="textarea")return"text area";if(n==="input"){let r=eo(e.type||"input");return r==="submit"||r==="button"?"button":"field"}return n?xE(n.replace(/[-_]+/g," ")):"element"}function xE(e){return String(e||"").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function Xf(e){try{return wE(e)}catch{return""}}function wE(e){if(!e)return"";let t=e.ownerDocument||document,n=eo(e.getAttribute("aria-labelledby"),180),r=n?eo(vE(t,n)):"";if(r)return r;let o=eo(e.getAttribute("aria-label"));if(o)return o;let i=e.labels;if(i&&i.length){let c=Array.from(i).map(d=>d.textContent||"").join(" "),l=eo(c);if(l)return l}let a=eo(e.placeholder);if(a)return a;if(e instanceof HTMLInputElement){let c=String(e.type||"").toLowerCase();if((c==="button"||c==="submit"||c==="reset")&&e.value){let l=eo(e.value);if(l)return l}}let s=eo(e.textContent);return s||kE(e)}function Yy(e){let t=[...Array.isArray(e.actionCue?.elementIds)?e.actionCue.elementIds:[],e.actionCue?.primaryElementId,e.elementId],n=new Set,r=[];for(let o of t){let i=Math.trunc(Number(o));if(!(!Number.isFinite(i)||i<=0||n.has(i))&&(n.add(i),r.push(i),r.length>=Zy))break}return r}function SE(e,t){return e.width>0&&e.height>0&&e.right>=0&&e.bottom>=0&&e.left<=t.width&&e.top<=t.height}function Jy(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function Js(e,t){let n=Jy(e.actionCue?.logicalTabId);if(!n)return!0;let r=Jy(t);return r?n===r:!0}function Qy(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}function Gf(e,t){return!t||t.width<=0||t.height<=0?!1:e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function TE(e,t){return{left:e.left-t,top:e.top-t,right:e.right+t,bottom:e.bottom+t,width:e.width+t*2,height:e.height+t*2}}function _E(e){let t=e.gap??8,n=e.margin??8,r={width:Math.max(1,e.chip.width),height:Math.max(1,e.chip.height)},o=e.viewport,i=[{side:"right",value:o.width-e.target.right},{side:"left",value:e.target.left},{side:"bottom",value:o.height-e.target.bottom},{side:"top",value:e.target.top}].sort((a,s)=>s.value-a.value);for(let{side:a}of i){let s=0,c=0;a==="right"?(s=e.target.right+t,c=e.target.top+(e.target.height-r.height)/2):a==="left"?(s=e.target.left-r.width-t,c=e.target.top+(e.target.height-r.height)/2):a==="bottom"?(s=e.target.left+(e.target.width-r.width)/2,c=e.target.bottom+t):(s=e.target.left+(e.target.width-r.width)/2,c=e.target.top-r.height-t);let l={left:s,top:c,right:s+r.width,bottom:c+r.height,width:r.width,height:r.height};if(!(l.left<n||l.top<n||l.right>o.width-n||l.bottom>o.height-n)&&!Gf(l,TE(e.target,t))&&!Gf(l,e.panel)&&!(e.occupied||[]).some(d=>Gf(l,d)))return{left:s,top:c,side:a}}return null}function ev(e){let t={click:"Click",type:"Type",select:"Select",clear:"Clear",focus:"Focus",hover:"Hover",press:"Press",scroll:"Scroll",drag:"Drag",copy:"Copy",paste:"Paste",upload:"Upload",navigate:"Open",read:"Read",wait:"Wait",unknown:"Act"};return t[e||"unknown"]||t.unknown}function EE(e,t){let n=ev(e?.kind),r=eo(t||e?.targetLabel,36);return r?`${n} ${r}`:n}function tv(e){let{container:t,panel:n}=e,r=e.mobileBreakpoint??gE,o=!1,i=null,a=[],s=document.createElement("div");s.className="actionSpotlightLayer";try{t.appendChild(s)}catch{}function c(M){try{return Js(M,e.getLocalLogicalTabId?.())}catch{return!1}}function l(M){try{M.ring.style.display="none"}catch{}try{M.chip&&(M.chip.style.display="none")}catch{}}function d(){let M=window.visualViewport?.width??window.innerWidth,G=window.visualViewport?.height??window.innerHeight;return{left:0,top:0,right:M,bottom:G,width:M,height:G}}function m(M,G){let O=e.resolveElement?.(M.elementId),Y=d();if(!O){l(M);return}let Z=Qy(O.getBoundingClientRect());if(!SE(Z,Y)){l(M);return}let ae=(window.visualViewport?.width??window.innerWidth)<=r,H=ae?yE:bE,X=Math.max(Xy,Z.width+H*2),re=Math.max(Xy,Z.height+H*2),oe=Z.left-(X-Z.width)/2,pe=Z.top-(re-Z.height)/2;try{M.ring.style.display="block",M.ring.style.width=`${X}px`,M.ring.style.height=`${re}px`,M.ring.style.transform=`translate3d(${Math.round(oe)}px, ${Math.round(pe)}px, 0)`}catch{throw new Error("action_spotlight_style_failed")}if(!M.chip||ae||M.cue?.kind==="unknown"){try{M.chip&&(M.chip.style.display="none")}catch{}return}let me=Xf(O);try{M.chip.textContent=EE(M.cue,me),M.chip.style.display="block",M.chip.style.transform="translate3d(-10000px, -10000px, 0)"}catch{throw new Error("action_spotlight_chip_failed")}let Se=M.chip.getBoundingClientRect(),Fe=_E({target:Z,chip:{width:Math.min(180,Math.max(1,Se.width||72)),height:Math.max(1,Se.height||28)},viewport:Y,panel:Qy(n.getBoundingClientRect()),occupied:G});if(!Fe){try{M.chip.style.display="none"}catch{}return}try{M.chip.dataset.side=Fe.side,M.chip.style.transform=`translate3d(${Math.round(Fe.left)}px, ${Math.round(Fe.top)}px, 0)`}catch{throw new Error("action_spotlight_chip_place_failed")}G.push({left:Fe.left,top:Fe.top,right:Fe.left+Math.min(180,Math.max(1,Se.width||72)),bottom:Fe.top+Math.max(1,Se.height||28),width:Math.min(180,Math.max(1,Se.width||72)),height:Math.max(1,Se.height||28)})}function f(){if(i!=null){try{cancelAnimationFrame(i)}catch{}i=null}}function u(){if(i=null,o||a.length===0||document.hidden)return;let M=[];for(let G of[...a])try{m(G,M)}catch{b(G)}if(!o&&a.length>0&&!document.hidden)try{i=requestAnimationFrame(u)}catch{i=null}}function h(){if(!(i!=null||o||document.hidden))try{i=requestAnimationFrame(u)}catch{i=null}}function b(M){if(M.fadeTimer)try{clearTimeout(M.fadeTimer)}catch{}try{M.ring.remove()}catch{}try{M.chip?.remove()}catch{}let G=a.indexOf(M);G>=0&&a.splice(G,1)}function v(M){try{if(M.ring.classList.contains("fading"))return;M.ring.classList.add("fading"),M.chip?.classList.add("fading"),M.fadeTimer=setTimeout(()=>b(M),hE)}catch{b(M)}}function S(M,G){let O,Y;try{O=document.createElement("div"),O.className="actionSpotlightRing",e.reducedMotion||O.classList.add("pulse"),s.appendChild(O),Y=document.createElement("div"),Y.className="actionSpotlightChip",Y.textContent=ev(G.actionCue?.kind),s.appendChild(Y)}catch(ae){try{O?.remove()}catch{}try{Y?.remove()}catch{}throw ae}if(!O)throw new Error("action_spotlight_ring_missing");let Z={key:String(M),elementId:M,cue:G.actionCue,toolName:G.toolName,ring:O,chip:Y,createdAt:Date.now()};return a.push(Z),Z}function k(M){try{if(o||!c(M))return;let G=Yy(M);if(!G.length)return;let O=G.filter(Y=>!a.some(Z=>Z.elementId===Y));for(;a.length+O.length>Zy&&a.length>0;){let Y=a.shift();Y&&v(Y)}for(let Y of G)try{let Z=a.find(ae=>ae.elementId===Y);if(Z){Z.cue=M.actionCue,Z.toolName=M.toolName;try{Z.ring.classList.remove("fading")}catch{}try{Z.chip?.classList.remove("fading")}catch{}}else S(Y,M)}catch{}h()}catch{}}function x(M){try{if(!c(M))return;let G=Yy(M);if(!G.length)return;for(let O of G){let Y=a.find(Z=>Z.elementId===O);Y&&v(Y)}}catch{}}function C(){try{for(;a.length;)b(a[0]);f()}catch{a.splice(0,a.length),f()}}let _=()=>h(),I=()=>{try{if(document.hidden){f();return}h()}catch{f()}};try{window.addEventListener("scroll",_,!0)}catch{}try{window.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("scroll",_)}catch{}try{document.addEventListener("visibilitychange",I)}catch{}return{overlay:s,addEvent:k,fadeEvent:x,clearAll:C,destroy(){o=!0,C();try{window.removeEventListener("scroll",_,!0)}catch{}try{window.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("scroll",_)}catch{}try{document.removeEventListener("visibilitychange",I)}catch{}try{s.remove()}catch{}}}}var Yf=4,IE=7e3,nv="Continuing through the form.",AE=new Set(["hover","focus","wait","read","unknown"]);function Jf(e){return Ue(String(e||"").replace(/\s+/g," ")).slice(0,220).trim()}function Ta(e){return Math.max(900,Math.min(5e3,e.length*55))}function rv(e){return String(e.actionCue?.kind||"").trim().toLowerCase()||"unknown"}function RE(e,t){let n=e.actionCue,r=rv(e),o=n?.targetLabel||(n?.primaryElementId!=null?`element:${n.primaryElementId}`:"")||e.toolName||e.title||t;return`${r}:${String(o).replace(/\s+/g," ").trim().toLowerCase().slice(0,120)}`}function CE(e){let t=rv(e);return AE.has(t)||t==="scroll"&&!e.actionCue?.primaryElementId?"low":t==="click"||t==="type"||t==="select"||t==="upload"||t==="navigate"?"high":"normal"}function ME(e){return e.responseKind==="final"||e.responseKind==="question"||e.responseKind==="error"?"high":"normal"}function NE(e){try{if(e.kind==="tool_result")return"";let t=Jf(e.narration);if(e.kind==="assistant_response")return t||(e.narrationActive===!0?Jf(e.detail):"");let n=!t&&e.kind==="tool_start"&&e.narrationActive===!0?Jf(Cf(e)):"";return t||n}catch{return""}}function LE(e,t,n){if(t&&n)try{let r=t(e);return{cancel:()=>n(r)}}catch{}if(typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function")try{let r=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(r)}}catch{}try{let r=setTimeout(()=>e(Date.now()),0);return{cancel:()=>clearTimeout(r)}}catch{return{cancel:()=>{}}}}function ov(e){let t=null,n=[],r=!1;function o(){if(t){try{t.cancel()}catch{}t=null}}function i(){o(),n=[]}function a(){return n.reduce((m,f)=>m+f.estimatedMs,0)}function s(){let m=!1;for(;n.length>Yf||a()>IE;){let f=n.findIndex(v=>v.priority==="low"&&!v.catchUp),u=n.findIndex(v=>v.priority==="normal"&&!v.catchUp),h=n.findIndex(v=>v.priority!=="high"&&!v.catchUp),b=f>=0?f:u>=0?u:h>=0?h:n.findIndex(v=>!v.catchUp);if(b<0)break;n.splice(b,1),m=!0}for(m&&!n.some(f=>f.catchUp)&&(n=[{text:nv,mode:"append",key:"catch-up",priority:"normal",source:"action",catchUp:!0,estimatedMs:Ta(nv)},...n.slice(-(Yf-1))]);n.length>Yf;)n.splice(n.length-1,1)}function c(){t||(t=LE(()=>{if(t=null,r||!e.isEnabled()){n=[];return}let m=n;n=[];for(let f of m)try{e.speak(f.text,{mode:f.mode,key:f.key,priority:f.priority})}catch{}},e.scheduleFrame,e.cancelFrame))}function l(m,f){let u=RE(m,f),h=CE(m),b=n.findIndex(v=>v.key===u);if(b>=0){n[b]={...n[b],text:f,priority:h,estimatedMs:Ta(f)},s(),c();return}n.push({text:f,mode:"append",key:u,priority:h,source:"action",estimatedMs:Ta(f)}),s(),c()}function d(m,f){let u=m.responseKind||"checkpoint",h=ME(m);h==="high"&&(n=n.filter(S=>S.priority!=="low"&&!S.catchUp));let b=`response:${u}:${f.toLowerCase().slice(0,140)}`,v=n.findIndex(S=>S.key===b);if(v>=0){n[v]={...n[v],text:f,priority:h,estimatedMs:Ta(f)},s(),c();return}n.push({text:f,mode:"append",key:b,priority:h,source:"response",estimatedMs:Ta(f)}),s(),c()}return{scheduleEvent(m){try{if(r||m.kind==="tool_result"||!e.isEnabled())return;let f=NE(m);if(!f)return;if(m.kind==="tool_start"){l(m,f);return}if(m.kind==="assistant_response"){d(m,f);return}if(n.some(u=>u.mode==="append"))return;i(),n=[{text:f,mode:"replace",key:`status:${m.kind}:${m.title}`,priority:"normal",source:"status",estimatedMs:Ta(f)}],c()}catch{}},cancel(){i()},dispose(){r=!0,i()}}}var iv=`
19
+ `;let M=I.querySelector(".taskSuggestionText"),G=I.querySelector(".taskSuggestionBtn.primary"),O=I.querySelector(".taskSuggestionBtn.secondary"),Y=document.createElement("div");Y.className="questionPrompt";let Z=document.createElement("div");Z.className="questionPromptTitle",Z.textContent="Need a bit more info";let ae=document.createElement("form");ae.className="questionPromptForm";let H=document.createElement("div");H.className="questionPromptList",ae.appendChild(H);let X=document.createElement("div");X.className="questionPromptActions";let re=document.createElement("button");re.type="button",re.className="questionPromptCancel",re.textContent="Cancel",X.appendChild(re);let oe=document.createElement("button");oe.type="submit",oe.className="questionPromptSubmit",oe.textContent="Continue",X.appendChild(oe),ae.appendChild(X),Y.appendChild(Z),Y.appendChild(ae);let pe=document.createElement("div");pe.className="roverConversationPill",pe.setAttribute("role","button"),pe.setAttribute("tabindex","0");let me=document.createElement("span");me.className="roverConversationPillLabel",me.textContent="Current task";let Se=document.createElement("span");Se.className="roverConversationPillArrow",Se.textContent="\u25BE",pe.appendChild(me),pe.appendChild(Se);let Fe=document.createElement("div");Fe.className="pausedTaskBanner";let Pe=document.createElement("div");Pe.className="conversationDrawer";let ve=document.createElement("div");ve.className="conversationDrawerHeader";let B=document.createElement("span");B.className="conversationDrawerTitle",B.textContent="Conversations";let W=document.createElement("button");W.type="button",W.className="conversationDrawerClose",W.textContent="\xD7",ve.appendChild(B),ve.appendChild(W);let F=document.createElement("div");F.className="conversationList";let ee=document.createElement("button");ee.type="button",ee.className="conversationNewBtn",ee.textContent="New conversation",Pe.appendChild(ve),Pe.appendChild(F),Pe.appendChild(ee),pe.addEventListener("click",()=>{Pe.classList.toggle("open")});let ue=t?Cy(o):{},ce=Bf(),Me=ce.storageKey,he=t?Uf(ue.desktop,ce)||Ea(ce):Ea(ce),lt=t?Ty(ue[ce.storageKey]?.preset)??1:1,pt=null;if(t){let Ve=!1,dt=0,Ne=0,Xe=0,Dt=0,jt=0;l.addEventListener("pointerdown",tt=>{if(ce.layout!=="desktop")return;tt.preventDefault(),tt.stopPropagation(),Ve=!0;let en=a.getBoundingClientRect();dt=tt.clientX,Ne=tt.clientY,Xe=en.width,Dt=en.height,jt=en.left,l.setPointerCapture(tt.pointerId),a.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",tt=>{if(!Ve)return;let en=tt.clientX-dt,tn=tt.clientY-Ne,sn=Wo({width:Xe-en,height:Dt+tn},ce),mn=r.shell?.safeAreaInsetPx??16;a.style.width=`${sn.width}px`,a.style.height=`${sn.height}px`,a.style.left=`${Math.max(mn,Math.round((ce.width-sn.width)/2))}px`,a.style.top=`${Math.max(mn,Math.round((ce.height-sn.height)/2))}px`});let wt=tt=>{if(!Ve)return;Ve=!1,l.releasePointerCapture(tt.pointerId),a.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let en=a.getBoundingClientRect();he=Wo({width:en.width,height:en.height},ce),ue={...ue,desktop:he},id(o,ue);let tn=r.shell?.safeAreaInsetPx??16;a.style.left=`${Math.max(tn,Math.round((ce.width-he.width)/2))}px`,a.style.top=`${Math.max(tn,Math.round((ce.height-he.height)/2))}px`};l.addEventListener("pointerup",wt),l.addEventListener("pointercancel",wt)}function ot(){let Ve=Bf(),dt=Ve.storageKey!==Me;ce=Ve,Me=Ve.storageKey;let Ne=r.shell?.safeAreaInsetPx??16;if(Ve.layout==="desktop"){t?dt?he=Uf(ue.desktop,Ve)||Ea(Ve):he=Wo(he,Ve):he=Ea(Ve);let Xe=r.shell?.desktopSize||"stage",Dt=r.shell?.desktopHeight||"tall",jt=_o(Xe==="compact"?640:Xe==="cinema"?1200:960,640,Math.max(640,Math.min(1200,Ve.width-Ne*2))),wt=_o(Dt==="full"?Ve.height-Ne*2:Math.min(600,Ve.height-Ne*2),400,Math.max(400,Ve.height-Ne*2));t||(he=Wo({width:jt,height:wt},Ve));let tt=t?he.width:jt,en=t?he.height:wt;a.style.left=`${Math.max(Ne,Math.round((Ve.width-tt)/2))}px`,a.style.top=`${Math.max(Ne,Math.round((Ve.height-en)/2))}px`,a.style.right="",a.style.bottom="",a.style.width=`${tt}px`,a.style.height=`${en}px`,a.style.minWidth=`${640}px`,a.style.minHeight=`${400}px`,a.style.maxWidth=`${Math.max(640,Math.min(1200,Ve.width-Ne*2))}px`,a.style.maxHeight=`${Math.max(400,Ve.height-Ne*2)}px`,pt=null}else{let Xe=Ve.keyboardInset;if(Ve.layout==="tablet")a.style.left=`${Ne}px`,a.style.right=`${Ne}px`,a.style.top=`${Ne}px`,a.style.bottom=`${Math.max(Ne,Xe)}px`,a.style.width="auto",a.style.height="auto",a.style.minWidth="320px";else{let Dt=_y(Ve),jt=pt??Dt[lt],wt=Math.max(8,Xe),tt=Math.max(0,Ve.height-wt-jt);a.style.left="0px",a.style.right="0px",a.style.top=`${tt}px`,a.style.bottom=`${wt}px`,a.style.width="100vw",a.style.height="auto",a.style.minWidth="0px"}a.style.minHeight="0px",a.style.maxWidth="100vw",a.style.maxHeight="100dvh",pt=null}Ht()}function He(){if(t){if(ce.layout==="desktop"){let Ve=Wo({width:1200,height:ce.height-16},ce);he=Math.abs(he.width-Ve.width)<=6&&Math.abs(he.height-Ve.height)<=6?Ea(ce):Ve,ue={...ue,desktop:he},id(o,ue),ot();return}lt=(lt+1)%3,pt=null,ue={...ue,[ce.storageKey]:{preset:lt}},id(o,ue),ot()}}function Ht(){a.dataset.layout=ce.layout,a.dataset.orientation=ce.orientation,a.dataset.resizable=t?"true":"false"}return{panel:a,backdrop:i,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:h,taskStageStatusPill:u,taskStageMeta:b,taskStageEyebrow:f,artifactStage:v,artifactStageBody:C,artifactStageToggle:x,artifactStageEmpty:_,taskSuggestion:I,taskSuggestionTextEl:M,taskSuggestionPrimaryBtn:G,taskSuggestionSecondaryBtn:O,questionPrompt:Y,questionPromptForm:ae,questionPromptList:H,questionPromptCancel:re,questionPromptSubmit:oe,conversationPill:pe,conversationDrawer:Pe,conversationList:F,conversationPillLabel:me,conversationDrawerCloseBtn:W,conversationNewBtn:ee,pausedTaskBanner:Fe,applyLayout:ot,cyclePanelSize:He,syncChrome:Ht,getViewportMetrics:()=>ce,destroy(){}}}function zy(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function jf(e){return String(e||"").replace(/\s+/g," ").trim()}function lE(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let i=t[o];if(!i||typeof i.length!="number")continue;let a=jf(String(i[0]?.transcript||""));a&&(i.isFinal?n.push(a):r.push(a))}return{finalTranscript:jf(n.join(" ")),interimTranscript:jf(r.join(" "))}}function Hy(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function $f(e){let t=null,n=null,r=null,o=null,i=null,a=!1,s=!1,c=null;function l(){if(!a||!n||!c){i=null;return}n.getByteFrequencyData(c);let h=0;for(let v=0;v<c.length;v++)h+=c[v];let b=h/c.length/255;e.onFrequencyData?.(b),i=requestAnimationFrame(l)}async function d(){if(!(s||a))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),a=!0,i=requestAnimationFrame(l)}catch{m()}}function m(){if(i!=null&&(cancelAnimationFrame(i),i=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(h=>h.stop()),o=null),c=null,a=!1}function f(){m()}function u(){s=!0,m()}return{start:d,stop:f,dispose:u,isActive:()=>a}}function qf(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function i(a){let s=zy();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(a||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(lE(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.(Hy(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!zy()},start(a){if(n||t)return;let s=i(a?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.(Hy(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let a=t;o();try{a.abort?.()}catch{}}}}var Vf="Continuing through the form.";var dE=/google|natural|neural|online|premium|enhanced/i;function Wf(e){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,220).trim()}function uE(e){let t=Number(e);return Number.isFinite(t)?Math.max(.85,Math.min(1.15,t)):1}function fE(e){let t=Wf(e);if(!t)return[];let n=t.match(/[^.!?]+[.!?]?/g)||[t],r=[],o="";for(let i of n){let a=i.trim();if(a){if((o?`${o} ${a}`:a).length<=150){o=o?`${o} ${a}`:a;continue}o&&r.push(o),o=a.length>150?a.slice(0,150).trim():a}}return o&&r.push(o),r.slice(0,3)}function ad(e){let t=Wf(e);return t?Math.max(900,Math.min(5e3,t.length*55)):0}function pE(e,t,n,r){let o=0,i=String(e.lang||"").toLowerCase(),a=t.toLowerCase(),s=a.split("-")[0];return i===a?o+=80:s&&i.startsWith(s)?o+=55:i.startsWith("en")&&(o+=20),n==="system"&&e.localService&&(o+=24),n!=="system"&&dE.test(e.name||"")&&(o+=36),n==="natural"&&e.localService===!1&&(o+=18),/female|samantha|victoria|karen|zira|aria|jenny/i.test(e.name||"")&&(o+=2),r&&(o+=r(e)),o}function jy(){let e=typeof speechSynthesis<"u"?speechSynthesis:void 0;if(!e)return[];let t=new Set,n=[];for(let r of Array.from(e.getVoices?.()||[])){let o=String(r.voiceURI||`${r.name}:${r.lang}`);!o||t.has(o)||(t.add(o),n.push({voiceURI:String(r.voiceURI||o),name:String(r.name||"System voice"),lang:String(r.lang||""),localService:r.localService===!0,default:r.default===!0}))}return n.sort((r,o)=>r.lang!==o.lang?r.lang.localeCompare(o.lang):r.name.localeCompare(o.name))}function $y(e={}){let t=typeof speechSynthesis<"u"?speechSynthesis:void 0,n=typeof SpeechSynthesisUtterance<"u"?SpeechSynthesisUtterance:void 0,r=!!t&&!!n,o=String(e.lang||"en-US").trim()||"en-US",i=uE(e.rate),a=Number.isFinite(Number(e.pitch))?Math.max(.7,Math.min(1.3,Number(e.pitch))):1,s=e.voicePreference||"auto",c=String(e.voiceURI||"").trim(),l=!0,d=!1,m=!1,f=null,u=[],h=null,b=0,v=0,S=null,k=null;function x(){if(!r||!t)return null;let re=Array.from(t.getVoices?.()||[]);if(!re.length)return null;if(c){let me=re.find(Se=>String(Se.voiceURI||"")===c);if(me)return f=me,f}let oe=null,pe=-1/0;for(let me of re){let Se=pE(me,o,s,e.voiceMatcher);Se>pe&&(oe=me,pe=Se)}return f=oe,f}function C(){if(!r||!t||f)return;x();let re=0;f||k||(k=setInterval(()=>{re+=1,x(),(f||re>=10)&&(k&&clearInterval(k),k=null)},250))}function _(){if(S){try{clearTimeout(S)}catch{}S=null}}function I(){return u.reduce((re,oe)=>re+oe.estimatedMs,0)}function M(re){re&&(u.some(oe=>oe.catchUp)||h?.catchUp||(u=[{text:Vf,chunks:[Vf],key:"catch-up",priority:"normal",catchUp:!0,estimatedMs:ad(Vf)},...u.slice(-3)]))}function G(){let re=!1;for(;u.length>4||I()>7e3;){let oe=u.findIndex(Se=>Se.priority==="low"&&!Se.catchUp),pe=u.findIndex(Se=>Se.priority==="normal"&&!Se.catchUp),me=oe>=0?oe:pe>=0?pe:u.findIndex(Se=>!Se.catchUp);if(me<0)break;u.splice(me,1),re=!0}for(M(re);u.length>4;)u.splice(u.length-1,1)}function O(){u=[],h=null,b=0,v+=1,_();try{t?.cancel()}catch{}}function Y(re){if(re===v&&(_(),!!h)){if(b+=1,b<h.chunks.length){Z();return}h=null,b=0,Z()}}function Z(){if(!r||!t||!n||m||!l||!d||typeof document<"u"&&document.hidden||(h||(h=u.shift()||null,b=0),!h))return;let re=h.chunks[b];if(!re){h=null,b=0,Z();return}C();let oe=new n(re);oe.lang=o,oe.rate=i,oe.pitch=a,f&&(oe.voice=f);let pe=v;oe.onend=()=>Y(pe),oe.onerror=()=>Y(pe),_(),S=setTimeout(()=>Y(pe),ad(re)+3e3);try{t.speak(oe)}catch{Y(pe)}}function ae(re,oe={}){if(!r||!t||!n||m||!l||typeof document<"u"&&document.hidden)return;let pe=Wf(re),me=fE(pe);if(!me.length)return;let Se=oe.mode||"replace";Se==="replace"&&O();let Fe=String(oe.key||"").trim().slice(0,160)||void 0;if(Se==="append"&&Fe){let Pe=u.findIndex(ve=>ve.key===Fe);if(Pe>=0){u[Pe]={...u[Pe],text:pe,chunks:me,estimatedMs:ad(pe)},G(),d&&Z();return}if(h?.key===Fe&&h.priority!=="high")return}u.push({text:pe,chunks:me,key:Fe,priority:oe.priority||"normal",estimatedMs:ad(pe)}),G(),d&&Z()}function H(){f=null,x()}function X(){if(typeof document<"u"&&document.hidden)try{t?.cancel()}catch{}else if(d){try{t?.resume?.()}catch{}Z()}}if(r&&t){C();try{t.addEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.addEventListener("visibilitychange",X)}return{isSupported:()=>r&&!m,unlock(){if(!(!r||!t||!n||m)){d=!0;try{t.resume?.()}catch{}try{let re=new n(" ");re.volume=0,re.lang=o,t.speak(re)}catch{}Z()}},speak(re,oe){ae(re,oe)},cancel(){O()},setEnabled(re){l=re,l||O()},dispose(){m=!0,u=[],h=null,_(),k&&clearInterval(k),k=null;try{t?.cancel()}catch{}try{t?.removeEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.removeEventListener("visibilitychange",X)}}}function qy(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=Ia({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="inputBarComposerSlot";let a=document.createElement("button");a.type="button",a.className="inputBarExpand",a.setAttribute("aria-label","Expand to full panel"),a.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(i),t.appendChild(a),t.appendChild(s),{root:t,composerSlot:i,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){a.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function Kf(e){let t=[],n=[],r=0,o=!1,i=document.createElement("div");i.className="commandBarOverlay";let a=document.createElement("div");a.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",a.appendChild(s),a.appendChild(m),a.appendChild(f),i.appendChild(a);function u(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let _=0;_<n.length;_++){let I=n[_],M=document.createElement("button");M.type="button",M.className=`commandBarItem${_===r?" highlighted":""}`,M.setAttribute("role","option");let G=document.createElement("span");if(G.className="commandBarItemLabel",I.icon){let O=document.createElement("span");O.className="commandBarItemIcon",O.textContent=I.icon,G.appendChild(O)}if(G.appendChild(document.createTextNode(I.label)),M.appendChild(G),I.description){let O=document.createElement("span");O.className="commandBarItemDesc",O.textContent=I.description,M.appendChild(O)}M.addEventListener("click",()=>{v(I)}),M.addEventListener("mouseenter",()=>{r=_,h()}),m.appendChild(M)}}function h(){m.querySelectorAll(".commandBarItem").forEach((M,G)=>{M.classList.toggle("highlighted",G===r)});let I=m.querySelector(".commandBarItem.highlighted");I&&I.scrollIntoView({block:"nearest"})}function b(){let _=l.value.toLowerCase().trim();_?n=t.filter(I=>I.label.toLowerCase().includes(_)||I.description&&I.description.toLowerCase().includes(_)):n=t.slice(),r=0,u()}function v(_){k(),e.onSelect(_)}l.addEventListener("input",b),i.addEventListener("keydown",_=>{let I=_;if(I.key==="Escape"){I.preventDefault(),I.stopPropagation(),k();return}if(I.key==="ArrowDown"){I.preventDefault(),n.length>0&&(r=(r+1)%n.length,h());return}if(I.key==="ArrowUp"){I.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,h());return}if(I.key==="Enter"){I.preventDefault(),n.length>0&&r<n.length&&v(n[r]);return}}),i.addEventListener("mousedown",_=>{_.target===i&&k()});function S(){o||(o=!0,l.value="",n=t.slice(),r=0,i.classList.add("open"),u(),requestAnimationFrame(()=>l.focus()))}function k(){o&&(o=!1,i.classList.remove("open"),e.onClose())}function x(_){t=_.slice(),o&&b()}function C(){o=!1,i.remove()}return{root:i,input:l,setItems:x,open:S,close:k,isOpen:()=>o,destroy:C}}var Vy={"en-US":"English (US)","en-GB":"English (UK)","en-AU":"English (Australia)","es-ES":"Spanish","fr-FR":"French","de-DE":"German","it-IT":"Italian","pt-BR":"Portuguese (Brazil)","ja-JP":"Japanese","ko-KR":"Korean","zh-CN":"Chinese (Simplified)","hi-IN":"Hindi"};function Ai(e){let t=String(e||"").trim();return t?t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-"):""}function Wy(e){let t=Ai(e);return Vy[t]?`${Vy[t]} (${t})`:t}function mE(e,t,n){let r=new Set;r.add(Ai(t)||"en-US"),r.add(Ai(n)||"en-US");for(let o of e){let i=Ai(o.lang);i&&r.add(i)}return Array.from(r).filter(Boolean).sort((o,i)=>o.localeCompare(i))}function hE(e,t){let n=Ai(t).toLowerCase(),r=n.split("-")[0],o=e.filter(i=>{let a=Ai(i.lang).toLowerCase();return a===n||!!r&&a.startsWith(`${r}-`)});return o.length?o:e}function Ky(e){let t={available:!1,enabled:!1,siteLanguage:"en-US",effectiveLanguage:"en-US",voices:[]},n=document.createElement("div");n.className="voiceSettingsPanel",n.setAttribute("role","dialog"),n.setAttribute("aria-label","Voice and language");let r=document.createElement("div");r.className="voiceSettingsHeader";let o=document.createElement("div");o.className="voiceSettingsTitle",o.textContent="Voice & language";let i=document.createElement("button");i.type="button",i.className="voiceSettingsClose",i.setAttribute("aria-label","Close voice settings"),i.textContent="\xD7",r.appendChild(o),r.appendChild(i);let a=document.createElement("div");a.className="voiceSettingsBody";let s=document.createElement("label");s.className="voiceSettingsToggle";let c=document.createElement("input");c.type="checkbox";let l=document.createElement("span");l.textContent="Read guided steps aloud",s.appendChild(c),s.appendChild(l);let d=document.createElement("label");d.className="voiceSettingsField";let m=document.createElement("span");m.textContent="Language";let f=document.createElement("select");d.appendChild(m),d.appendChild(f);let u=document.createElement("label");u.className="voiceSettingsField";let h=document.createElement("span");h.textContent="Voice";let b=document.createElement("select");u.appendChild(h),u.appendChild(b);let v=document.createElement("label");v.className="voiceSettingsField";let S=document.createElement("span");S.textContent="Voice style";let k=document.createElement("select");[["auto","Best available"],["natural","Prefer natural voices"],["system","Prefer system voices"]].forEach(([M,G])=>{let O=document.createElement("option");O.value=M,O.textContent=G,k.appendChild(O)}),v.appendChild(S),v.appendChild(k);let x=document.createElement("p");x.className="voiceSettingsHint";let C=document.createElement("div");C.className="voiceSettingsActions";let _=document.createElement("button");_.type="button",_.className="voiceSettingsReset",_.textContent="Use site default",C.appendChild(_),a.appendChild(s),a.appendChild(d),a.appendChild(u),a.appendChild(v),a.appendChild(x),a.appendChild(C),n.appendChild(r),n.appendChild(a);function I(){c.checked=t.enabled,c.disabled=!t.available;let M=typeof navigator<"u"&&navigator.language||"en-US",G=mE(t.voices,t.siteLanguage,M),O=Ai(t.language||t.effectiveLanguage||t.siteLanguage||M||"en-US")||"en-US";f.innerHTML="";let Y=document.createElement("option");Y.value="",Y.textContent=`Site default (${Wy(t.siteLanguage||"en-US")})`,f.appendChild(Y);for(let H of G){let X=document.createElement("option");X.value=H,X.textContent=Wy(H),f.appendChild(X)}f.value=t.language?O:"",f.disabled=!t.available;let Z=hE(t.voices,O);b.innerHTML="";let ae=document.createElement("option");ae.value="",ae.textContent="Browser default",b.appendChild(ae);for(let H of Z){let X=document.createElement("option");X.value=H.voiceURI,X.textContent=`${H.name}${H.lang?` (${H.lang})`:""}`,b.appendChild(X)}b.value=t.voiceURI||"",b.disabled=!t.available||Z.length===0,k.value=t.voicePreference||"auto",k.disabled=!t.available,x.textContent=t.available?`${e.agentName} uses this language for spoken step narration and microphone dictation on this site.`:"Voice narration is unavailable in this browser or disabled by this site."}return c.addEventListener("change",()=>e.onChange({enabled:c.checked})),f.addEventListener("change",()=>e.onChange({language:f.value||void 0,voiceURI:void 0})),b.addEventListener("change",()=>e.onChange({voiceURI:b.value||void 0})),k.addEventListener("change",()=>e.onChange({voicePreference:k.value})),_.addEventListener("click",()=>e.onReset()),i.addEventListener("click",()=>e.onClose()),{root:n,setOpen(M){n.classList.toggle("visible",M),n.setAttribute("aria-hidden",M?"false":"true")},update(M){t={...t,...M,voices:M.voices||[]},I()}}}function Gf(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,i=r?32:64,a=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,u=!1,h=document.createElement("canvas");h.className="particle-canvas",h.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let b=Math.min(window.devicePixelRatio||1,2);h.width=o*b,h.height=o*b;let v=h.getContext("2d");v.scale(b,b),t.appendChild(h);let S=[];for(let H=0;H<i;H++)S.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function k(){for(let H of S)if(!H.active)return H;return null}function x(H){let X=k();if(!X)return;let re=o/2,oe=o/2,pe=H??Math.random()*Math.PI*2,me=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(X.active=!0,X.x=re+Math.cos(pe)*(20+Math.random()*10),X.y=oe+Math.sin(pe)*(20+Math.random()*10),X.vx=Math.cos(pe)*me,X.vy=Math.sin(pe)*me,X.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,X.life=X.maxLife,X.size=1.5+Math.random()*2,X.alpha=.5+Math.random()*.3,c==="pulse"){let Se=pe+Math.PI/2;X.vx+=Math.cos(Se)*12,X.vy+=Math.sin(Se)*12}}function C(H){for(let X of S)if(X.active){if(X.life-=H,X.life<=0){X.active=!1;continue}X.x+=X.vx*H,X.y+=X.vy*H,X.vx*=.98,X.vy*=.98}}function _(){v.clearRect(0,0,o,o);for(let H of S){if(!H.active)continue;let X=H.life/H.maxLife,re=H.alpha*X;re<.01||(v.globalAlpha=re,v.fillStyle=s,v.beginPath(),v.arc(H.x,H.y,H.size*X,0,Math.PI*2),v.fill())}v.globalAlpha=1}function I(H){if(u||c==="idle"){d=null;return}m||(m=H);let X=Math.min((H-m)/1e3,.05);if(m=H,c==="ambient"||c==="pulse")for(f+=l*a*X;f>=1;)x(),f-=1;C(X),_(),S.some(oe=>oe.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(I):(d=null,v.clearRect(0,0,o,o))}function M(){d!=null||u||n||(m=0,f=0,d=requestAnimationFrame(I))}function G(){d!=null&&(cancelAnimationFrame(d),d=null);for(let H of S)H.active=!1;v.clearRect(0,0,o,o)}function O(H){if(H!==c){if(c=H,c==="idle"){G();return}if(!n){if(c==="burst"){let X=r?12:20+Math.floor(Math.random()*11);for(let re=0;re<X;re++)x(Math.PI*2*re/X+(Math.random()-.5)*.3);M();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),M()}}}function Y(){let H=Math.min(window.devicePixelRatio||1,2);h.width=o*H,h.height=o*H,v.setTransform(1,0,0,1,0,0),v.scale(H,H)}function Z(H){s=H}function ae(){u=!0,G(),h.remove()}return{canvas:h,setMode:O,setSpawnRate:H=>{l=H},setColor:Z,resize:Y,destroy:ae}}function Xf(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,i=null,a=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let _=document.createElementNS("http://www.w3.org/2000/svg","path");return _.setAttribute("fill","none"),_.setAttribute("stroke","var(--rv-accent, #ff4c00)"),_.setAttribute("stroke-width","1.5"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-dasharray","6 4"),_.setAttribute("stroke-opacity","0.6"),_}function d(_,I){let M=_.left+_.width/2,G=_.top+_.height/2,O=I.left+I.width/2,Y=I.top+I.height/2,Z,ae,H=O-M,X=Y-G;Math.abs(H)>Math.abs(X)?(Z=H>0?_.right:_.left,ae=Math.max(_.top+20,Math.min(_.bottom-20,Y))):(ae=X>0?_.bottom:_.top,Z=Math.max(_.left+20,Math.min(_.right-20,O)));let re=O,oe=Y,pe=(Z+re)/2,me=(ae+oe)/2,Se=Math.max(40,Math.hypot(re-Z,oe-ae)*.3),Fe=Z+(pe-Z)*.5,Pe=ae+(ae===_.top||ae===_.bottom?-Math.sign(X)*Se:0),ve=re-(re-pe)*.5,B=oe+(oe>ae?-Se*.5:Se*.5);return`M ${Z} ${ae} C ${Fe} ${Pe}, ${ve} ${B}, ${re} ${oe}`}function m(){if(o||c()||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let _=n.getBoundingClientRect();if(_.width===0||_.height===0){i=requestAnimationFrame(m);return}for(let I of a){let M=e.resolveElement?.(I.elementId);if(!M)continue;let G=M.getBoundingClientRect();if(G.width===0&&G.height===0)continue;let O=d(_,G);I.path.setAttribute("d",O)}i=requestAnimationFrame(m)}function f(){i!=null||o||(i=requestAnimationFrame(m))}function u(){i!=null&&(cancelAnimationFrame(i),i=null)}function h(_){_.fadeTimer&&clearTimeout(_.fadeTimer),_.path.remove();let I=a.indexOf(_);I>=0&&a.splice(I,1),a.length===0&&u()}function b(_){try{let I=_.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});I.onfinish=()=>h(_)}catch{h(_)}}function v(_,I){if(o||c()||a.find(Y=>Y.elementId===_))return;for(;a.length>=3;)b(a[0]);let G=l();s.appendChild(G);let O={elementId:_,toolName:I,path:G};a.push(O),f()}function S(_){let I=a.find(M=>M.elementId===_);I&&b(I)}function k(){for(;a.length>0;)h(a[0]);u()}function x(){}function C(){o=!0,k(),s.remove()}return{overlay:s,addTarget:v,fadeTarget:S,clearAll:k,resize:x,destroy:C}}function Gy(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Xy(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=Gy(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let i=document.createElement("div");i.className="liveStackHeader";let a=document.createElement("span");a.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',i.appendChild(a),i.appendChild(s),i.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(i),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],u=new Set,h=null,b=null,v=null;c.addEventListener("click",()=>{h?.()}),l.addEventListener("click",()=>{h?.()});function S(){let I=document.createElement("div");I.className="liveStackCard hidden";let M=document.createElement("div");M.className="liveStackCardTop";let G=document.createElement("div");G.className="liveStackCardMeta";let O=document.createElement("span");O.className="liveStackCardTs";let Y=document.createElement("span");Y.className="liveStackCardSep",Y.textContent="\u2014";let Z=document.createElement("span");Z.className="liveStackCardStatus";let ae=document.createElement("div");ae.className="liveStackCardSpinner",G.appendChild(O),G.appendChild(Y),G.appendChild(Z),M.appendChild(G),M.appendChild(ae);let H=document.createElement("div");H.className="liveStackCardTitle";let X=document.createElement("div");return X.className="liveStackCardDetail",I.appendChild(M),I.appendChild(H),I.appendChild(X),I.addEventListener("click",re=>{if(re.stopPropagation(),I.classList.contains("expanded"))I.classList.remove("expanded");else{for(let oe of f)oe.classList.remove("expanded");I.classList.add("expanded")}}),I}function k(I){let M=m.get(I);if(M)return M;let G=S();return m.set(I,G),f.push(G),d.appendChild(G),G}function x(I,M){let G=Number(M.ts)||Date.now(),O=Ks(M),Y=Ws(M),Z=rd(M),ae=I.querySelector(".liveStackCardTs"),H=I.querySelector(".liveStackCardStatus"),X=I.querySelector(".liveStackCardTitle"),re=I.querySelector(".liveStackCardDetail");ae.textContent=qo(G),H.textContent=Y,X.textContent=O||"Processing...",I.classList.toggle("minimalThought",n==="minimal");let oe=M.actionCue?"":Ue(M.detail||"")||(Z!==O?Z:"");oe?(re.textContent=oe.slice(0,500),I.dataset.hasDetail="true"):(re.textContent="",delete I.dataset.hasDetail);let pe=ed(M);I.dataset.status=pe}function C(){let I=f.length,M=o?Math.min(I,r):I,G=Math.max(0,I-M);for(let O=0;O<I;O++){let Y=f[O],Z=I-1-O;Y.classList.remove("active","previous","hidden"),Z===0?(Y.classList.add("active"),Y.style.display=""):Z<M?(Y.classList.add("previous"),Y.style.display=""):(Y.classList.add("hidden"),Y.style.display="none")}G>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function _(){b==null&&(b=requestAnimationFrame(()=>{b=null,C()}))}return{root:t,addTimelineEvent(I){let M=Ue(I.title||"");if(!M||M.toLowerCase()==="assistant update")return;let G=I.id||So("ls");if(I.id&&u.has(G))return;u.add(G);let O=td(I),Y=O==="run"||O.startsWith("tool:")||I.kind==="tool_result"||I.kind==="status"&&m.has(O),Z=k(Y?O:`${O}:${G}`);x(Z,{...I,title:M}),_()},clear(){u.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),b!=null&&(cancelAnimationFrame(b),b=null)},show(){v!=null&&(clearTimeout(v),v=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let I=()=>{t.classList.remove("open","closing"),v=null};t.addEventListener("animationend",()=>I(),{once:!0}),v=setTimeout(I,280)},setOnExpand(I){h=I},setThoughtStyle(I){n=I==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let M of f)M.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(I){r=Gy(I?.maxVisibleLiveCards),o=I?.collapseCompletedSteps!==!1,_()},destroy(){b!=null&&cancelAnimationFrame(b),t.remove()}}}var ev=3,gE=420,bE=640,Yy=28,yE=6,vE=4;function eo(e,t=48){let n=Ue(String(e||"")).replace(/\s+/g," ").trim();return n?n.length<=t?n:`${n.slice(0,t-3).trim()}...`:""}function kE(e,t){return t.split(/\s+/).map(n=>n.trim()).filter(Boolean).map(n=>{try{let r=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/"/g,'\\"');return e.querySelector(`#${r}`)?.textContent||""}catch{return""}}).join(" ")}function xE(e){let t=eo(e.getAttribute("role"));if(t)return t;let n=e.tagName.toLowerCase();if(n==="a")return"link";if(n==="button")return"button";if(n==="select")return"select";if(n==="textarea")return"text area";if(n==="input"){let r=eo(e.type||"input");return r==="submit"||r==="button"?"button":"field"}return n?wE(n.replace(/[-_]+/g," ")):"element"}function wE(e){return String(e||"").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function Jf(e){try{return SE(e)}catch{return""}}function SE(e){if(!e)return"";let t=e.ownerDocument||document,n=eo(e.getAttribute("aria-labelledby"),180),r=n?eo(kE(t,n)):"";if(r)return r;let o=eo(e.getAttribute("aria-label"));if(o)return o;let i=e.labels;if(i&&i.length){let c=Array.from(i).map(d=>d.textContent||"").join(" "),l=eo(c);if(l)return l}let a=eo(e.placeholder);if(a)return a;if(e instanceof HTMLInputElement){let c=String(e.type||"").toLowerCase();if((c==="button"||c==="submit"||c==="reset")&&e.value){let l=eo(e.value);if(l)return l}}let s=eo(e.textContent);return s||xE(e)}function Jy(e){let t=[...Array.isArray(e.actionCue?.elementIds)?e.actionCue.elementIds:[],e.actionCue?.primaryElementId,e.elementId],n=new Set,r=[];for(let o of t){let i=Math.trunc(Number(o));if(!(!Number.isFinite(i)||i<=0||n.has(i))&&(n.add(i),r.push(i),r.length>=ev))break}return r}function TE(e,t){return e.width>0&&e.height>0&&e.right>=0&&e.bottom>=0&&e.left<=t.width&&e.top<=t.height}function Qy(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function Zs(e,t){let n=Qy(e.actionCue?.logicalTabId);if(!n)return!0;let r=Qy(t);return r?n===r:!0}function Zy(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}function Yf(e,t){return!t||t.width<=0||t.height<=0?!1:e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function _E(e,t){return{left:e.left-t,top:e.top-t,right:e.right+t,bottom:e.bottom+t,width:e.width+t*2,height:e.height+t*2}}function EE(e){let t=e.gap??8,n=e.margin??8,r={width:Math.max(1,e.chip.width),height:Math.max(1,e.chip.height)},o=e.viewport,i=[{side:"right",value:o.width-e.target.right},{side:"left",value:e.target.left},{side:"bottom",value:o.height-e.target.bottom},{side:"top",value:e.target.top}].sort((a,s)=>s.value-a.value);for(let{side:a}of i){let s=0,c=0;a==="right"?(s=e.target.right+t,c=e.target.top+(e.target.height-r.height)/2):a==="left"?(s=e.target.left-r.width-t,c=e.target.top+(e.target.height-r.height)/2):a==="bottom"?(s=e.target.left+(e.target.width-r.width)/2,c=e.target.bottom+t):(s=e.target.left+(e.target.width-r.width)/2,c=e.target.top-r.height-t);let l={left:s,top:c,right:s+r.width,bottom:c+r.height,width:r.width,height:r.height};if(!(l.left<n||l.top<n||l.right>o.width-n||l.bottom>o.height-n)&&!Yf(l,_E(e.target,t))&&!Yf(l,e.panel)&&!(e.occupied||[]).some(d=>Yf(l,d)))return{left:s,top:c,side:a}}return null}function tv(e){let t={click:"Click",type:"Type",select:"Select",clear:"Clear",focus:"Focus",hover:"Hover",press:"Press",scroll:"Scroll",drag:"Drag",copy:"Copy",paste:"Paste",upload:"Upload",navigate:"Open",read:"Read",wait:"Wait",unknown:"Act"};return t[e||"unknown"]||t.unknown}function IE(e,t){let n=tv(e?.kind),r=eo(t||e?.targetLabel,36);return r?`${n} ${r}`:n}function nv(e){let{container:t,panel:n}=e,r=e.mobileBreakpoint??bE,o=!1,i=null,a=[],s=document.createElement("div");s.className="actionSpotlightLayer";try{t.appendChild(s)}catch{}function c(M){try{return Zs(M,e.getLocalLogicalTabId?.())}catch{return!1}}function l(M){try{M.ring.style.display="none"}catch{}try{M.chip&&(M.chip.style.display="none")}catch{}}function d(){let M=window.visualViewport?.width??window.innerWidth,G=window.visualViewport?.height??window.innerHeight;return{left:0,top:0,right:M,bottom:G,width:M,height:G}}function m(M,G){let O=e.resolveElement?.(M.elementId),Y=d();if(!O){l(M);return}let Z=Zy(O.getBoundingClientRect());if(!TE(Z,Y)){l(M);return}let ae=(window.visualViewport?.width??window.innerWidth)<=r,H=ae?vE:yE,X=Math.max(Yy,Z.width+H*2),re=Math.max(Yy,Z.height+H*2),oe=Z.left-(X-Z.width)/2,pe=Z.top-(re-Z.height)/2;try{M.ring.style.display="block",M.ring.style.width=`${X}px`,M.ring.style.height=`${re}px`,M.ring.style.transform=`translate3d(${Math.round(oe)}px, ${Math.round(pe)}px, 0)`}catch{throw new Error("action_spotlight_style_failed")}if(!M.chip||ae||M.cue?.kind==="unknown"){try{M.chip&&(M.chip.style.display="none")}catch{}return}let me=Jf(O);try{M.chip.textContent=IE(M.cue,me),M.chip.style.display="block",M.chip.style.transform="translate3d(-10000px, -10000px, 0)"}catch{throw new Error("action_spotlight_chip_failed")}let Se=M.chip.getBoundingClientRect(),Fe=EE({target:Z,chip:{width:Math.min(180,Math.max(1,Se.width||72)),height:Math.max(1,Se.height||28)},viewport:Y,panel:Zy(n.getBoundingClientRect()),occupied:G});if(!Fe){try{M.chip.style.display="none"}catch{}return}try{M.chip.dataset.side=Fe.side,M.chip.style.transform=`translate3d(${Math.round(Fe.left)}px, ${Math.round(Fe.top)}px, 0)`}catch{throw new Error("action_spotlight_chip_place_failed")}G.push({left:Fe.left,top:Fe.top,right:Fe.left+Math.min(180,Math.max(1,Se.width||72)),bottom:Fe.top+Math.max(1,Se.height||28),width:Math.min(180,Math.max(1,Se.width||72)),height:Math.max(1,Se.height||28)})}function f(){if(i!=null){try{cancelAnimationFrame(i)}catch{}i=null}}function u(){if(i=null,o||a.length===0||document.hidden)return;let M=[];for(let G of[...a])try{m(G,M)}catch{b(G)}if(!o&&a.length>0&&!document.hidden)try{i=requestAnimationFrame(u)}catch{i=null}}function h(){if(!(i!=null||o||document.hidden))try{i=requestAnimationFrame(u)}catch{i=null}}function b(M){if(M.fadeTimer)try{clearTimeout(M.fadeTimer)}catch{}try{M.ring.remove()}catch{}try{M.chip?.remove()}catch{}let G=a.indexOf(M);G>=0&&a.splice(G,1)}function v(M){try{if(M.ring.classList.contains("fading"))return;M.ring.classList.add("fading"),M.chip?.classList.add("fading"),M.fadeTimer=setTimeout(()=>b(M),gE)}catch{b(M)}}function S(M,G){let O,Y;try{O=document.createElement("div"),O.className="actionSpotlightRing",e.reducedMotion||O.classList.add("pulse"),s.appendChild(O),Y=document.createElement("div"),Y.className="actionSpotlightChip",Y.textContent=tv(G.actionCue?.kind),s.appendChild(Y)}catch(ae){try{O?.remove()}catch{}try{Y?.remove()}catch{}throw ae}if(!O)throw new Error("action_spotlight_ring_missing");let Z={key:String(M),elementId:M,cue:G.actionCue,toolName:G.toolName,ring:O,chip:Y,createdAt:Date.now()};return a.push(Z),Z}function k(M){try{if(o||!c(M))return;let G=Jy(M);if(!G.length)return;let O=G.filter(Y=>!a.some(Z=>Z.elementId===Y));for(;a.length+O.length>ev&&a.length>0;){let Y=a.shift();Y&&v(Y)}for(let Y of G)try{let Z=a.find(ae=>ae.elementId===Y);if(Z){Z.cue=M.actionCue,Z.toolName=M.toolName;try{Z.ring.classList.remove("fading")}catch{}try{Z.chip?.classList.remove("fading")}catch{}}else S(Y,M)}catch{}h()}catch{}}function x(M){try{if(!c(M))return;let G=Jy(M);if(!G.length)return;for(let O of G){let Y=a.find(Z=>Z.elementId===O);Y&&v(Y)}}catch{}}function C(){try{for(;a.length;)b(a[0]);f()}catch{a.splice(0,a.length),f()}}let _=()=>h(),I=()=>{try{if(document.hidden){f();return}h()}catch{f()}};try{window.addEventListener("scroll",_,!0)}catch{}try{window.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("scroll",_)}catch{}try{document.addEventListener("visibilitychange",I)}catch{}return{overlay:s,addEvent:k,fadeEvent:x,clearAll:C,destroy(){o=!0,C();try{window.removeEventListener("scroll",_,!0)}catch{}try{window.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("scroll",_)}catch{}try{document.removeEventListener("visibilitychange",I)}catch{}try{s.remove()}catch{}}}}var Qf=4,AE=7e3,rv="Continuing through the form.",RE=new Set(["hover","focus","wait","read","unknown"]);function Zf(e){return Ue(String(e||"").replace(/\s+/g," ")).slice(0,220).trim()}function Aa(e){return Math.max(900,Math.min(5e3,e.length*55))}function ov(e){return String(e.actionCue?.kind||"").trim().toLowerCase()||"unknown"}function CE(e,t){let n=e.actionCue,r=ov(e),o=n?.targetLabel||(n?.primaryElementId!=null?`element:${n.primaryElementId}`:"")||e.toolName||e.title||t;return`${r}:${String(o).replace(/\s+/g," ").trim().toLowerCase().slice(0,120)}`}function ME(e){let t=ov(e);return RE.has(t)||t==="scroll"&&!e.actionCue?.primaryElementId?"low":t==="click"||t==="type"||t==="select"||t==="upload"||t==="navigate"?"high":"normal"}function NE(e){return e.responseKind==="final"||e.responseKind==="question"||e.responseKind==="error"?"high":"normal"}function LE(e){try{if(e.kind==="tool_result")return"";let t=Zf(e.narration);if(e.kind==="assistant_response")return t||(e.narrationActive===!0?Zf(e.detail):"");let n=!t&&e.kind==="tool_start"&&e.narrationActive===!0?Zf(Nf(e)):"";return t||n}catch{return""}}function DE(e,t,n){if(t&&n)try{let r=t(e);return{cancel:()=>n(r)}}catch{}if(typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function")try{let r=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(r)}}catch{}try{let r=setTimeout(()=>e(Date.now()),0);return{cancel:()=>clearTimeout(r)}}catch{return{cancel:()=>{}}}}function iv(e){let t=null,n=[],r=!1;function o(){if(t){try{t.cancel()}catch{}t=null}}function i(){o(),n=[]}function a(){return n.reduce((m,f)=>m+f.estimatedMs,0)}function s(){let m=!1;for(;n.length>Qf||a()>AE;){let f=n.findIndex(v=>v.priority==="low"&&!v.catchUp),u=n.findIndex(v=>v.priority==="normal"&&!v.catchUp),h=n.findIndex(v=>v.priority!=="high"&&!v.catchUp),b=f>=0?f:u>=0?u:h>=0?h:n.findIndex(v=>!v.catchUp);if(b<0)break;n.splice(b,1),m=!0}for(m&&!n.some(f=>f.catchUp)&&(n=[{text:rv,mode:"append",key:"catch-up",priority:"normal",source:"action",catchUp:!0,estimatedMs:Aa(rv)},...n.slice(-(Qf-1))]);n.length>Qf;)n.splice(n.length-1,1)}function c(){t||(t=DE(()=>{if(t=null,r||!e.isEnabled()){n=[];return}let m=n;n=[];for(let f of m)try{e.speak(f.text,{mode:f.mode,key:f.key,priority:f.priority})}catch{}},e.scheduleFrame,e.cancelFrame))}function l(m,f){let u=CE(m,f),h=ME(m),b=n.findIndex(v=>v.key===u);if(b>=0){n[b]={...n[b],text:f,priority:h,estimatedMs:Aa(f)},s(),c();return}n.push({text:f,mode:"append",key:u,priority:h,source:"action",estimatedMs:Aa(f)}),s(),c()}function d(m,f){let u=m.responseKind||"checkpoint",h=NE(m);h==="high"&&(n=n.filter(S=>S.priority!=="low"&&!S.catchUp));let b=`response:${u}:${f.toLowerCase().slice(0,140)}`,v=n.findIndex(S=>S.key===b);if(v>=0){n[v]={...n[v],text:f,priority:h,estimatedMs:Aa(f)},s(),c();return}n.push({text:f,mode:"append",key:b,priority:h,source:"response",estimatedMs:Aa(f)}),s(),c()}return{scheduleEvent(m){try{if(r||m.kind==="tool_result"||!e.isEnabled())return;let f=LE(m);if(!f)return;if(m.kind==="tool_start"){l(m,f);return}if(m.kind==="assistant_response"){d(m,f);return}if(n.some(u=>u.mode==="append"))return;i(),n=[{text:f,mode:"replace",key:`status:${m.kind}:${m.title}`,priority:"normal",source:"status",estimatedMs:Aa(f)}],c()}catch{}},cancel(){i()},dispose(){r=!0,i()}}}var av=`
20
20
  /* \u2500\u2500 Self-hosted font \u2500\u2500 */
21
21
  @font-face {
22
22
  font-family: 'Manrope';
@@ -423,7 +423,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
423
423
  .rvNext {
424
424
  white-space: normal;
425
425
  }
426
- `;var av=`
426
+ `;var sv=`
427
427
  /* \u2500\u2500 Keyframe Animations \u2500\u2500 */
428
428
  @keyframes panelOpen {
429
429
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
@@ -527,7 +527,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
527
527
  transition-duration: 0.01ms !important;
528
528
  }
529
529
  }
530
- `;var sv=`
530
+ `;var cv=`
531
531
  /* \u2500\u2500 Launcher / Seed \u2500\u2500 */
532
532
  .launcher {
533
533
  position: fixed;
@@ -857,7 +857,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
857
857
  .rover[data-shell="focus_stream"] .launcher {
858
858
  display: none;
859
859
  }
860
- `;var cv=`
860
+ `;var lv=`
861
861
  /* \u2500\u2500 Panel Backdrop \u2500\u2500 */
862
862
  .panelBackdrop {
863
863
  position: fixed;
@@ -3158,7 +3158,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
3158
3158
  background: rgba(30, 33, 48, 0.95);
3159
3159
  border-color: rgba(255, 255, 255, 0.08);
3160
3160
  }
3161
- `;var lv=`
3161
+ `;var dv=`
3162
3162
  /* \u2500\u2500 Mobile Responsive \u2500\u2500 */
3163
3163
  @media (max-width: 640px) {
3164
3164
  .launcher {
@@ -3338,7 +3338,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
3338
3338
  text-overflow: ellipsis;
3339
3339
  }
3340
3340
  }
3341
- `;var dv=`
3341
+ `;var uv=`
3342
3342
  /* \u2500\u2500 Command Bar Overlay \u2500\u2500 */
3343
3343
  .commandBarOverlay {
3344
3344
  position: fixed;
@@ -3490,7 +3490,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
3490
3490
  padding-top: 10vh;
3491
3491
  }
3492
3492
  }
3493
- `;var uv=`
3493
+ `;var fv=`
3494
3494
  /* \u2500\u2500 Particle Canvas \u2500\u2500 */
3495
3495
  .particle-canvas {
3496
3496
  pointer-events: none;
@@ -3719,7 +3719,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
3719
3719
  transform: scale(0.98);
3720
3720
  }
3721
3721
 
3722
- `;var fv=`
3722
+ `;var pv=`
3723
3723
  /* \u2500\u2500 Input Bar (minimized state) \u2500\u2500 */
3724
3724
  .inputBar {
3725
3725
  position: fixed;
@@ -3993,7 +3993,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
3993
3993
  border-color: var(--rv-border-strong);
3994
3994
  color: var(--rv-text);
3995
3995
  }
3996
- `;var pv=`
3996
+ `;var mv=`
3997
3997
  /* \u2500\u2500 Live Stack (floating card stack above input bar) \u2500\u2500 */
3998
3998
  .liveStack {
3999
3999
  position: fixed;
@@ -4354,7 +4354,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
4354
4354
  font-size: 9px;
4355
4355
  }
4356
4356
  }
4357
- `;function gv(e){let t=Qb(e.agent?.name||e.experience?.presence?.assistantName),n=Zb(t),r=ey(t),o=e.mascot?.disabled===!0,i=Tf(e,t,o),a=e.visitorName,s=e.panel?.resizable!==!1,c=document.createElement("div");c.id="rover-widget-root",(document.body||document.documentElement).appendChild(c);let l=c.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent=`
4357
+ `;function bv(e){let t=Zb(e.agent?.name||e.experience?.presence?.assistantName),n=ey(t),r=ty(t),o=e.mascot?.disabled===!0,i=Ef(e,t,o),a=e.visitorName,s=e.panel?.resizable!==!1,c=document.createElement("div");c.id="rover-widget-root",(document.body||document.documentElement).appendChild(c);let l=c.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent=`
4358
4358
  @font-face {
4359
4359
  font-family: 'Manrope';
4360
4360
  font-style: normal;
@@ -4362,21 +4362,21 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
4362
4362
  font-display: swap;
4363
4363
  src: url('https://rover.rtrvr.ai/rover/fonts/manrope-latin.woff2') format('woff2');
4364
4364
  }
4365
- `,document.head.appendChild(d);let m=document.createElement("style");m.textContent=iv+av+sv+cv+lv+dv+uv+fv+pv,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let u=ky("seed"),h=sy({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),b=h.soundEnabled&&!o,v=h.isMuted;function S(){if(b){if(v=!v,h.storageKey)try{localStorage.setItem(h.storageKey,String(v))}catch{}W.setMuted(v),dt.setMuted(v),tt.setMuted(v)}}let k=()=>String(document.documentElement?.lang||navigator.language||"en-US").trim()||"en-US",x=L=>String(L.audio?.narration?.language||k()||"en-US").trim()||"en-US",C=()=>String(O.language||x(i)||"en-US").trim()||"en-US",_=()=>String(O.language||i.audio?.narration?.language||ir?.language||k()||"en-US").trim()||"en-US",I=()=>O.voicePreference||i.audio?.narration?.voicePreference||"auto",M=(L,V)=>jy({lang:V?.language||L.audio?.narration?.language||k(),rate:L.audio?.narration?.rate,voiceURI:V?.voiceURI,voicePreference:V?.voicePreference||L.audio?.narration?.voicePreference}),G=L=>L.audio?.narration?.defaultMode!=="off",O=Ef({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:G(i),readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),Y=M(i,O),Z=!1,ae=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}}),H=O.supportedByConfig&&Y.isSupported(),X=H&&O.enabled,re=null;Y.setEnabled(X),e.onNarrationPreferenceChange?.(X,H,O.source,C());function oe(){O=Ef({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:G(i),readStored:V=>{try{return localStorage.getItem(V)}catch{return null}}});let L=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}});L!==ae&&(ae=L,ve(),Y.dispose(),Y=M(i,O),Z&&Y.unlock()),H=O.supportedByConfig&&Y.isSupported(),X=H&&O.enabled,X||Fe.cancel(),Y.setEnabled(X),dt?.setNarrationAvailable(H),dt?.setNarrationEnabled(X),re?.update(ce()),e.onNarrationPreferenceChange?.(X,H,O.source,C())}function pe(){H&&(Z=!0,Y.unlock())}function me(){if(H){if(X=!X,O.storageKey)try{localStorage.setItem(O.storageKey,_f({enabled:X,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}))}catch{}O={...O,enabled:X,source:"visitor"},Y.setEnabled(X),X&&pe(),dt.setNarrationEnabled(X),re?.update(ce()),e.onNarrationPreferenceChange?.(X,H,O.source,C())}}function Se(L){return{narrationEnabledForRun:H&&X,narrationPreferenceSource:O.source,...L==="guide"||L==="task"?{narrationRunKind:L}:{},narrationLanguage:C()}}let Fe=ov({isEnabled:()=>H&&X,speak:(L,V)=>Y.speak(L,V)});function Pe(L){Fe.scheduleEvent(L)}function ve(){Fe.cancel(),Y.cancel()}function B(){document.hidden&&ve()}try{document.addEventListener("visibilitychange",B)}catch{}let W=My({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:i,siteId:e.siteId,onClick:()=>mh()}),F=Uy({panelResizable:s,experience:i,agentName:t,onClose:na}),ee=!1;function ue(){ee=!ee,ee?(F.conversationDrawer.classList.add("open"),e.onOpenConversations?.()):F.conversationDrawer.classList.remove("open")}F.conversationDrawerCloseBtn.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open")}),F.conversationNewBtn.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open"),e.onNewTask?.()});function ce(){return{available:H,enabled:X,siteLanguage:x(i),effectiveLanguage:C(),language:O.language,voiceURI:O.voiceURI,voicePreference:I(),voices:Hy()}}function Me(L){if(!O.storageKey)return;let V={enabled:X,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference,...L};L.language===void 0&&Object.prototype.hasOwnProperty.call(L,"language")&&delete V.language,L.voiceURI===void 0&&Object.prototype.hasOwnProperty.call(L,"voiceURI")&&delete V.voiceURI,L.voicePreference===void 0&&Object.prototype.hasOwnProperty.call(L,"voicePreference")&&delete V.voicePreference;try{localStorage.setItem(O.storageKey,_f(V))}catch{}}function he(L){!H&&L.enabled!==!1||(Me(L),oe(),typeof L.enabled=="boolean"&&(X=H&&L.enabled,Y.setEnabled(X),dt?.setNarrationEnabled(X)),X&&pe(),re?.update(ce()))}function lt(){if(O.storageKey)try{localStorage.removeItem(O.storageKey)}catch{}oe()}function pt(){re&&(re.update(ce()),re.setOpen(!0))}function ot(){re?.setOpen(!1)}let He=!1,Ht=null,Ve=!1,dt=Ny({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:b,isMuted:v,allowNarrationToggle:H,narrationEnabled:X,onClose:na,onMinimize:()=>ta(),onCycleSize:()=>F.cyclePanelSize(),onNewTask:()=>{He&&e.onCancelRun?(Ht="new_task",ra({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{He&&e.onCancelRun?(Ht="end_task",ra({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:S,onToggleNarration:me,onOpenVoiceSettings:pt,onToggleConversations:ue});re=Wy({agentName:t,onChange:he,onReset:lt,onClose:ot}),re.update(ce()),re.setOpen(!1);let Ne=Ly({thoughtStyle:e.thoughtStyle,stream:i.stream}),Xe=By(t,a);function Dt(L){pe(),e.onShortcutClick?.(L)}let jt=e.shortcuts?.slice(0,12)||[];jt.length>0&&Xe.render(jt,Dt),Ne.feed.appendChild(Xe.emptyState);let wt=Vf({onSelect:L=>{pe(),e.onShortcutClick?.(L)},onClose:()=>{}});jt.length>0&&wt.setItems(jt);let tt=$y({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:v,onExpand:()=>{u.getState()==="window"?ta():fi()},onClose:()=>Su()}),en=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,tn=Wf({container:W.root,reducedMotion:So(),mobile:en(),color:i.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),an=Kf({container:f,panel:F.panel,resolveElement:e.resolveElement}),pn=tv({container:f,panel:F.panel,resolveElement:e.resolveElement,getLocalLogicalTabId:e.getLocalLogicalTabId,reducedMotion:So()}),Xn=Hf({onFrequencyData:L=>{let V=1+L*.08;W.root.style.setProperty("--rv-audio-scale",String(V))}}),Ce=0,gr=0;function Le(){let L=Ce>0?Math.min(1,gr/Ce)*100:0;F.panel.style.setProperty("--rv-tide-progress",`${L}%`)}let Ot=document.createElement("span");Ot.className="pulse-badge",Ot.style.display="none",Ot.textContent="0",W.root.appendChild(Ot);let Sn=!1;function Mt(){let V=u.getState()==="seed"&&He;V!==Sn&&(Sn=V,W.root.classList.toggle("pulse",Sn),i.motion?.particles!==!1&&tn.setMode(Sn?"pulse":"idle"),Ot.style.display=Sn?"flex":"none",tt.setRunning(He))}function gs(L,V){let Ee=document.createElement("div");Ee.className="tool-ripple",Ee.style.left=`${L}px`,Ee.style.top=`${V}px`,f.appendChild(Ee);try{let Re=Ee.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});Re.onfinish=()=>Ee.remove()}catch{setTimeout(()=>Ee.remove(),500)}}function bs(L){try{let V=L.actionCue;if(!V||V.targetLabel||!Js(L,e.getLocalLogicalTabId?.()))return L;let Ee=V.primaryElementId??L.elementId,Re=Ee!=null?e.resolveElement?.(Ee):null,We=Xf(Re);return We?{...L,actionCue:{...V,targetLabel:We}}:L}catch{return L}}let ir=Sf(e.voice),ut="idle",kn="",Fn="",br="",yr="",mo=!1,Nt=null,Ar=null,Jr=null,g=null,D=null,N=0,R=!1,T=!1,w=0,E=null,U=!1,J=!1,K="";function Q(){Ar&&(clearTimeout(Ar),Ar=null)}function ne(){Jr&&(clearTimeout(Jr),Jr=null)}function se(){g&&(clearTimeout(g),g=null)}function ke(){D&&(clearTimeout(D),D=null)}let Te=null,Ye=null;function De(){Te&&(clearTimeout(Te),Te=null),Ye&&(clearTimeout(Ye),Ye=null)}function Ae(){Fn="",br="",yr=""}function ze(){Q(),ne(),se(),ke(),N=0,R=!1,T=!1,w=0,E=null,U=!1,J=!1}function yt(){return my(Fn,br,yr)}function sn(){at.setText(yt())}function Ze(){return wf(ir?.autoStopMs)}function nt(){return N?Math.max(0,Date.now()-N):0}function et(L,V){e.onVoiceTelemetry?.(L,V)}function it(L){return{hadSpeech:R,restartCount:w,durationMs:nt(),autoStopMs:Ze(),...L||{}}}function St(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function _t(L){U||(et("voice_error",it({code:L.code,recoverable:L.recoverable})),U=!0),L.code==="permission_denied"&&et("voice_permission_denied",it({code:L.code}))}function ge(){let L=ir?.enabled===!0&&i.inputs?.voice!==!1,V=zn.isSupported();if(at.setVoiceVisible(L&&V),at.setVoiceActive(ut==="listening"),ut==="error"&&kn){at.setStatusMessage(kn,"error");return}if(ut==="listening"){at.setStatusMessage(R?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(L&&!V){at.setStatusMessage("Voice dictation is not available in this browser.");return}at.setStatusMessage("")}function ye(L){if(ut!=="listening"||R||Nt||w>=3)return!1;let V=nt();return V>=5e3||V>=6e4?!1:L?L.code==="no_speech"||L.code==="aborted"||L.code==="unknown":!0}function Oe(){if(ut!=="listening"||R||!N)return;ne();let L=5e3-nt();if(L<=0){let V=E?.code==="no_speech"?E:St();Nt="no_speech",ut="error",kn=V.message,_t(V),ge(),zn.stop();return}Jr=setTimeout(()=>{if(ut!=="listening"||R)return;let V=St();E=V,Nt="no_speech",ut="error",kn=V.message,_t(V),ge(),zn.stop()},L)}function ft(){if(ut!=="listening"||!N)return;se();let L=6e4-nt();if(L<=0){if(R)vr("silence");else{let V=St();E=V,Nt="no_speech",ut="error",kn=V.message,_t(V),ge(),zn.stop()}return}g=setTimeout(()=>{if(ut!=="listening")return;if(R){vr("silence");return}let V=St();E=V,Nt="no_speech",ut="error",kn=V.message,_t(V),ge(),zn.stop()},L)}function Tn(){ut!=="listening"||!R||T||(Q(),Ar=setTimeout(()=>{ut==="listening"&&vr("silence")},Ze()))}function xn(){ye(E)&&(ke(),w+=1,E=null,Oe(),ft(),D=setTimeout(()=>{D=null,!(ut!=="listening"||R||Nt)&&zn.start({language:_()})},160))}function vr(L,V){if(ut!=="listening"){V?.resetDraftBase&&(Ae(),ze());return}Q(),ne(),se(),ke(),Nt=L,zn.stop(),V?.resetDraftBase&&Ae()}function rl(){if(at.textarea.disabled||!ir?.enabled||!zn.isSupported()){ir?.enabled&&!zn.isSupported()&&(ut="error",kn="Voice dictation is not available in this browser.",ge());return}kn="",ut="listening",mo=!1,Nt=null,Fn=at.textarea.value,br="",yr="",ze(),N=Date.now(),J=!0,Oe(),ft(),ge(),zn.start({language:_()}),W.root.classList.add("voice-active"),Xn.start()}function ol(L){E=L,!(Nt&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"))&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"||(Q(),ne(),ke(),ut="error",kn=L.message,Nt="error",ge(),_t(L)))}let zn=jf({onStart:()=>{ut="listening",kn="",E=null,Oe(),ft(),J&&(et("voice_started",it({provider:"browser"})),J=!1),ge()},onSpeechStart:()=>{ut==="listening"&&(R=!0,T=!0,E=null,ne(),Q(),ge())},onSpeechEnd:()=>{ut==="listening"&&(T=!1,R&&Tn(),ge())},onResult:({finalTranscript:L,interimTranscript:V})=>{(L||V)&&(R=!0,T=V.length>0,E=null,ne(),Q()),br=L,yr=V,sn(),R&&!T&&Tn(),ge()},onEnd:({requested:L})=>{if(W.root.classList.remove("voice-active"),Xn.stop(),W.root.style.removeProperty("--rv-audio-scale"),ke(),!L&&ye(E)){xn();return}let V=Ue(yt()),Ee=Ue(Fn).length>0,Re=E,We=Nt||(L?"manual":"silence");if(Q(),ne(),se(),!R&&!L&&ut!=="error"){let rn=Re?.code==="no_speech"?Re:St();ut="error",kn=rn.message,Nt="no_speech",We="no_speech",_t(rn)}else!L&&!Nt&&R?We="silence":Nt&&(We=Nt);ut!=="error"&&(ut="idle",kn=""),V&&et("voice_transcript_ready",it({chars:V.length,hadExistingDraft:Ee})),et("voice_stopped",it({reason:We,stopReason:We,requested:L,errorCode:Re?.code}));let ht=mo;mo=!1,Nt=null,Ae(),ze(),ge(),ht&&mn()},onError:ol}),at=Oy({agentName:t,experience:i,onSubmit:(L,V)=>{if(!at.textarea.disabled){if(ut==="listening"){mo=!0,vr("submit");return}mn()}},onVoiceStart:()=>{if(pe(),ut==="listening"){vr("manual");return}rl()},onVoiceStop:()=>vr("manual")}),Rr=!1,y=!1,P=0,$="",q=null,te="Ready",de=!1,_e="controller",Be=!1,je=null,bt=null,mt={},Ct="";function mn(){if(at.textarea.disabled)return;let L=Ue(at.textarea.value),V=at.getPendingAttachments(),Ee=L||(V.length>0?"Use the attached files as context for this task.":"");Ee&&(pe(),ra({visible:!1}),$=L||(V.length>0?`Review ${V.length===1?V[0].name:`${V.length} attachments`}`:$),P=Date.now(),e.onSend(Ee,{...V.length>0?{attachments:V}:{},...Se()}),at.setText(""),at.clearAttachments(),kn="",ut="idle",Ae(),ze(),mo=!1,Nt=null,nn(),ge())}function nn(){let L=!!($||He);if(F.taskStage.style.display=L?"":"none",!L)return;F.taskStageTitle.textContent=Ws($,{maxLength:120,maxUrlLength:56})||`${i.presence?.assistantName||t} is working\u2026`;let V=[];P>0&&V.push($o(P)),te&&te.toLowerCase()!=="ready"&&V.push(te),F.taskStageMeta.textContent=V.join(" \u2022 "),F.taskStageStatusPill.textContent=He?"Active task":"Done",F.taskStageStatusPill.classList.toggle("running",He),F.taskStageStatusPill.classList.toggle("idle",!He)}function Hn(){if(F.artifactStageBody.innerHTML="",F.artifactStage.classList.toggle("visible",!!q),F.artifactStage.classList.toggle("expanded",y),F.artifactStageToggle.textContent=y?"Collapse":"Expand",!q){F.artifactStageBody.appendChild(F.artifactStageEmpty);return}let L=Gs(q);L?F.artifactStageBody.appendChild(L):F.artifactStageBody.appendChild(F.artifactStageEmpty)}function _n(L){if(!Array.isArray(L)||L.length===0)return;let V=L.find(Ee=>Ee.type==="tool_output"||Ee.type==="json")||null;V&&(q=V,i.stream?.artifactAutoMinimize!==!1&&(y=!1),Hn())}F.artifactStageToggle.addEventListener("click",()=>{y=!y,Hn()});function vt(){let L=u.getState(),V=F.panel.classList.contains("open")&&!F.panel.classList.contains("closing");L==="bar"?f.dataset.shell="bar":L==="window"?f.dataset.shell=He?"focus_stream":"stage":f.dataset.shell="presence";let Ee=V&&!He&&(i.shell?.dimBackground!==!1||i.shell?.blurBackground!==!1);F.backdrop.classList.toggle("visible",Ee)}function Pt(){Ne.showTyping(He&&de)}function Cr(){let L=He||_e==="observer"&&!Be;at.setDisabled(L),F.questionPromptCancel.disabled=L,F.questionPromptSubmit.disabled=L;for(let V of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))V.disabled=L;L&&ut==="listening"&&vr("disabled"),ge()}F.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if(Ht){let L=Ht;Ht=null,ra({visible:!1}),e.onCancelRun?.(),L==="new_task"?e.onNewTask?.():L==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),F.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if(Ht){Ht=null,ra({visible:!1});return}e.onTaskSuggestionSecondary?.()});function il(L){if(!L||!Array.isArray(L.questions))return[];let V=[],Ee=new Set;for(let Re=0;Re<L.questions.length;Re+=1){let We=L.questions[Re];if(!We||typeof We!="object")continue;let ht=String(We.key||We.id||"").trim()||`clarification_${Re+1}`,rn=String(We.query||We.question||"").trim();if(!rn||Ee.has(ht))continue;Ee.add(ht);let kt=typeof We.required=="boolean",on=typeof We.optional=="boolean",kr=kt?!!We.required:on?!We.optional:!0;V.push({key:ht,query:rn,...We.id?{id:We.id}:{},...We.question?{question:We.question}:{},...Array.isArray(We.choices)?{choices:We.choices}:{},required:kr})}return V.slice(0,6)}function o0(L){return L.map(V=>{let Ee=Array.isArray(V.choices)?V.choices.map(Re=>Ue(String(Re||""))).filter(Boolean).join("|"):"";return`${V.key}::${Ue(V.query)}::${Ee}::${V.required===!1?"optional":"required"}`}).join("||")}function i0(L){for(let V of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))if(V.dataset.key===L)return V;return null}F.questionPromptForm.addEventListener("submit",L=>{if(L.preventDefault(),at.textarea.disabled||!je?.questions?.length)return;let V={},Ee=[],Re=null;for(let kt of je.questions){let on=i0(kt.key);if(!on)continue;let kr=Ue(on.value);if(!kr&&kt.required!==!1){on.classList.add("invalid"),Re||(Re=on);continue}on.classList.remove("invalid"),kr?(mt[kt.key]=kr,V[kt.key]=kr,Ee.push(`${kt.key}: ${kr}`)):(delete mt[kt.key],Ee.push(`${kt.key}: (no answer provided)`))}if(Re){Re.focus();return}let We=je.questions.map(kt=>kt.key),ht=Ee.length?Ee.join(`
4365
+ `,document.head.appendChild(d);let m=document.createElement("style");m.textContent=av+sv+cv+lv+dv+uv+fv+pv+mv,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let u=xy("seed"),h=cy({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),b=h.soundEnabled&&!o,v=h.isMuted;function S(){if(b){if(v=!v,h.storageKey)try{localStorage.setItem(h.storageKey,String(v))}catch{}W.setMuted(v),dt.setMuted(v),tt.setMuted(v)}}let k=()=>String(document.documentElement?.lang||navigator.language||"en-US").trim()||"en-US",x=L=>String(L.audio?.narration?.language||k()||"en-US").trim()||"en-US",C=()=>String(O.language||x(i)||"en-US").trim()||"en-US",_=()=>String(O.language||i.audio?.narration?.language||ir?.language||k()||"en-US").trim()||"en-US",I=()=>O.voicePreference||i.audio?.narration?.voicePreference||"auto",M=(L,V)=>$y({lang:V?.language||L.audio?.narration?.language||k(),rate:L.audio?.narration?.rate,voiceURI:V?.voiceURI,voicePreference:V?.voicePreference||L.audio?.narration?.voicePreference}),G=L=>L.audio?.narration?.defaultMode!=="off",O=Af({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:G(i),readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),Y=M(i,O),Z=!1,ae=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}}),H=O.supportedByConfig&&Y.isSupported(),X=H&&O.enabled,re=null;Y.setEnabled(X),e.onNarrationPreferenceChange?.(X,H,O.source,C());function oe(){O=Af({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:G(i),readStored:V=>{try{return localStorage.getItem(V)}catch{return null}}});let L=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}});L!==ae&&(ae=L,ve(),Y.dispose(),Y=M(i,O),Z&&Y.unlock()),H=O.supportedByConfig&&Y.isSupported(),X=H&&O.enabled,X||Fe.cancel(),Y.setEnabled(X),dt?.setNarrationAvailable(H),dt?.setNarrationEnabled(X),re?.update(ce()),e.onNarrationPreferenceChange?.(X,H,O.source,C())}function pe(){H&&(Z=!0,Y.unlock())}function me(){if(H){if(X=!X,O.storageKey)try{localStorage.setItem(O.storageKey,If({enabled:X,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}))}catch{}O={...O,enabled:X,source:"visitor"},Y.setEnabled(X),X&&pe(),dt.setNarrationEnabled(X),re?.update(ce()),e.onNarrationPreferenceChange?.(X,H,O.source,C())}}function Se(L){return{narrationEnabledForRun:H&&X,narrationPreferenceSource:O.source,...L==="guide"||L==="task"?{narrationRunKind:L}:{},narrationLanguage:C()}}let Fe=iv({isEnabled:()=>H&&X,speak:(L,V)=>Y.speak(L,V)});function Pe(L){Fe.scheduleEvent(L)}function ve(){Fe.cancel(),Y.cancel()}function B(){document.hidden&&ve()}try{document.addEventListener("visibilitychange",B)}catch{}let W=Ny({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:i,siteId:e.siteId,onClick:()=>hh()}),F=Fy({panelResizable:s,experience:i,agentName:t,onClose:aa}),ee=!1;function ue(){ee=!ee,ee?(F.conversationDrawer.classList.add("open"),e.onOpenConversations?.()):F.conversationDrawer.classList.remove("open")}F.conversationDrawerCloseBtn.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open")}),F.conversationNewBtn.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open"),e.onNewTask?.()});function ce(){return{available:H,enabled:X,siteLanguage:x(i),effectiveLanguage:C(),language:O.language,voiceURI:O.voiceURI,voicePreference:I(),voices:jy()}}function Me(L){if(!O.storageKey)return;let V={enabled:X,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference,...L};L.language===void 0&&Object.prototype.hasOwnProperty.call(L,"language")&&delete V.language,L.voiceURI===void 0&&Object.prototype.hasOwnProperty.call(L,"voiceURI")&&delete V.voiceURI,L.voicePreference===void 0&&Object.prototype.hasOwnProperty.call(L,"voicePreference")&&delete V.voicePreference;try{localStorage.setItem(O.storageKey,If(V))}catch{}}function he(L){!H&&L.enabled!==!1||(Me(L),oe(),typeof L.enabled=="boolean"&&(X=H&&L.enabled,Y.setEnabled(X),dt?.setNarrationEnabled(X)),X&&pe(),re?.update(ce()))}function lt(){if(O.storageKey)try{localStorage.removeItem(O.storageKey)}catch{}oe()}function pt(){re&&(re.update(ce()),re.setOpen(!0))}function ot(){re?.setOpen(!1)}let He=!1,Ht=null,Ve=!1,dt=Ly({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:b,isMuted:v,allowNarrationToggle:H,narrationEnabled:X,onClose:aa,onMinimize:()=>ia(),onCycleSize:()=>F.cyclePanelSize(),onNewTask:()=>{He&&e.onCancelRun?(Ht="new_task",sa({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{He&&e.onCancelRun?(Ht="end_task",sa({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:S,onToggleNarration:me,onOpenVoiceSettings:pt,onToggleConversations:ue});re=Ky({agentName:t,onChange:he,onReset:lt,onClose:ot}),re.update(ce()),re.setOpen(!1);let Ne=Dy({thoughtStyle:e.thoughtStyle,stream:i.stream}),Xe=Uy(t,a);function Dt(L){pe(),e.onShortcutClick?.(L)}let jt=e.shortcuts?.slice(0,12)||[];jt.length>0&&Xe.render(jt,Dt),Ne.feed.appendChild(Xe.emptyState);let wt=Kf({onSelect:L=>{pe(),e.onShortcutClick?.(L)},onClose:()=>{}});jt.length>0&&wt.setItems(jt);let tt=qy({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:v,onExpand:()=>{u.getState()==="window"?ia():mi()},onClose:()=>_u()}),en=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,tn=Gf({container:W.root,reducedMotion:To(),mobile:en(),color:i.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),sn=Xf({container:f,panel:F.panel,resolveElement:e.resolveElement}),mn=nv({container:f,panel:F.panel,resolveElement:e.resolveElement,getLocalLogicalTabId:e.getLocalLogicalTabId,reducedMotion:To()}),Xn=$f({onFrequencyData:L=>{let V=1+L*.08;W.root.style.setProperty("--rv-audio-scale",String(V))}}),Ce=0,gr=0;function Le(){let L=Ce>0?Math.min(1,gr/Ce)*100:0;F.panel.style.setProperty("--rv-tide-progress",`${L}%`)}let Ot=document.createElement("span");Ot.className="pulse-badge",Ot.style.display="none",Ot.textContent="0",W.root.appendChild(Ot);let Sn=!1;function Mt(){let V=u.getState()==="seed"&&He;V!==Sn&&(Sn=V,W.root.classList.toggle("pulse",Sn),i.motion?.particles!==!1&&tn.setMode(Sn?"pulse":"idle"),Ot.style.display=Sn?"flex":"none",tt.setRunning(He))}function ys(L,V){let Ee=document.createElement("div");Ee.className="tool-ripple",Ee.style.left=`${L}px`,Ee.style.top=`${V}px`,f.appendChild(Ee);try{let Re=Ee.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});Re.onfinish=()=>Ee.remove()}catch{setTimeout(()=>Ee.remove(),500)}}function vs(L){try{let V=L.actionCue;if(!V||V.targetLabel||!Zs(L,e.getLocalLogicalTabId?.()))return L;let Ee=V.primaryElementId??L.elementId,Re=Ee!=null?e.resolveElement?.(Ee):null,We=Jf(Re);return We?{...L,actionCue:{...V,targetLabel:We}}:L}catch{return L}}let ir=_f(e.voice),ut="idle",xn="",Fn="",br="",yr="",ho=!1,Nt=null,Ar=null,Jr=null,g=null,D=null,N=0,R=!1,T=!1,w=0,E=null,U=!1,J=!1,K="";function Q(){Ar&&(clearTimeout(Ar),Ar=null)}function ne(){Jr&&(clearTimeout(Jr),Jr=null)}function se(){g&&(clearTimeout(g),g=null)}function ke(){D&&(clearTimeout(D),D=null)}let Te=null,Ye=null;function De(){Te&&(clearTimeout(Te),Te=null),Ye&&(clearTimeout(Ye),Ye=null)}function Ae(){Fn="",br="",yr=""}function ze(){Q(),ne(),se(),ke(),N=0,R=!1,T=!1,w=0,E=null,U=!1,J=!1}function yt(){return hy(Fn,br,yr)}function cn(){at.setText(yt())}function Ze(){return Tf(ir?.autoStopMs)}function nt(){return N?Math.max(0,Date.now()-N):0}function et(L,V){e.onVoiceTelemetry?.(L,V)}function it(L){return{hadSpeech:R,restartCount:w,durationMs:nt(),autoStopMs:Ze(),...L||{}}}function St(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function _t(L){U||(et("voice_error",it({code:L.code,recoverable:L.recoverable})),U=!0),L.code==="permission_denied"&&et("voice_permission_denied",it({code:L.code}))}function ge(){let L=ir?.enabled===!0&&i.inputs?.voice!==!1,V=zn.isSupported();if(at.setVoiceVisible(L&&V),at.setVoiceActive(ut==="listening"),ut==="error"&&xn){at.setStatusMessage(xn,"error");return}if(ut==="listening"){at.setStatusMessage(R?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(L&&!V){at.setStatusMessage("Voice dictation is not available in this browser.");return}at.setStatusMessage("")}function ye(L){if(ut!=="listening"||R||Nt||w>=3)return!1;let V=nt();return V>=5e3||V>=6e4?!1:L?L.code==="no_speech"||L.code==="aborted"||L.code==="unknown":!0}function Oe(){if(ut!=="listening"||R||!N)return;ne();let L=5e3-nt();if(L<=0){let V=E?.code==="no_speech"?E:St();Nt="no_speech",ut="error",xn=V.message,_t(V),ge(),zn.stop();return}Jr=setTimeout(()=>{if(ut!=="listening"||R)return;let V=St();E=V,Nt="no_speech",ut="error",xn=V.message,_t(V),ge(),zn.stop()},L)}function ft(){if(ut!=="listening"||!N)return;se();let L=6e4-nt();if(L<=0){if(R)vr("silence");else{let V=St();E=V,Nt="no_speech",ut="error",xn=V.message,_t(V),ge(),zn.stop()}return}g=setTimeout(()=>{if(ut!=="listening")return;if(R){vr("silence");return}let V=St();E=V,Nt="no_speech",ut="error",xn=V.message,_t(V),ge(),zn.stop()},L)}function Tn(){ut!=="listening"||!R||T||(Q(),Ar=setTimeout(()=>{ut==="listening"&&vr("silence")},Ze()))}function wn(){ye(E)&&(ke(),w+=1,E=null,Oe(),ft(),D=setTimeout(()=>{D=null,!(ut!=="listening"||R||Nt)&&zn.start({language:_()})},160))}function vr(L,V){if(ut!=="listening"){V?.resetDraftBase&&(Ae(),ze());return}Q(),ne(),se(),ke(),Nt=L,zn.stop(),V?.resetDraftBase&&Ae()}function il(){if(at.textarea.disabled||!ir?.enabled||!zn.isSupported()){ir?.enabled&&!zn.isSupported()&&(ut="error",xn="Voice dictation is not available in this browser.",ge());return}xn="",ut="listening",ho=!1,Nt=null,Fn=at.textarea.value,br="",yr="",ze(),N=Date.now(),J=!0,Oe(),ft(),ge(),zn.start({language:_()}),W.root.classList.add("voice-active"),Xn.start()}function al(L){E=L,!(Nt&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"))&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"||(Q(),ne(),ke(),ut="error",xn=L.message,Nt="error",ge(),_t(L)))}let zn=qf({onStart:()=>{ut="listening",xn="",E=null,Oe(),ft(),J&&(et("voice_started",it({provider:"browser"})),J=!1),ge()},onSpeechStart:()=>{ut==="listening"&&(R=!0,T=!0,E=null,ne(),Q(),ge())},onSpeechEnd:()=>{ut==="listening"&&(T=!1,R&&Tn(),ge())},onResult:({finalTranscript:L,interimTranscript:V})=>{(L||V)&&(R=!0,T=V.length>0,E=null,ne(),Q()),br=L,yr=V,cn(),R&&!T&&Tn(),ge()},onEnd:({requested:L})=>{if(W.root.classList.remove("voice-active"),Xn.stop(),W.root.style.removeProperty("--rv-audio-scale"),ke(),!L&&ye(E)){wn();return}let V=Ue(yt()),Ee=Ue(Fn).length>0,Re=E,We=Nt||(L?"manual":"silence");if(Q(),ne(),se(),!R&&!L&&ut!=="error"){let rn=Re?.code==="no_speech"?Re:St();ut="error",xn=rn.message,Nt="no_speech",We="no_speech",_t(rn)}else!L&&!Nt&&R?We="silence":Nt&&(We=Nt);ut!=="error"&&(ut="idle",xn=""),V&&et("voice_transcript_ready",it({chars:V.length,hadExistingDraft:Ee})),et("voice_stopped",it({reason:We,stopReason:We,requested:L,errorCode:Re?.code}));let ht=ho;ho=!1,Nt=null,Ae(),ze(),ge(),ht&&hn()},onError:al}),at=By({agentName:t,experience:i,onSubmit:(L,V)=>{if(!at.textarea.disabled){if(ut==="listening"){ho=!0,vr("submit");return}hn()}},onVoiceStart:()=>{if(pe(),ut==="listening"){vr("manual");return}il()},onVoiceStop:()=>vr("manual")}),Rr=!1,y=!1,P=0,$="",q=null,te="Ready",de=!1,_e="controller",Be=!1,je=null,bt=null,mt={},Ct="";function hn(){if(at.textarea.disabled)return;let L=Ue(at.textarea.value),V=at.getPendingAttachments(),Ee=L||(V.length>0?"Use the attached files as context for this task.":"");Ee&&(pe(),sa({visible:!1}),$=L||(V.length>0?`Review ${V.length===1?V[0].name:`${V.length} attachments`}`:$),P=Date.now(),e.onSend(Ee,{...V.length>0?{attachments:V}:{},...Se()}),at.setText(""),at.clearAttachments(),xn="",ut="idle",Ae(),ze(),ho=!1,Nt=null,nn(),ge())}function nn(){let L=!!($||He);if(F.taskStage.style.display=L?"":"none",!L)return;F.taskStageTitle.textContent=Gs($,{maxLength:120,maxUrlLength:56})||`${i.presence?.assistantName||t} is working\u2026`;let V=[];P>0&&V.push(qo(P)),te&&te.toLowerCase()!=="ready"&&V.push(te),F.taskStageMeta.textContent=V.join(" \u2022 "),F.taskStageStatusPill.textContent=He?"Active task":"Done",F.taskStageStatusPill.classList.toggle("running",He),F.taskStageStatusPill.classList.toggle("idle",!He)}function Hn(){if(F.artifactStageBody.innerHTML="",F.artifactStage.classList.toggle("visible",!!q),F.artifactStage.classList.toggle("expanded",y),F.artifactStageToggle.textContent=y?"Collapse":"Expand",!q){F.artifactStageBody.appendChild(F.artifactStageEmpty);return}let L=Ys(q);L?F.artifactStageBody.appendChild(L):F.artifactStageBody.appendChild(F.artifactStageEmpty)}function _n(L){if(!Array.isArray(L)||L.length===0)return;let V=L.find(Ee=>Ee.type==="tool_output"||Ee.type==="json")||null;V&&(q=V,i.stream?.artifactAutoMinimize!==!1&&(y=!1),Hn())}F.artifactStageToggle.addEventListener("click",()=>{y=!y,Hn()});function vt(){let L=u.getState(),V=F.panel.classList.contains("open")&&!F.panel.classList.contains("closing");L==="bar"?f.dataset.shell="bar":L==="window"?f.dataset.shell=He?"focus_stream":"stage":f.dataset.shell="presence";let Ee=V&&!He&&(i.shell?.dimBackground!==!1||i.shell?.blurBackground!==!1);F.backdrop.classList.toggle("visible",Ee)}function Pt(){Ne.showTyping(He&&de)}function Cr(){let L=He||_e==="observer"&&!Be;at.setDisabled(L),F.questionPromptCancel.disabled=L,F.questionPromptSubmit.disabled=L;for(let V of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))V.disabled=L;L&&ut==="listening"&&vr("disabled"),ge()}F.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if(Ht){let L=Ht;Ht=null,sa({visible:!1}),e.onCancelRun?.(),L==="new_task"?e.onNewTask?.():L==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),F.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if(Ht){Ht=null,sa({visible:!1});return}e.onTaskSuggestionSecondary?.()});function sl(L){if(!L||!Array.isArray(L.questions))return[];let V=[],Ee=new Set;for(let Re=0;Re<L.questions.length;Re+=1){let We=L.questions[Re];if(!We||typeof We!="object")continue;let ht=String(We.key||We.id||"").trim()||`clarification_${Re+1}`,rn=String(We.query||We.question||"").trim();if(!rn||Ee.has(ht))continue;Ee.add(ht);let kt=typeof We.required=="boolean",on=typeof We.optional=="boolean",kr=kt?!!We.required:on?!We.optional:!0;V.push({key:ht,query:rn,...We.id?{id:We.id}:{},...We.question?{question:We.question}:{},...Array.isArray(We.choices)?{choices:We.choices}:{},required:kr})}return V.slice(0,6)}function i0(L){return L.map(V=>{let Ee=Array.isArray(V.choices)?V.choices.map(Re=>Ue(String(Re||""))).filter(Boolean).join("|"):"";return`${V.key}::${Ue(V.query)}::${Ee}::${V.required===!1?"optional":"required"}`}).join("||")}function a0(L){for(let V of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))if(V.dataset.key===L)return V;return null}F.questionPromptForm.addEventListener("submit",L=>{if(L.preventDefault(),at.textarea.disabled||!je?.questions?.length)return;let V={},Ee=[],Re=null;for(let kt of je.questions){let on=a0(kt.key);if(!on)continue;let kr=Ue(on.value);if(!kr&&kt.required!==!1){on.classList.add("invalid"),Re||(Re=on);continue}on.classList.remove("invalid"),kr?(mt[kt.key]=kr,V[kt.key]=kr,Ee.push(`${kt.key}: ${kr}`)):(delete mt[kt.key],Ee.push(`${kt.key}: (no answer provided)`))}if(Re){Re.focus();return}let We=je.questions.map(kt=>kt.key),ht=Ee.length?Ee.join(`
4366
4366
  `):We.map(kt=>`${kt}: (no answer provided)`).join(`
4367
- `),rn=at.getPendingAttachments();e.onSend(ht,{askUserAnswers:{answersByKey:V,rawText:ht,keys:We},attachments:rn.length?rn:void 0,...Se()}),at.clearAttachments()}),F.questionPromptCancel.addEventListener("click",()=>{if(!at.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),F.panel.appendChild(F.panelGrabber),F.panel.appendChild(dt.root),F.panel.appendChild(F.taskStage),F.panel.appendChild(F.artifactStage),F.panel.appendChild(F.conversationPill),F.panel.appendChild(F.pausedTaskBanner),F.panel.appendChild(Ne.root),F.panel.appendChild(F.taskSuggestion),F.panel.appendChild(Xe.bar),F.panel.appendChild(F.questionPrompt),F.panel.appendChild(F.resizeHandle),F.panel.appendChild(F.conversationDrawer),tt.composerSlot.appendChild(at.root);let Mr=Gy({thoughtStyle:e.thoughtStyle,stream:i.stream});Mr.setOnExpand(()=>{Mr.hide(),u.getState()==="bar"&&fi(),Ne.setTraceExpanded(!0,i.stream?.maxVisibleLiveCards)}),f.appendChild(F.backdrop),f.appendChild(W.root),f.appendChild(W.greetingBubble),f.appendChild(F.panel),f.appendChild(Mr.root),f.appendChild(tt.root),f.appendChild(wt.root),re&&f.appendChild(re.root),l.appendChild(f),l.addEventListener("keydown",L=>{let V=L;if(V.key==="Escape"){if(V.stopPropagation(),wt.isOpen()){wt.close();return}if(F.panel.classList.contains("open")){ta();return}if(u.getState()==="bar"){Su();return}}});let fh=L=>{if((L.metaKey||L.ctrlKey)&&L.code==="KeyK"){L.preventDefault(),L.stopPropagation(),wt.isOpen()?wt.close():wt.open();return}L.code==="Period"&&L.shiftKey&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),L.stopPropagation(),F.panel.classList.contains("open")?na():Tu())};document.addEventListener("keydown",fh);let Oo=()=>{F.applyLayout(),W.applyPosition()};window.addEventListener("resize",Oo),window.addEventListener("orientationchange",Oo),window.visualViewport?.addEventListener("resize",Oo),window.visualViewport?.addEventListener("scroll",Oo),F.applyLayout(),W.applyPosition(),W.setMuted(v),dt.setMuted(v),tt.setMuted(v),gh("controller"),vh(ir),Ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),Hn(),nn();function ph(){let L=ny(i.theme?.accentColor||"#FF4C00");for(let[Ee,Re]of Object.entries(L))f.style.setProperty(Ee,Re);let V=ry(i.motion?.actionSpotlightColor,i.theme?.accentColor);for(let[Ee,Re]of Object.entries(V))f.style.setProperty(Ee,Re)}ph();function ta(){if(Ve=!0,u.getState()!=="window")return;dt.closeOverflow(),i.shell?.transitionStyle!=="crossfade"&&!So()?(F.backdrop.classList.remove("visible"),F.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:Xs(250,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",vt()}).catch(()=>{})):(F.panel.classList.remove("open"),F.panel.style.display="none",F.backdrop.classList.remove("visible"),vt()),u.setState("bar"),tt.setExpanded(!1),Mt(),He&&Mr.show()}function fi(){if(u.getState()!=="bar")return;F.applyLayout(),F.panel.style.transition="",i.shell?.transitionStyle!=="crossfade"&&!So()?(F.backdrop.classList.add("visible"),F.panel.style.animation="none",F.panel.style.opacity="0",F.panel.style.display="flex",F.panel.classList.add("open"),F.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:Xs(320,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{F.panel.style.transform="",F.panel.style.filter="",F.panel.style.opacity="",vt(),at.textarea.disabled||at.textarea.focus()}).catch(()=>{})):(F.panel.classList.add("open"),F.panel.style.display="flex",F.backdrop.classList.add("visible"),vt(),at.textarea.disabled||at.textarea.focus()),u.setState("window"),tt.setExpanded(!0),Mt(),e.onOpen?.()}function Su(){ve(),Ve=!1;let L=u.getState();if(L==="window")dt.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),tt.setExpanded(!1),Mt();else if(L!=="bar")return;u.setState("seed"),u.setMood("idle"),Mt(),!So()?(wy({seed:W.root,bar:tt.root,duration:Xs(280,i.motion?.intensity||"balanced")}),vt()):(tt.hide(),vt()),e.onClose?.()}function mh(){if(u.getState()!=="seed")return;pe(),wt.isOpen()&&wt.close(),W.setGreeting(null),De(),u.setState("bar"),Mt(),!So()?xy({seed:W.root,bar:tt.root,duration:Xs(300,i.motion?.intensity||"balanced")}).then(()=>{vt(),Ve||fi()}):(tt.show(),vt(),Ve||fi())}function Tu(){if(wt.isOpen()&&wt.close(),u.getState()==="bar"){fi();return}if(u.getState()==="seed"){mh();return}}function na(){if(ve(),u.getState()==="bar"){Su();return}if(dt.closeOverflow(),!F.panel.classList.contains("open")){e.onClose?.();return}ta()}function a0(L,V,Ee){Ne.addMessage(L,V,Ee?.blocks),L==="assistant"&&He&&de&&(de=!1,Pt()),L==="user"&&($=Ue(V)||$,P=Date.now(),y=!1),L==="assistant"&&_n(Ee?.blocks),Rr=!0,nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length),L==="user"?u.setMood("typing",1200):L==="assistant"?u.setMood("success",1400):u.setMood("running",900),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running")}function hh(L){let V=il(L);if(!V.length){je=null,bt=null,mt={},F.questionPromptList.innerHTML="",F.questionPrompt.classList.remove("visible"),Xe.syncVisibility(Rr,He,!1);return}let Ee=o0(V),Re=Ee!==bt||!je;if(je={questions:V},Re){let We=mt;mt={},F.questionPromptList.innerHTML="";for(let ht of V){let rn=document.createElement("label");rn.className="questionPromptItem";let kt=document.createElement("span");kt.className="questionPromptLabel",kt.textContent=ht.required===!1?`${ht.query} (optional)`:ht.query,rn.appendChild(kt);let on=document.createElement("input");on.type="text",on.className="questionPromptInput",on.dataset.key=ht.key,on.required=ht.required!==!1;let kr=String(We[ht.key]||"");mt[ht.key]=kr,on.value=kr,on.addEventListener("input",()=>{mt[ht.key]=on.value,on.classList.remove("invalid")}),rn.appendChild(on),F.questionPromptList.appendChild(rn)}bt=Ee}F.questionPrompt.classList.add("visible"),Cr(),Xe.syncVisibility(Rr,He,!0)}function s0(){Ne.clearMessages(),Rr=!1,$="",P=0,q=null,y=!1,at.clearAttachments(),Hn(),nn(),hh(void 0),Xe.syncVisibility(!1,He,!1)}function ra(L){F.taskSuggestion.classList.toggle("visible",!!L?.visible),F.taskSuggestionTextEl.textContent=L?.text||"Looks like a new request. Start a new task?",F.taskSuggestionPrimaryBtn.textContent=L?.primaryLabel||"Start new",F.taskSuggestionSecondaryBtn.textContent=L?.secondaryLabel||"Continue"}function c0(L){let V=String(L||"ready");dt.setStatus(V),te=V;let Ee=V.toLowerCase(),Re=u.getMood();if(Ee.includes("error")||Ee.includes("failed")){if(u.setMood("error",1800),Re!=="error"){try{W.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}W.root.classList.add("error-wobble"),setTimeout(()=>W.root.classList.remove("error-wobble"),850)}}else Ee.includes("waiting")||Ee.includes("queued")||Ee.includes("paused")?u.setMood("waiting",0):Ee==="ready"||Ee.includes("complete")?u.setMood("idle"):u.setMood("running",1e3);f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running"),nn()}function l0(L){let V=He;if(He=L,L)de=!0,P||(P=Date.now()),Ce=0,gr=0,Le(),i.motion?.particles!==!1&&tn.setMode("ambient"),u.getState()==="window"&&(dt.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),tt.setExpanded(!1)),Mr.show(),tt.setRunning(!0),at.setSendAsStop(!0,()=>{e.onCancelRun?.()});else{Mr.hide(),tt.setRunning(!1),at.setSendAsStop(!1,()=>{}),ve(),de=!1,an.clearAll();try{pn.clearAll()}catch{}if(V&&u.getState()!=="window"&&fi(),setTimeout(()=>Ne.smartScrollToBottom(),80),V&&u.getMood()!=="error"){i.motion?.particles!==!1&&tn.setMode("burst");try{W.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}W.root.classList.add("completion-burst"),setTimeout(()=>{W.root.classList.remove("completion-burst"),Mt()},700)}else i.motion?.particles!==!1&&tn.setMode("idle")}i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",L&&u.getMood()==="running"),Pt(),Cr(),dt.setRunning(L),!L&&i.stream?.artifactAutoMinimize!==!1&&(y=!1,Hn()),nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length),vt(),V&&!L&&u.getMood()!=="error"||Mt()}function gh(L,V){_e=L,Be=L==="observer"?V?.canComposeInObserver===!0:!0,Cr(),dt.setExecutionMode(L,V),L==="controller"?at.setStaticPlaceholder(""):V?.note?at.setStaticPlaceholder(V.note):Be?at.setStaticPlaceholder("Send to take control and run here."):at.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function bh(L){let V=Ue(L);V&&!F.panel.classList.contains("open")&&W.setGreeting(V)}function yh(){W.setGreeting(null)}function d0(L){a=L||void 0,Xe.setVisitorName(a,t)}function vh(L){let V=Sf(L),Ee=JSON.stringify(ir||null),Re=JSON.stringify(V||null);if(Ee===Re){ge();return}ir=V,kn="",mo=!1,ut==="listening"?vr("config"):(Ae(),ze(),ut="idle"),ge()}function u0(L){if(i=Tf({...e,experience:L},t,o),W.update(i),at.update(i),Ne.setStreamConfig(i.stream),Mr.setStreamConfig(i.stream),Ne.setThoughtStyle(e.thoughtStyle),Mr.setThoughtStyle(e.thoughtStyle),ph(),i.theme?.fontFamily&&f.style.setProperty("font-family",`${i.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=i.theme?.surfaceStyle||"glass",i.motion?.particles===!1&&tn.setMode("idle"),i.motion?.filaments===!1&&an.clearAll(),i.motion?.actionSpotlight===!1)try{pn.clearAll()}catch{}i.motion?.palimpsest===!1&&F.backdrop.classList.remove("palimpsest"),oe(),nn(),Hn(),W.applyPosition()}function f0(){F.applyLayout(),f.style.display="",W.applyPosition(),vt()}function p0(){ve(),na(),f.style.display="none",vt()}function m0(){u.destroy(),De(),Q(),zn.dispose(),wt.destroy(),tt.destroy(),Mr.destroy(),tn.destroy(),an.destroy();try{pn.destroy()}catch{}Fe.dispose(),Y.dispose(),Xn.dispose(),window.removeEventListener("resize",Oo),window.removeEventListener("orientationchange",Oo),window.visualViewport?.removeEventListener("resize",Oo),window.visualViewport?.removeEventListener("scroll",Oo);try{document.removeEventListener("visibilitychange",B)}catch{}document.removeEventListener("keydown",fh),d.remove(),c.remove()}function h0(L){}let kh="";function g0(L){let V=L.map(Re=>`${Re.id}|${Re.summary}|${Re.status}|${Re.updatedAt}|${Re.isActive}`).join(";;");if(V===kh)return;kh=V;let Ee=L.find(Re=>Re.isActive);if(F.conversationPillLabel.textContent=Ee&&Ws(Ee.summary,{maxLength:44,maxUrlLength:32})||"Current task",F.conversationPill.style.display="flex",F.conversationList.innerHTML="",!L.length){let Re=document.createElement("div");Re.className="conversationEmpty",Re.textContent="No previous chats yet.",F.conversationList.appendChild(Re);return}for(let Re of L){let We=document.createElement("div");We.className=`conversationItem ${Re.status}${Re.isActive?" active":""}`,We.dataset.id=Re.id;let ht=document.createElement("span");ht.className="conversationDot";let rn=document.createElement("div");rn.className="conversationContent";let kt=document.createElement("div");kt.className="conversationSummary",kt.textContent=Ws(Re.summary,{maxLength:64,maxUrlLength:36})||"Task";let on=document.createElement("div");on.className="conversationMeta";let kr=Re.status==="running"?"Running":Re.status==="paused"?"Paused":Re.status==="completed"?"Done":Re.status;on.textContent=`${kr} \xB7 ${$o(Re.updatedAt)}`,rn.appendChild(kt),rn.appendChild(on);let _u=document.createElement("div");_u.className="conversationActions";let ys=document.createElement("button");ys.type="button",ys.className="conversationDeleteBtn",ys.textContent="\xD7",ys.addEventListener("click",k0=>{k0.stopPropagation(),e.onDeleteConversation?.(Re.id)}),_u.appendChild(ys),We.appendChild(ht),We.appendChild(rn),We.appendChild(_u),We.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(Re.id)}),F.conversationList.appendChild(We)}}function b0(L){F.conversationList.querySelectorAll(".conversationItem").forEach(V=>{V.dataset.id===L?V.classList.add("active"):V.classList.remove("active")})}function y0(L){Ct=L.taskId;let V=Ws(L.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";F.pausedTaskBanner.innerHTML="";let Ee=document.createElement("span");Ee.className="pausedTaskText",Ee.textContent=`Paused: "${V}"`;let Re=document.createElement("div");Re.className="pausedTaskActions";let We=document.createElement("button");We.type="button",We.className="pausedTaskResumeBtn",We.textContent="Resume",We.addEventListener("click",()=>e.onResumeTask?.(Ct));let ht=document.createElement("button");ht.type="button",ht.className="pausedTaskCancelBtn",ht.textContent="Cancel",ht.addEventListener("click",()=>e.onCancelPausedTask?.(Ct)),Re.appendChild(We),Re.appendChild(ht),F.pausedTaskBanner.appendChild(Ee),F.pausedTaskBanner.appendChild(Re),F.pausedTaskBanner.classList.add("visible")}function v0(){Ct="",F.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let L=e.greeting.delay??800;Te=setTimeout(()=>{Te=null,F.panel.classList.contains("open")||(bh(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(Ye=setTimeout(()=>{Ye=null,yh()},e.greeting.duration)))},L)}return{addMessage:a0,setTranscript:(L,V)=>{Ne.setTranscript(L,V.map(bs)),Rr=L.length>0||V.length>0;let Ee=[...L].reverse().find(Re=>Re.role==="user");$=Ee?Ue(Ee.text):"",nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length)},setQuestionPrompt:hh,clearMessages:s0,addTimelineEvent:L=>{let V=bs(L);Ne.addTimelineEvent(V),Mr.addTimelineEvent(V),_n(V.detailBlocks);let Ee=!0;if(V.kind==="thought"&&He&&de&&(de=!1,Pt()),(V.title||"").toLowerCase()==="run completed"){Ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards);try{pn.clearAll()}catch{}ve(),Ee=!1}let Re=V.status||(V.kind==="error"?"error":V.kind==="tool_result"?"success":"pending");if(Re==="error"?u.setMood("error",2200):Re==="success"?u.setMood("success",1200):u.setMood("running",800),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running"),nn(),V.kind==="tool_start"){Ce++,Le();let ht=!0;try{ht=Js(V,e.getLocalLogicalTabId?.())}catch{ht=!1}if(ht&&i.motion?.actionSpotlight!==!1)try{pn.addEvent(V)}catch{}if(Pe(V),Ee=!1,ht&&V.elementId!=null&&i.motion?.filaments!==!1)try{an.addTarget(V.elementId,V.toolName);let rn=e.resolveElement?.(V.elementId);if(rn){let kt=rn.getBoundingClientRect();So()||gs(kt.left+kt.width/2,kt.top+kt.height/2),f.style.setProperty("--rv-palimpsest-x",`${kt.left+kt.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${kt.top+kt.height/2}px`)}else{let kt=F.panel.getBoundingClientRect();So()||gs(kt.left,kt.top+kt.height/2)}}catch{}}if(V.kind==="tool_result"){gr++,Le();let ht=!0;try{ht=Js(V,e.getLocalLogicalTabId?.())}catch{ht=!1}if(ht)try{pn.fadeEvent(V)}catch{}if(ht&&V.elementId!=null)try{an.fadeTarget(V.elementId)}catch{}}Ee&&Pe(V);let We=Ne.traceOrder.length;Ot.textContent=String(We),Mt()},clearTimeline:()=>{ve(),Ne.clearTimeline(),Mr.clear(),q=null,y=!1,Hn(),nn(),Ce=0,gr=0,Le(),an.clearAll();try{pn.clearAll()}catch{}Ot.textContent="0"},setTaskSuggestion:ra,setStatus:c0,setRunning:l0,setExecutionMode:gh,setShortcuts:L=>{Xe.render(L,Dt),Xe.syncVisibility(Rr,He,!!je?.questions?.length),wt.setItems(L)},showGreeting:bh,dismissGreeting:yh,setVisitorName:d0,setVoiceConfig:vh,setPlaceholders:L=>{at.setPlaceholders(L)},setExperience:u0,open:Tu,close:na,minimize:ta,maximize:fi,show:f0,hide:p0,destroy:m0,setState:L=>{L==="window"?Tu():L==="bar"?ta():na()},getState:()=>u.getState(),setTabs:h0,setConversations:g0,setActiveConversationId:b0,getScrollPosition:()=>Ne.getScrollPosition(),setScrollPosition:L=>Ne.setScrollPosition(L),showPausedTaskBanner:y0,hidePausedTaskBanner:v0}}var vv=3,BE="rover:shared:",UE="rover:channel:",np=2*6e4,bv=9e4,rp=45e3,op=2e4,FE=45e3;function we(){return Date.now()}function to(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function id(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function kv(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||we(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function xv(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function sd(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Qs(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||we(),runId:o,taskId:i,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function wv(e){return Array.isArray(e)?e.slice(-Vt.uiMessages).map(t=>({id:String(t?.id||to("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:Ea(t?.blocks),ts:Number(t?.ts)||we(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}var zE=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function HE(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function ap(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!zE.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=HE(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?t.toolCallId.trim().slice(0,128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?t.targetLabel.trim().slice(0,64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Sv(e){return Array.isArray(e)?e.slice(-Vt.timelineEvents).map(t=>({id:String(t?.id||to("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:Ea(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||we(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(t?.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t?.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t?.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t?.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t?.responseKind==="checkpoint"||t?.responseKind==="final"||t?.responseKind==="question"||t?.responseKind==="error"?t.responseKind:void 0,actionCue:ap(t?.actionCue)})).filter(t=>!!t.title):[]}var jE=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function $E(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=jE.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||we(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||we(),updatedAt:Number(e.activeRun.updatedAt)||we()}:void 0,workerContext:cd(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-Vt.uiMessages).map(r=>({id:String(r?.id||to("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:Ea(r?.blocks),ts:Number(r?.ts)||we(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-Vt.timelineEvents).map(r=>({id:String(r?.id||to("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:Ea(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||we(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(r?.elementId))?Math.trunc(Number(r.elementId)):void 0,toolName:typeof r?.toolName=="string"?r.toolName.slice(0,120):void 0,actionCue:ap(r?.actionCue)})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:sd(e.seedChatLog),transientStatus:Qs(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function qE(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=$E(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function Tv(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function Ea(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=Tv(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function yv(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=Tv(o);i!==void 0&&r.push(i)}return r}function cd(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-Vt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),i=Array.isArray(e.history)?o(e.history):[],a=yv(e.plannerHistory,Vt.plannerHistory),s=yv(e.agentPrevSteps,Vt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:sd(e.seedChatLog),history:i,plannerHistory:a,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||we(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||we()}}function ip(e,t){return{version:vv,siteId:e,sessionId:t,seq:1,updatedAt:we(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function _a(e,t,n){let r=ip(t,n);if(!e||typeof e!="object")return r;let o={...r,version:vv,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||we(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||we(),updatedAt:Number(s?.updatedAt)||we(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:wv(e.uiMessages),timeline:Sv(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:kv(e.task),workerContext:cd(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:Qs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||we(),updatedAt:Number(e.activeRun.updatedAt)||we()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||we()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||we(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?qE(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},i=o.tabs.length,a=new Set;return o.tabs=o.tabs.filter(s=>a.has(s.logicalTabId)?!1:(a.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),i>0&&o.tabs.length<i&&console.warn(`[rover] sanitizeSharedState: dropped ${i-o.tabs.length} invalid/duplicate tab entries`),Zn(o),o}function VE(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||we();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:xv(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:sd(e.workerContext?.seedChatLog),transientStatus:Qs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function Zn(e){let t=VE(e);if(!t)return;t.state=xv(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||we(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=cd(e.workerContext),t.uiMessages=wv(e.uiMessages),t.timeline=Sv(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=sd(e.workerContext?.seedChatLog),t.transientStatus=Qs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var ad=class e{siteId;sessionId;runtimeId;leaseMs;workflowLockMs;heartbeatMs;maxMessages;maxTimeline;onRoleChange;onStateChange;onSwitchRequested;onTaskTabsExhausted;key;channelName;state;taskTabMapping=new Map;channel=null;heartbeatTimer=null;storageHandler=null;localLogicalTabId;closing=!1;started=!1;heartbeatCount=0;lastNotifiedStateHash="";static LS_HEARTBEAT_DIVISOR=5;pendingRpcRequests=new Map;rpcRequestHandler;lastNotifiedRole;roleChangeTimer=null;probeTimers=[];static ROLE_CHANGE_DEBOUNCE_MS=200;onSessionTokenReceived;onProjectionReceived;tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=FE:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=np:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=op:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=rp:n-this.tabFreshnessTs(t)<=bv}normalizeDraftTabs(t){let n=new Map;for(let u of t.tabs){if(!Number.isFinite(Number(u.logicalTabId))||Number(u.logicalTabId)<=0)continue;let h=n.get(u.logicalTabId);this.isBetterTabCandidate(u,h)&&n.set(u.logicalTabId,u)}let r=[],o=new Set;for(let u of t.tabs){if(o.has(u.logicalTabId))continue;let h=n.get(u.logicalTabId);h&&h===u&&(r.push(h),o.add(h.logicalTabId))}for(let[u,h]of n.entries())o.has(u)||(r.push(h),o.add(u));let i=new Map;for(let u of r){if(!u.runtimeId)continue;let h=i.get(u.runtimeId);this.isBetterTabCandidate(u,h)&&i.set(u.runtimeId,u)}if(t.tabs=r.filter(u=>!u.runtimeId||i.get(u.runtimeId)===u).sort((u,h)=>u.logicalTabId-h.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let a=we(),s=t.activeLogicalTabId?t.tabs.find(u=>u.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(u=>u.runtimeId===this.runtimeId),d=[...t.tabs.filter(u=>this.isRuntimeTabFresh(u,a))].sort((u,h)=>this.tabFreshnessTs(h)-this.tabFreshnessTs(u))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,a))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((u,h)=>Math.max(u,h.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,i=!!n?.keepOnlyActiveLiveTab,a=!!n?.keepRecentExternalPlaceholders,s=we(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=np;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=rp:l.detachedReason==="opened_pending_attach"?d<=op:d<=bv}),i){this.normalizeDraftTabs(t);let l=t.tabs.filter(h=>this.isRuntimeTabFresh(h,s)),d=l.find(h=>h.logicalTabId===t.activeLogicalTabId),m=l.find(h=>h.runtimeId===this.runtimeId),f=[...l].sort((h,b)=>this.tabFreshnessTs(b)-this.tabFreshnessTs(h))[0],u=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(h=>h.runtimeId?!!u&&h.logicalTabId===u:h.external?a&&s-this.tabFreshnessTs(h)<=np:!1),t.activeLogicalTabId=u||t.tabs.find(h=>h.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let u of m)if(l.has(u)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=we(),i=id(n),a=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(a?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:i||a?.url||"",title:r||a?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}constructor(t){this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||Vt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||Vt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${BE}${this.siteId}:${this.sessionId}`,this.channelName=`${UE}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=_a(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=_a(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=we()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=kv(t)||r.task,Zn(r))})}hydrateExternalState(t){let n=_a(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let i=this.state.seq!==r||this.state.updatedAt!==o;if(!i&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),i=this.state.tabs.length!==s}return i?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=we();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||we(),r={taskId:String(t.taskId||to("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),Zn(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:we()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,Zn(r),n=r.task)}),n}markTaskActivity(t,n=we()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:to("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),Zn(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,Zn(n);return}n.workerContext=cd(t),Zn(n)})}setStatus(t){this.mutate("local",n=>{let r=Qs(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,Zn(n)})}appendMessage(t){let n={id:t.id||to("msg"),role:t.role,text:String(t.text||""),blocks:Ea(t.blocks),ts:Number(t.ts)||we(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:to("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),Zn(r)}),n}appendTimeline(t){let n={id:t.id||to("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:Ea(t.detailBlocks),status:t.status,ts:Number(t.ts)||we(),sourceRuntimeId:this.runtimeId,elementId:Number.isFinite(Number(t.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t.responseKind==="checkpoint"||t.responseKind==="final"||t.responseKind==="question"||t.responseKind==="error"?t.responseKind:void 0,actionCue:ap(t.actionCue)};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),Zn(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],Zn(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,Zn(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,Zn(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:we(),updatedAt:we()},Zn(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=id(t),i=typeof r?.handoffId=="string"?r.handoffId.trim():"",a=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=we(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,u=f?c.tabs.find(S=>S.runtimeId===f.runtimeId&&S.updatedAt>l-2*this.heartbeatMs):void 0,h=!u&&(!m||m===this.runtimeId),b=c.tabs.find(S=>S.runtimeId===this.runtimeId);if(b)b.url=o||b.url,b.title=n||b.title,b.updatedAt=l,b.detachedAt=void 0,b.detachedReason=void 0,b.handoffId=void 0,b.handoffRunId=void 0,b.handoffTargetUrl=void 0,b.handoffCreatedAt=void 0,s=b.logicalTabId;else{let S;if(i&&(S=c.tabs.find(k=>{if(k.runtimeId||String(k.handoffId||"").trim()!==i||Number.isFinite(a)&&a>0&&k.logicalTabId!==a)return!1;let x=l-Number(k.handoffCreatedAt||k.updatedAt||k.openedAt||0);return x>=0&&x<=3e4})),S||(S=c.tabs.find(k=>!k.runtimeId&&!k.external&&k.url===o&&l-k.openedAt<18e4)),S)S.runtimeId=this.runtimeId,S.url=o||S.url,S.title=n||S.title,S.updatedAt=l,S.detachedAt=void 0,S.detachedReason=void 0,S.handoffId=void 0,S.handoffRunId=void 0,S.handoffTargetUrl=void 0,S.handoffCreatedAt=void 0,s=S.logicalTabId;else{let k=c.nextLogicalTabId++;c.tabs.push({logicalTabId:k,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=k}}s&&(c.tabs=c.tabs.filter(S=>{if(S.logicalTabId===s||S.runtimeId||S.external)return!0;if(i&&String(S.handoffId||"").trim()===i)return!1;let k=l-this.tabFreshnessTs(S);return!(!String(S.url||"").trim()&&k>op||o&&S.url===o&&k<=rp)}));let v=c.activeLogicalTabId?c.tabs.find(S=>S.logicalTabId===c.activeLogicalTabId):void 0;u?c.activeLogicalTabId=u.logicalTabId:(!v||!v.runtimeId||v.logicalTabId===s||h)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=id(t.url),r=0;return this.mutate("local",o=>{let i=we(),a=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(a){a.title=t.title||a.title,a.updatedAt=i,a.openerRuntimeId=t.openerRuntimeId||a.openerRuntimeId,a.detachedAt=a.detachedAt||i,a.detachedReason="opened_pending_attach",r=a.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:i,updatedAt:i,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:i,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(i=>i.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",i=>{let a=i.tabs.find(s=>s.logicalTabId===t);a&&(a.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(i=>i.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((i,a)=>{if(!this.channel){a(new Error("BroadcastChannel not available"));return}let s=to("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),a(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:i,reject:a,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:we()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=we(),o=n.tabs.find(i=>i.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>we()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let i=o.workflowLock;if(!n?.force&&i&&i.runtimeId!==this.runtimeId&&i.expiresAt>we()){let a=o.tabs.find(c=>c.runtimeId===i.runtimeId);if(a&&a.updatedAt>we()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:we(),expiresAt:we()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>we()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=we()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:i}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let a=await this.rpcRequestHandler({method:o,params:i});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:a})}catch(a){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:a?.message||String(a)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:i}=t,a=this.pendingRpcRequests.get(n);a&&(this.pendingRpcRequests.delete(n),window.clearTimeout(a.timer),r?a.resolve(o):a.reject(new Error(i?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",i=>{let a=i.tabs.find(s=>s.runtimeId===n);a&&(a.url=r||a.url,a.title=o||a.title,a.updatedAt=we())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,i=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,a=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||we();this.mutate("local",c=>{let l=we(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=i,d.handoffTargetUrl=a,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}lastFullHeartbeatAt=0;heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=id(window.location.href),n=document.title||void 0,r=we(),o=this.state.lease,i=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,a=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(i&&a&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%e.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(I=>I.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=we(),d.detachedAt=void 0,d.detachedReason=void 0;else{let I=we(),M=l.nextLogicalTabId++;l.tabs.push({logicalTabId:M,runtimeId:this.runtimeId,url:t,title:n,openedAt:I,updatedAt:I,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=we(),u=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>we()?m.holderRuntimeId:void 0,h=u?l.tabs.find(I=>I.runtimeId===u):void 0,b=!!(h&&h.updatedAt>we()-2*this.heartbeatMs),v=l.workflowLock?.runtimeId,S=v?l.tabs.find(I=>I.runtimeId===v):void 0,k=!!(S&&S.runtimeId&&S.runtimeId!==this.runtimeId&&S.updatedAt>we()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=we()||!k)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&k&&S&&(l.activeLogicalTabId=S.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let I=l.tabs.find(G=>G.runtimeId===l.activeRun?.runtimeId);I&&I.updatedAt>we()-2*this.heartbeatMs||(l.activeRun=void 0)}let x=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),C=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>we()),_=!!(u&&!b&&!x&&!C);(f||m?.holderRuntimeId===this.runtimeId||_)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=we()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,i=!o||o.expiresAt<=we();(t||i||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},e.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let a=window.localStorage.getItem(this.key);if(a){let s=_a(JSON.parse(a),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=_a(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=we(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let i=this.computeStateHash(this.state);i!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=i,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return ip(this.siteId,this.sessionId);let n=JSON.parse(t);return _a(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),ip(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};var _v="rover",ld="rover_shortcut";function Ev(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function Av(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Iv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Zs(e){let t=Ev(e?.promptParam,_v),n=Ev(e?.shortcutParam,ld);return n===t&&(n=n===ld?`${ld}_id`:ld,n===t&&(t=_v)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function dd(e){let t=Zs(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function sp(e){return{enabled:e?.enabled===!0}}function Rv(e,t){let n=Zs(e),r=typeof n.enabled=="boolean",o=sp(t);return{enabled:r?n.enabled===!0:o.enabled,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume}}function Cv(e,t){let n=dd(t),r=Av(e),o=Iv(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let i=Iv(r.searchParams,n.promptParam);return i?{kind:"prompt",paramName:n.promptParam,value:i,signature:`prompt:${n.promptParam}:${i}`}:null}function cp(e,t){let n=dd(t),r=Av(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var lp="rover_launch",Nv="rover_attach";function Lv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Mv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Dv(e){let t=Lv(e),n=Mv(t.searchParams,lp),r=Mv(t.searchParams,Nv);return!n||!r?null:{requestId:n,attachToken:r,signature:`${lp}:${n}:${r}`}}function Pv(e){let t=Lv(e);t.searchParams.delete(lp),t.searchParams.delete(Nv);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function ec(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function dp(e){return ec(e)!==void 0}var up="rover_receipt",fp="rover_anchor";function Ov(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function pp(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Bv(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function mp(e){let t=Ov(e),n=Bv(t),r=pp(n,up);if(!r)return null;let o=pp(n,fp)||void 0;return{receipt:r,anchor:o,signature:`${up}:${r}`}}function Uv(e){let t=Ov(e),n=Bv(t),r=pp(n,fp);n.delete(up),n.delete(fp);let o=n.toString(),i=t.searchParams.toString(),a=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${i?`?${i}`:""}${a}`}var WE="https://rover.rtrvr.ai/embed.js",KE="https://agent.rtrvr.ai";function Ft(e){return String(e||"").trim()}function Lt(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function GE(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Ii(e){let t=Ft(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function XE(e){let t=Ft(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function YE(e){let t=Number(Ft(e));return Number.isFinite(t)?Math.trunc(t):void 0}function zv(e){let t=Ft(e);if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function Hv(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=Ft(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function jv(e){if(!e||typeof e!="object")return;let t={};if(e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;if(n){let r={};typeof n.enabled=="boolean"&&(r.enabled=n.enabled),(n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off")&&(r.defaultMode=n.defaultMode);let o=Number(n.rate);Number.isFinite(o)&&(r.rate=Math.max(.85,Math.min(1.15,o)));let i=Ft(n.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,24);i&&(r.language=i),(n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural")&&(r.voicePreference=n.voicePreference),Object.keys(r).length&&(t.audio={narration:r})}}if(e.motion&&typeof e.motion=="object"){let n={};typeof e.motion.actionSpotlight=="boolean"&&(n.actionSpotlight=e.motion.actionSpotlight);let r=zv(e.motion.actionSpotlightColor);r&&(n.actionSpotlightColor=r),Object.keys(n).length&&(t.motion=n)}return Object.keys(t).length?t:void 0}function JE(e){if(!e||typeof e!="object")return;let t={},n=Hv(e.voice);n&&(t.voice=n);let r=jv(e.experience);return r&&(t.experience=r),Object.keys(t).length?t:void 0}function hp(e){let t={...e,scriptUrl:Ft(e.scriptUrl)||WE},n=JE(e.ui);return n?t.ui=n:delete t.ui,t}function Fv(e){let t=hp(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),typeof t.cloudSandboxEnabled=="boolean"&&(n.cloudSandboxEnabled=t.cloudSandboxEnabled),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),typeof t.pageConfig?.disableAutoScroll=="boolean"&&(n.pageConfig={disableAutoScroll:t.pageConfig.disableAutoScroll}),t.ui&&(n.ui=t.ui),n}function QE(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
4368
- `)}function ZE(){return"(function(){var r=window.rover=window.rover||function(){(r.q=r.q||[]).push(arguments)};r.l=+new Date()})();"}function $v(e,t=!1){let n=hp(e),r=t?JSON.stringify(Fv(n)):JSON.stringify(Fv(n),null,2),o=n.attachLaunch?t?JSON.stringify(n.attachLaunch):JSON.stringify(n.attachLaunch,null,2):"",i=JSON.stringify(n.scriptUrl);if(t)return[ZE(),`rover('boot', ${r});`,n.attachLaunch?`rover('attachLaunch', ${o});`:"",`(function(){var s=document.createElement('script');s.src=${i};s.async=true;(document.head||document.documentElement).appendChild(s)})();`].filter(Boolean).join("");let a=[QE(),"",`rover('boot', ${r});`];return n.attachLaunch&&a.push(`rover('attachLaunch', ${o});`),a.push("","(function(){",' var s = document.createElement("script");',` s.src = ${i};`," s.async = true;"," (document.head || document.documentElement).appendChild(s);","})();"),a.join(`
4369
- `)}function eI(e){return $v(e,!1)}function tI(e){return`javascript:${$v(e,!0)}`}function nI(e){let t=hp(e),n=[`src="${Lt(t.scriptUrl)}"`,`data-site-id="${Lt(t.siteId)}"`];t.publicKey&&n.push(`data-public-key="${Lt(t.publicKey)}"`),t.sessionToken&&n.push(`data-session-token="${Lt(t.sessionToken)}"`),t.sessionId&&n.push(`data-session-id="${Lt(t.sessionId)}"`),t.siteKeyId&&n.push(`data-site-key-id="${Lt(t.siteKeyId)}"`),t.apiBase&&n.push(`data-api-base="${Lt(t.apiBase)}"`),t.workerUrl&&n.push(`data-worker-url="${Lt(t.workerUrl)}"`),t.allowedDomains?.length&&n.push(`data-allowed-domains="${Lt(t.allowedDomains.join(","))}"`),t.domainScopeMode&&n.push(`data-domain-scope-mode="${Lt(t.domainScopeMode)}"`),typeof t.cloudSandboxEnabled=="boolean"&&n.push(`data-cloud-sandbox-enabled="${Lt(String(t.cloudSandboxEnabled))}"`),t.sessionScope&&n.push(`data-session-scope="${Lt(t.sessionScope)}"`),typeof t.openOnInit=="boolean"&&n.push(`data-open-on-init="${Lt(String(t.openOnInit))}"`),t.mode&&n.push(`data-mode="${Lt(t.mode)}"`),typeof t.allowActions=="boolean"&&n.push(`data-allow-actions="${Lt(String(t.allowActions))}"`),typeof t.pageConfig?.disableAutoScroll=="boolean"&&n.push(`data-disable-auto-scroll="${Lt(String(t.pageConfig.disableAutoScroll))}"`),typeof t.ui?.voice?.enabled=="boolean"&&n.push(`data-voice-enabled="${Lt(String(t.ui.voice.enabled))}"`),t.ui?.voice?.language&&n.push(`data-voice-language="${Lt(t.ui.voice.language)}"`),typeof t.ui?.voice?.autoStopMs=="number"&&n.push(`data-voice-auto-stop-ms="${Lt(String(t.ui.voice.autoStopMs))}"`);let r=t.ui?.experience?.audio?.narration;typeof r?.enabled=="boolean"&&n.push(`data-narration-enabled="${Lt(String(r.enabled))}"`),r?.defaultMode&&n.push(`data-narration-default-mode="${Lt(r.defaultMode)}"`),typeof r?.rate=="number"&&n.push(`data-narration-rate="${Lt(String(r.rate))}"`),r?.language&&n.push(`data-narration-language="${Lt(r.language)}"`),r?.voicePreference&&n.push(`data-narration-voice-preference="${Lt(r.voicePreference)}"`),typeof t.ui?.experience?.motion?.actionSpotlight=="boolean"&&n.push(`data-action-spotlight="${Lt(String(t.ui.experience.motion.actionSpotlight))}"`),t.ui?.experience?.motion?.actionSpotlightColor&&n.push(`data-action-spotlight-color="${Lt(t.ui.experience.motion.actionSpotlightColor)}"`);let o=`${Ft(t.apiBase)||KE}/v1/a2w/runs`;return[`<script type="application/agent+json" data-rover-agent-discovery="marker">${GE(JSON.stringify({a2w:o,run:o}))}<\/script>`,'<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" data-rover-agent-discovery="service-desc" />','<link rel="service-doc" href="/llms.txt" type="text/markdown" data-rover-agent-discovery="service-doc" />',`<script ${n.join(" ")}><\/script>`].join(`
4370
- `)}function qv(e){let t=Ft(e.getAttribute("data-site-id")),n=Ft(e.getAttribute("data-public-key")),r=Ft(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let i=Ft(e.getAttribute("data-session-id"));i&&(o.sessionId=i);let a=Ft(e.getAttribute("data-site-key-id"));a&&(o.siteKeyId=a);let s=Ft(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=Ft(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=XE(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=Ft(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=Ii(e.getAttribute("data-cloud-sandbox-enabled"));typeof m=="boolean"&&(o.cloudSandboxEnabled=m);let f=Ft(e.getAttribute("data-session-scope"));(f==="shared_site"||f==="tab")&&(o.sessionScope=f);let u=Ii(e.getAttribute("data-open-on-init"));typeof u=="boolean"&&(o.openOnInit=u);let h=Ft(e.getAttribute("data-mode"));(h==="safe"||h==="full")&&(o.mode=h);let b=Ii(e.getAttribute("data-allow-actions"));typeof b=="boolean"&&(o.allowActions=b);let v=Ii(e.getAttribute("data-disable-auto-scroll"));typeof v=="boolean"&&(o.pageConfig={disableAutoScroll:v});let S=Ii(e.getAttribute("data-voice-enabled")),k=Ft(e.getAttribute("data-voice-language")),x=YE(e.getAttribute("data-voice-auto-stop-ms")),C=Ii(e.getAttribute("data-narration-enabled")),_=Ft(e.getAttribute("data-narration-default-mode")),I=Number(Ft(e.getAttribute("data-narration-rate"))),M=Ft(e.getAttribute("data-narration-language")),G=Ft(e.getAttribute("data-narration-voice-preference")),O=Ii(e.getAttribute("data-action-spotlight")),Y=zv(e.getAttribute("data-action-spotlight-color")),Z=Hv({...typeof S=="boolean"?{enabled:S}:{},...k?{language:k}:{},...typeof x=="number"?{autoStopMs:x}:{}}),ae=jv({...typeof C=="boolean"||_||Number.isFinite(I)||M||G?{audio:{narration:{...typeof C=="boolean"?{enabled:C}:{},..._==="guided"||_==="always"||_==="off"?{defaultMode:_}:{},...Number.isFinite(I)?{rate:I}:{},...M?{language:M}:{},...G==="auto"||G==="system"||G==="natural"?{voicePreference:G}:{}}}}:{},...typeof O=="boolean"||Y?{motion:{...typeof O=="boolean"?{actionSpotlight:O}:{},...Y?{actionSpotlightColor:Y}:{}}}:{}});return(Z||ae)&&(o.ui={...Z?{voice:Z}:{},...ae?{experience:ae}:{}}),o}function rI(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function Fr(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function nc(e){let t=new Set,n=[];for(let r of e){let o=rc(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function oI(e){let t=Fr(e),n=`${t}/v2/rover`,r=rc(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?nc([o,n]):nc(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function Vv(e){return oI(e)}function iI(e){return Vv(e)[0]||`${Fr(e)}/v2/rover`}function Ri(e){return Vv(e)}function fd(e){return iI(e)}function rc(e){return String(e||"").replace(/\/+$/,"")}function ud(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Ai(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function pd(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function aI(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),i=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!i)return;let a=pd(n?.currentSeq??r?.currentSeq),s=pd(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:i==="stale_seq"||i==="stale_epoch";return{type:i,currentSeq:a,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function tc(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function Ia(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function gp(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${Fr(e)}/v1/a2w/runs/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var md=class e{options;base;baseCandidates;baseIndex=0;sessionToken;sessionTokenExpiresAt=0;sessionId;epoch=1;eventSource=null;pollTimer=null;reconnectTimer=null;sseReconnectAttempts=0;static SSE_BASE_DELAY_MS=2e3;static SSE_MAX_DELAY_MS=6e4;static SSE_MAX_JITTER_MS=3e3;static SSE_MAX_RECONNECT_ATTEMPTS=10;started=!1;lastSeq=0;lastRunId="";lastSnapshotDigest="";activeRunId;visibilityListener=null;pollIntervalMs=2e3;commandInFlight=!1;commandQueue=Promise.resolve();constructor(t){this.options=t,this.baseCandidates=Ri(t.apiBase),this.base=this.baseCandidates[0]||fd(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=Ri(t),this.baseIndex=0,this.base=this.baseCandidates[0]||fd(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?rc(this.baseCandidates[this.baseIndex]||this.base):rc(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=Ri(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let i=0;i<o;i+=1){let a=(this.baseIndex+i)%o,s=rc(this.baseCandidates[a]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await Ia(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=a,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=rI(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&Ai(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,i=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let a=String(t.activeRunId||"");this.activeRunId=a||void 0,a!==this.lastRunId&&(this.lastRunId=a,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||a!==r||this.lastSeq!==o||t.snapshot||c&&c!==i)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,i={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!i.sessionToken&&!i.bootstrapToken)return null;let a=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await a(i);if(s.status===401&&o&&n&&(tc(c)==="SESSION_TOKEN_EXPIRED"||tc(c)==="SESSION_TOKEN_INVALID"||tc(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await a({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=tc(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=pd(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=pd(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:ud(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:i,json:a}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(i.status===401&&s<1){let c=tc(a);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(i.status===409)return this.syncCursorFromPayload(a?.data),{ok:!1,data:a?.data||null,conflict:aI(a),raw:a};if(!i.ok||!a?.success){let c=a?.error||`request failed (${i.status})`,l=new Error(String(c));throw l.status=i.status,l.code=String(a?.error||a?.data?.code||"").trim()||void 0,l.details=a?.data||a,l}return this.syncCursorFromPayload(a?.data),{ok:!0,data:a?.data||null,raw:a}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;Ai(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let i=o.data||{},a=i?.data||null,s=String(i?.runId||a?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(i?.seq||a?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(i?.epoch))&&(this.epoch=Math.max(1,Number(i?.epoch))),Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i?.seq||0))),a}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let i=o.data||{},a=i?.data||null;return Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i.seq||0))),Ai(a?.projection)&&this.applyProjection(a.projection),a}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",i=t.source==="google_search"?"google_search":"direct_url";for(let a=0;a<2;a+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:i,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(a===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=ud(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let i=o.conflict;if(i?.retryable&&(i.type==="stale_seq"||i.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||i,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return i?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!i,conflict:i?{type:i.type,currentSeq:i.currentSeq,currentEpoch:i.currentEpoch,retryable:!!i.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&Ai(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!Ai(o))return null;let i=o;return this.applyProjection(i),i}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(i=>({path:i.path,body:i.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserRunReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:ud(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Ri(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=nc(this.baseCandidates.map(a=>Fr(a))),i;for(let a of o)try{let s=await fetch(`${a}/v1/a2w/runs/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await Ia(s);if(!s.ok||!c?.success){i=new Error(String(c?.error||`request failed (${s.status})`)),i.status=s.status,i.details=c?.data||c;continue}return c.data||null}catch(s){i=s}throw i instanceof Error?i:new Error("Browser receipt claim failed.")}async createSessionRootRun(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,executionId:String(t.executionId||"").trim()||void 0,requestNonce:ud(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Ri(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let i=nc(this.baseCandidates.map(s=>Fr(s))),a;for(let s of i)try{let c=await fetch(`${s}/v1/a2w/runs/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await Ia(c);if(!c.ok||!l?.success){a=new Error(String(l?.error||`request failed (${c.status})`)),a.status=c.status,a.details=l?.data||l;continue}return l.data||null}catch(c){a=c}throw a instanceof Error?a:new Error("Session root A2W run creation failed.")}async createRunHandoff(t){let n=String(t.parentRunId||"").trim(),r=String(t.runAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let i=gp(Fr(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),a=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&a.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(i,{method:"POST",headers:a,body:JSON.stringify(c)}),d=await Ia(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicRun(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=gp(Fr(this.base),t,n.accessToken),i=await fetch(o,{method:"GET",headers:r}),a=await Ia(i);if(!i.ok||!a?.success){let s=String(a?.error||`request failed (${i.status})`),c=new Error(s);throw c.status=i.status,c.details=a?.data||a,c}return a.data||null}async continuePublicRun(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let i=new Headers({Accept:"application/json","Content-Type":"application/json"}),a=gp(Fr(this.base),t,r.accessToken),s=await fetch(a,{method:"POST",headers:i,body:JSON.stringify({input:o})}),c=await Ia(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(i=>({type:i.type,ts:i.ts,data:i.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(a){this.reportError(a)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=e.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=e.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),e.SSE_MAX_DELAY_MS),r=Math.random()*e.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=i=>{try{let a=JSON.parse(i||"{}"),s=a&&typeof a=="object"&&Ai(a.projection)?a.projection:a;Ai(s)&&this.applyProjection(s)}catch(a){this.reportError(a)}};r.addEventListener("projection",i=>{o(i.data||"{}")}),r.addEventListener("projection_delta",i=>{o(i.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(i=>this.reportError(i)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};var Io="/.well-known/agent-card.json",Ci="/.well-known/rover-site.json",Xv="/llms.txt",Yv="__ROVER_WEBMCP_TOOL_DEFS__",ic=3,sI="/v1/a2w/runs",cI="/v1/a2w/workflows",lI=2e3,Jv={type:"object",properties:{status:{type:"string",description:"A2W run status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},run:{type:"string",description:"Canonical A2W run URL."},workflow:{type:"string",description:"Canonical A2W workflow URL when delegation occurs."}}},dI={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function be(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function _o(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function It(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||160);for(let a of e){let s=be(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function Eo(e){let t=_o(e);return t?{...t}:void 0}function oc(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return be(e)||"https://example.com/"}}function Qv(e){let t=be(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function uI(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function Aa(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function fI(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function ac(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function sc(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function pI(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover A2W run and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or A2W run endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function mI(e){let t=e.discoverySurface||{},n=Aa(t.mode,e.visibleCue===!1?"silent":"beacon"),r=ac(t.hostSurface,"auto"),o=sc(t.actionReveal,"click"),i=be(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,a={mode:n,branding:fI(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:i,agentModeEntryHints:It(t.agentModeEntryHints,{max:8,maxLen:240})};return{...a,agentModeEntryHints:a.agentModeEntryHints.length?a.agentModeEntryHints:pI(a)}}function Ra(e){let t=_o(e);if(!t)return;let n=_o(t.discoverySurface),r={};if(n){let i=Aa(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=i),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let a=be(n.beaconLabel||n.visibleCueLabel,180)||void 0;a&&(r.beaconLabel=a);let s=It(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&be(t.siteUrl)&&(o.siteUrl=be(t.siteUrl)),typeof t.siteId=="string"&&be(t.siteId,160)&&(o.siteId=be(t.siteId,160)),typeof t.apiBase=="string"&&be(t.apiBase,240)&&(o.apiBase=be(t.apiBase,240)),typeof t.siteName=="string"&&be(t.siteName,160)&&(o.siteName=be(t.siteName,160)),typeof t.description=="string"&&be(t.description,400)&&(o.description=be(t.description,400)),typeof t.version=="string"&&be(t.version,120)&&(o.version=be(t.version,120)),typeof t.agentCardUrl=="string"&&be(t.agentCardUrl,240)&&(o.agentCardUrl=be(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&be(t.roverSiteUrl,240)&&(o.roverSiteUrl=be(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&be(t.llmsUrl,240)&&(o.llmsUrl=be(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&be(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=be(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function Zv(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function hI(e,t){let n=_o(e);if(!n)return null;let r=be(n.capabilityId||n.id,120),o=be(n.label||n.name,180),i=be(n.description,480);if(!r||!o||!i)return null;let a=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=uI(n.resultModes);return{capabilityId:r,version:be(n.version,80)||t.version,label:o,description:i,inputSchema:Eo(n.inputSchema),outputSchema:Eo(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:bp({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:a.length?a:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:It(n.pageScope,{max:24,maxLen:80}),analyticsTags:It(n.analyticsTags,{max:24,maxLen:64}),rover:_o(n.rover)?{...n.rover}:void 0}}function ek(e,t){let n=_o(e);if(!n)return null;let r=be(n.pageId||n.id,120);if(!r)return null;let o=be(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:Qv(n.route),label:be(n.label,180)||void 0,capabilityIds:It(n.capabilityIds,{max:48,maxLen:120}),entityHints:It(n.entityHints,{max:24,maxLen:120}),formHints:It(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:Aa(n.discoveryMode,t?.mode||"beacon"),hostSurface:ac(n.hostSurface,t?.hostSurface||"auto"),actionReveal:sc(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:It(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:It(n.capabilitySummary,{max:12,maxLen:180})}}function tk(e){return`${Fr(e)}${sI}`}function nk(e){return`${Fr(e)}${cI}`}function gI(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function bI(e){return be(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function yI(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let i=_o(o);if(!i)continue;let a=be(i.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(a)?a:"string"};if(i.description&&(s.description=be(i.description,240)),i.enum&&Array.isArray(i.enum)){let c=It(i.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(a==="array"&&i.items&&(s.items=Eo(i.items)||{type:be(i.items?.type)||"string"}),a==="object"&&i.properties&&typeof i.properties=="object"){s.properties={};for(let[c,l]of Object.entries(i.properties)){let d=_o(l);d&&(s.properties[c]={type:be(d.type)||"string",...d.description?{description:be(d.description,240)}:{}})}if(Array.isArray(i.required)){let c=It(i.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:It(t,{max:50,maxLen:80})}:{}}}function bp(e){let t=_o(e)||{};return{category:be(t.category,40)||void 0,tags:It(t.tags,{max:16,maxLen:40}),examples:It(t.examples,{max:6,maxLen:200}),whenToUse:be(t.whenToUse,280)||void 0,whyUse:be(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="run"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function rk(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function ok(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function ik(e,t,n,r){let o=[];return e&&o.push(be(e,120)),t&&o.push(be(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function ak(e){let t=be(e.id,80),n=be(e.label,120),r=be(e.prompt,lI);if(!t||!n||!r||e.enabled===!1)return null;let o=be(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{},...e.runKind==="guide"||e.runKind==="task"?{runKind:e.runKind}:{}}}function vI(e,t,n){let r=ak(e);if(!r)return null;let{id:o,label:i,prompt:a}=r,s=It([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=It([...e.examples||[],a],{max:6,maxLen:220}),l=bp({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=rk(o,d,l),f=ok(m,l);return{id:o,name:i,description:ik(i,e.description||`Run the "${i}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured A2W run progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:Eo(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:Eo(e.outputSchema)||{...Jv},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:a,routing:e.routing,runKind:e.runKind,deepLink:gI(t.siteUrl,o),run:{endpoint:n,payload:{url:oc(t.siteUrl),shortcut:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function Wv(e,t){let n=be(e.name,120);if(!n||e.llmCallable===!1)return null;let r=bp(e.annotations),o=rk(n,t,r),i=ok(o,r),a=It([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=It(r.examples||[],{max:6,maxLen:220});return{id:n,name:be(e.title,120)||bI(n),description:ik(be(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...a.length?{tags:a}:{},...s.length?{examples:s}:{},inputSchema:Eo(e.schema)||yI(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:Eo(e.outputSchema)||{...dI},sideEffect:o,requiresConfirmation:i,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function kI(e){let t=[],n=new Set;for(let r of e){let o=be(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function xI(e){let t=[],n=new Set;for(let r of e){let o=be(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:It(r.pageScope,{max:24,maxLen:80}),analyticsTags:It(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function wI(e,t){let n=[],r=new Set;for(let o of e){let i=be(o.pageId,120);if(!i||r.has(i.toLowerCase()))continue;r.add(i.toLowerCase());let a=be(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:i,route:Qv(o.route),label:be(o.label,180)||void 0,capabilityIds:It(o.capabilityIds,{max:48,maxLen:120}),entityHints:It(o.entityHints,{max:24,maxLen:120}),formHints:It(o.formHints,{max:24,maxLen:120}),visibleCueLabel:a,beaconLabel:a,discoveryMode:Aa(o.discoveryMode,t?.mode||"beacon"),hostSurface:ac(o.hostSurface,t?.hostSurface||"auto"),actionReveal:sc(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:It(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:It(o.capabilitySummary,{max:12,maxLen:180})})}return n}function Kv(e,t,n){let r=It(e.capabilityIds,{max:48,maxLen:120}),o=It(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),i=be(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,a=It(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:i,beaconLabel:i,discoveryMode:Aa(e.discoveryMode,n.mode),hostSurface:ac(e.hostSurface,n.hostSurface),actionReveal:sc(e.actionReveal,n.actionReveal),agentModeEntryHints:a,capabilitySummary:o}}function SI(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:be(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:Eo(e.inputSchema),outputSchema:Eo(e.outputSchema)||{...Jv},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:Zv(n),resultModes:["text","json","observation","artifacts"],pageScope:It(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:It(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function TI(e,t,n){let r=oc(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return ek({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(a=>a.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(a=>a.label)}}function _I(e,t,n){let r=t.map(d=>SI(d,e)),o=(e.capabilities||[]).map(d=>hI(d,{version:be(e.version,80)||"1.0.0",allowedExecutionModes:Zv(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),i=xI([...o,...r]),a=TI(e,i,n),s=(e.pages||[]).map(d=>ek(d,n)).filter(d=>!!d);a.capabilityIds?.length||(a.capabilityIds=i.slice(0,12).map(d=>d.capabilityId));let c=wI([...s,a],n).map(d=>Kv(d,i,n)),l=c.find(d=>d.pageId===a.pageId)||Kv(a,i,n);return{capabilities:i,pages:c,currentPage:l}}function Gv(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function hd(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function EI(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Mi(e){let t=oc(e.siteUrl),n=tk(e.apiBase),r=nk(e.apiBase),o=be(e.agentCardUrl)||Io,i=be(e.roverSiteUrl)||Ci,a=be(e.llmsUrl),c=sp(e.aiAccess).enabled,l=e.aiAccess?.allowCloudBrowser!==!1,d=e.aiAccess?.allowDelegatedHandoffs===!0,m=(e.shortcuts||[]).map(C=>vI(C,e,n)).filter(C=>!!C),f=(e.tools||[]).map(C=>Wv(C,"client_tool")).filter(C=>!!C),u=(e.webmcpTools||[]).map(C=>Wv(C,"webmcp")).filter(C=>!!C),h=kI([...m,...e.additionalSkills||[],...f,...u]),b=mI(e),v=_I(e,h,b),S={mode:Aa(v.currentPage.discoveryMode,b.mode),branding:b.branding,hostSurface:ac(v.currentPage.hostSurface,b.hostSurface),actionReveal:sc(v.currentPage.actionReveal,b.actionReveal),beaconLabel:be(v.currentPage.beaconLabel||v.currentPage.visibleCueLabel||b.beaconLabel,180)||void 0,agentModeEntryHints:It(v.currentPage.agentModeEntryHints?.length?v.currentPage.agentModeEntryHints:b.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:ic},k=be(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),x=be(e.description,320)||`Structured Rover entrypoints for ${k}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:k,description:x,url:n,version:be(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:c,a2wRuns:c,stateTransitions:c,delegatedHandoffs:d,webmcp:u.length>0},skills:h,interfaces:[{type:"run",url:n,description:"Canonical Agent-to-Web Protocol (A2W) run creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated runs.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:c},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:u.length>0}],extensions:{rover:{siteId:be(e.siteId,120)||void 0,siteUrl:t,runEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:i,...a?{llmsUrl:a}:{},preferredExecution:e.preferExecution||"auto",a2wRunsEnabled:c,cloudBrowserAllowed:l,delegatedHandoffs:d,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/a2w/runs when you need structured A2W progress, continuation input, or a stable final result channel.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:v.capabilities,pages:v.pages,currentPage:v.currentPage,discoverySurface:S,shortcuts:(e.shortcuts||[]).map(C=>ak(C)).filter(C=>!!C),webmcp:{available:u.length>0,tools:u.map(C=>C.id)}}}}}function cc(e){let t=Mi(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||oc(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",a2wRunsEnabled:n?.a2wRunsEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{runEndpoint:n?.runEndpoint||tk(e.apiBase),workflowEndpoint:n?.workflowEndpoint||nk(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",runIdField:"runId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||ic},artifacts:{agentCardUrl:n?.serviceDescUrl||be(e.agentCardUrl)||Io,roverSiteUrl:n?.roverSiteUrl||be(e.roverSiteUrl)||Ci,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||oc(e.siteUrl)},interfaces:t.interfaces}}function gd(e){let t=lc(e),n=Mi(e),r=cc(e),o=JSON.stringify(r,null,2),i=EI(t),a=be(e.agentCardUrl)||i,s=be(e.roverSiteUrl)||Ci,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={a2w:n.extensions?.rover.runEndpoint,run:n.extensions?.rover.runEndpoint,card:a,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:a,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:be(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:hd(JSON.stringify(d))}}function lc(e,t){return JSON.stringify(Mi(e),null,t?.pretty===!1?void 0:2)}function II(e,t){return lc(e,t)}function bd(e,t){return JSON.stringify(cc(e),null,t?.pretty===!1?void 0:2)}function AI(e,t){return bd(e,t)}function yp(e){let t=[`<${be(e.agentCardUrl)||Io}>; rel="service-desc"; type="application/json"`],n=be(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function RI(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:i,serviceDescHref:a}=gd(e),s=hd(t),c=hd(i),l=hd(o),d=[`<script type="application/agent+json" data-rover-agent-discovery="marker">${r}<\/script>`,`<link rel="service-desc" href="${Gv(a)}" type="application/json" data-rover-agent-discovery="service-desc" />`];return n&&d.push(`<link rel="service-doc" href="${Gv(n)}" type="text/markdown" data-rover-agent-discovery="service-doc" />`),d.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${c}<\/script>`),d.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${l}<\/script>`),d.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${s}<\/script>`),d.join(`
4371
- `)}var CI="https://rover.rtrvr.ai/embed.js",MI="https://rover.rtrvr.ai/roverbook.js";function zt(e){return String(e||"").trim()}function yd(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Ma(e){return String(e||"").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function sk(e,t,n){if(!n)return e;let r=new RegExp(`<script[^>]+data-rover-agent-discovery="${t}"[^>]*>[\\s\\S]*?<\\/script>`);return r.test(e)?e.replace(r,n):[e,n].filter(Boolean).join(`
4372
- `)}function NI(e,t){let n=Ca(t.ui?.experience)?t.ui?.experience:null;if(!n)return e;let r=Ca(n.presence)?n.presence:{},o=Ca(n.inputs)?n.inputs:{},i=Ca(n.shell)?n.shell:{},a=Ca(n.stream)?n.stream:{},s=zt(r.ctaText)||`Do it with ${zt(t.ui?.agent?.name)||"Rover"}`,c=zt(r.assistantName)||zt(t.ui?.agent?.name)||"Rover",l=e.agentCard?JSON.parse(JSON.stringify(e.agentCard)):void 0;l?.extensions?.rover&&(l.extensions.rover.discoverySurface={...l.extensions.rover.discoverySurface||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s},l.extensions.rover.presence={assistantName:c,ctaText:s,draggable:r.draggable!==!1},l.extensions.rover.experience=n,l.extensions.rover.inputs={filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let d=e.roverSite?JSON.parse(JSON.stringify(e.roverSite)):void 0;d&&(d.display={...d.display||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s,presence:"draggable_pill",openMode:zt(i.openMode)||"center_stage",mobileMode:zt(i.mobileMode)||"fullscreen_sheet",streamMode:zt(a.layout)||"single_column",focusView:"focus_stream"},d.experience=n,d.inputs={...d.inputs||{},filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let m=l?JSON.stringify(l,null,2):e.agentCardJson,f=d?JSON.stringify(d,null,2):e.roverSiteJson,u=m?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${Ma(m)}<\/script>`:e.metadata.inlineAgentCardScript,h=f?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${Ma(f)}<\/script>`:e.metadata.inlineRoverSiteScript;return{...e,agentCard:l,agentCardJson:m,roverSite:d,roverSiteJson:f,bodyInstallHtml:sk(sk(e.bodyInstallHtml,"agent-card",u),"rover-site",h),metadata:{...e.metadata,roverSiteJson:f,inlineAgentCardScript:u,inlineRoverSiteScript:h}}}function ck(e){return JSON.stringify(e,null,2).split(`
4367
+ `),rn=at.getPendingAttachments();e.onSend(ht,{askUserAnswers:{answersByKey:V,rawText:ht,keys:We},attachments:rn.length?rn:void 0,...Se()}),at.clearAttachments()}),F.questionPromptCancel.addEventListener("click",()=>{if(!at.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),F.panel.appendChild(F.panelGrabber),F.panel.appendChild(dt.root),F.panel.appendChild(F.taskStage),F.panel.appendChild(F.artifactStage),F.panel.appendChild(F.conversationPill),F.panel.appendChild(F.pausedTaskBanner),F.panel.appendChild(Ne.root),F.panel.appendChild(F.taskSuggestion),F.panel.appendChild(Xe.bar),F.panel.appendChild(F.questionPrompt),F.panel.appendChild(F.resizeHandle),F.panel.appendChild(F.conversationDrawer),tt.composerSlot.appendChild(at.root);let Mr=Xy({thoughtStyle:e.thoughtStyle,stream:i.stream});Mr.setOnExpand(()=>{Mr.hide(),u.getState()==="bar"&&mi(),Ne.setTraceExpanded(!0,i.stream?.maxVisibleLiveCards)}),f.appendChild(F.backdrop),f.appendChild(W.root),f.appendChild(W.greetingBubble),f.appendChild(F.panel),f.appendChild(Mr.root),f.appendChild(tt.root),f.appendChild(wt.root),re&&f.appendChild(re.root),l.appendChild(f),l.addEventListener("keydown",L=>{let V=L;if(V.key==="Escape"){if(V.stopPropagation(),wt.isOpen()){wt.close();return}if(F.panel.classList.contains("open")){ia();return}if(u.getState()==="bar"){_u();return}}});let ph=L=>{if((L.metaKey||L.ctrlKey)&&L.code==="KeyK"){L.preventDefault(),L.stopPropagation(),wt.isOpen()?wt.close():wt.open();return}L.code==="Period"&&L.shiftKey&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),L.stopPropagation(),F.panel.classList.contains("open")?aa():Eu())};document.addEventListener("keydown",ph);let Bo=()=>{F.applyLayout(),W.applyPosition()};window.addEventListener("resize",Bo),window.addEventListener("orientationchange",Bo),window.visualViewport?.addEventListener("resize",Bo),window.visualViewport?.addEventListener("scroll",Bo),F.applyLayout(),W.applyPosition(),W.setMuted(v),dt.setMuted(v),tt.setMuted(v),bh("controller"),kh(ir),Ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),Hn(),nn();function mh(){let L=ry(i.theme?.accentColor||"#FF4C00");for(let[Ee,Re]of Object.entries(L))f.style.setProperty(Ee,Re);let V=oy(i.motion?.actionSpotlightColor,i.theme?.accentColor);for(let[Ee,Re]of Object.entries(V))f.style.setProperty(Ee,Re)}mh();function ia(){if(Ve=!0,u.getState()!=="window")return;dt.closeOverflow(),i.shell?.transitionStyle!=="crossfade"&&!To()?(F.backdrop.classList.remove("visible"),F.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:Js(250,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",vt()}).catch(()=>{})):(F.panel.classList.remove("open"),F.panel.style.display="none",F.backdrop.classList.remove("visible"),vt()),u.setState("bar"),tt.setExpanded(!1),Mt(),He&&Mr.show()}function mi(){if(u.getState()!=="bar")return;F.applyLayout(),F.panel.style.transition="",i.shell?.transitionStyle!=="crossfade"&&!To()?(F.backdrop.classList.add("visible"),F.panel.style.animation="none",F.panel.style.opacity="0",F.panel.style.display="flex",F.panel.classList.add("open"),F.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:Js(320,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{F.panel.style.transform="",F.panel.style.filter="",F.panel.style.opacity="",vt(),at.textarea.disabled||at.textarea.focus()}).catch(()=>{})):(F.panel.classList.add("open"),F.panel.style.display="flex",F.backdrop.classList.add("visible"),vt(),at.textarea.disabled||at.textarea.focus()),u.setState("window"),tt.setExpanded(!0),Mt(),e.onOpen?.()}function _u(){ve(),Ve=!1;let L=u.getState();if(L==="window")dt.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),tt.setExpanded(!1),Mt();else if(L!=="bar")return;u.setState("seed"),u.setMood("idle"),Mt(),!To()?(Sy({seed:W.root,bar:tt.root,duration:Js(280,i.motion?.intensity||"balanced")}),vt()):(tt.hide(),vt()),e.onClose?.()}function hh(){if(u.getState()!=="seed")return;pe(),wt.isOpen()&&wt.close(),W.setGreeting(null),De(),u.setState("bar"),Mt(),!To()?wy({seed:W.root,bar:tt.root,duration:Js(300,i.motion?.intensity||"balanced")}).then(()=>{vt(),Ve||mi()}):(tt.show(),vt(),Ve||mi())}function Eu(){if(wt.isOpen()&&wt.close(),u.getState()==="bar"){mi();return}if(u.getState()==="seed"){hh();return}}function aa(){if(ve(),u.getState()==="bar"){_u();return}if(dt.closeOverflow(),!F.panel.classList.contains("open")){e.onClose?.();return}ia()}function s0(L,V,Ee){Ne.addMessage(L,V,Ee?.blocks),L==="assistant"&&He&&de&&(de=!1,Pt()),L==="user"&&($=Ue(V)||$,P=Date.now(),y=!1),L==="assistant"&&_n(Ee?.blocks),Rr=!0,nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length),L==="user"?u.setMood("typing",1200):L==="assistant"?u.setMood("success",1400):u.setMood("running",900),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running")}function gh(L){let V=sl(L);if(!V.length){je=null,bt=null,mt={},F.questionPromptList.innerHTML="",F.questionPrompt.classList.remove("visible"),Xe.syncVisibility(Rr,He,!1);return}let Ee=i0(V),Re=Ee!==bt||!je;if(je={questions:V},Re){let We=mt;mt={},F.questionPromptList.innerHTML="";for(let ht of V){let rn=document.createElement("label");rn.className="questionPromptItem";let kt=document.createElement("span");kt.className="questionPromptLabel",kt.textContent=ht.required===!1?`${ht.query} (optional)`:ht.query,rn.appendChild(kt);let on=document.createElement("input");on.type="text",on.className="questionPromptInput",on.dataset.key=ht.key,on.required=ht.required!==!1;let kr=String(We[ht.key]||"");mt[ht.key]=kr,on.value=kr,on.addEventListener("input",()=>{mt[ht.key]=on.value,on.classList.remove("invalid")}),rn.appendChild(on),F.questionPromptList.appendChild(rn)}bt=Ee}F.questionPrompt.classList.add("visible"),Cr(),Xe.syncVisibility(Rr,He,!0)}function c0(){Ne.clearMessages(),Rr=!1,$="",P=0,q=null,y=!1,at.clearAttachments(),Hn(),nn(),gh(void 0),Xe.syncVisibility(!1,He,!1)}function sa(L){F.taskSuggestion.classList.toggle("visible",!!L?.visible),F.taskSuggestionTextEl.textContent=L?.text||"Looks like a new request. Start a new task?",F.taskSuggestionPrimaryBtn.textContent=L?.primaryLabel||"Start new",F.taskSuggestionSecondaryBtn.textContent=L?.secondaryLabel||"Continue"}function l0(L){let V=String(L||"ready");dt.setStatus(V),te=V;let Ee=V.toLowerCase(),Re=u.getMood();if(Ee.includes("error")||Ee.includes("failed")){if(u.setMood("error",1800),Re!=="error"){try{W.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}W.root.classList.add("error-wobble"),setTimeout(()=>W.root.classList.remove("error-wobble"),850)}}else Ee.includes("waiting")||Ee.includes("queued")||Ee.includes("paused")?u.setMood("waiting",0):Ee==="ready"||Ee.includes("complete")?u.setMood("idle"):u.setMood("running",1e3);f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running"),nn()}function d0(L){let V=He;if(He=L,L)de=!0,P||(P=Date.now()),Ce=0,gr=0,Le(),i.motion?.particles!==!1&&tn.setMode("ambient"),u.getState()==="window"&&(dt.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),tt.setExpanded(!1)),Mr.show(),tt.setRunning(!0),at.setSendAsStop(!0,()=>{e.onCancelRun?.()});else{Mr.hide(),tt.setRunning(!1),at.setSendAsStop(!1,()=>{}),ve(),de=!1,sn.clearAll();try{mn.clearAll()}catch{}if(V&&u.getState()!=="window"&&mi(),setTimeout(()=>Ne.smartScrollToBottom(),80),V&&u.getMood()!=="error"){i.motion?.particles!==!1&&tn.setMode("burst");try{W.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}W.root.classList.add("completion-burst"),setTimeout(()=>{W.root.classList.remove("completion-burst"),Mt()},700)}else i.motion?.particles!==!1&&tn.setMode("idle")}i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",L&&u.getMood()==="running"),Pt(),Cr(),dt.setRunning(L),!L&&i.stream?.artifactAutoMinimize!==!1&&(y=!1,Hn()),nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length),vt(),V&&!L&&u.getMood()!=="error"||Mt()}function bh(L,V){_e=L,Be=L==="observer"?V?.canComposeInObserver===!0:!0,Cr(),dt.setExecutionMode(L,V),L==="controller"?at.setStaticPlaceholder(""):V?.note?at.setStaticPlaceholder(V.note):Be?at.setStaticPlaceholder("Send to take control and run here."):at.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function yh(L){let V=Ue(L);V&&!F.panel.classList.contains("open")&&W.setGreeting(V)}function vh(){W.setGreeting(null)}function u0(L){a=L||void 0,Xe.setVisitorName(a,t)}function kh(L){let V=_f(L),Ee=JSON.stringify(ir||null),Re=JSON.stringify(V||null);if(Ee===Re){ge();return}ir=V,xn="",ho=!1,ut==="listening"?vr("config"):(Ae(),ze(),ut="idle"),ge()}function f0(L){if(i=Ef({...e,experience:L},t,o),W.update(i),at.update(i),Ne.setStreamConfig(i.stream),Mr.setStreamConfig(i.stream),Ne.setThoughtStyle(e.thoughtStyle),Mr.setThoughtStyle(e.thoughtStyle),mh(),i.theme?.fontFamily&&f.style.setProperty("font-family",`${i.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=i.theme?.surfaceStyle||"glass",i.motion?.particles===!1&&tn.setMode("idle"),i.motion?.filaments===!1&&sn.clearAll(),i.motion?.actionSpotlight===!1)try{mn.clearAll()}catch{}i.motion?.palimpsest===!1&&F.backdrop.classList.remove("palimpsest"),oe(),nn(),Hn(),W.applyPosition()}function p0(){F.applyLayout(),f.style.display="",W.applyPosition(),vt()}function m0(){ve(),aa(),f.style.display="none",vt()}function h0(){u.destroy(),De(),Q(),zn.dispose(),wt.destroy(),tt.destroy(),Mr.destroy(),tn.destroy(),sn.destroy();try{mn.destroy()}catch{}Fe.dispose(),Y.dispose(),Xn.dispose(),window.removeEventListener("resize",Bo),window.removeEventListener("orientationchange",Bo),window.visualViewport?.removeEventListener("resize",Bo),window.visualViewport?.removeEventListener("scroll",Bo);try{document.removeEventListener("visibilitychange",B)}catch{}document.removeEventListener("keydown",ph),d.remove(),c.remove()}function g0(L){}let xh="";function b0(L){let V=L.map(Re=>`${Re.id}|${Re.summary}|${Re.status}|${Re.updatedAt}|${Re.isActive}`).join(";;");if(V===xh)return;xh=V;let Ee=L.find(Re=>Re.isActive);if(F.conversationPillLabel.textContent=Ee&&Gs(Ee.summary,{maxLength:44,maxUrlLength:32})||"Current task",F.conversationPill.style.display="flex",F.conversationList.innerHTML="",!L.length){let Re=document.createElement("div");Re.className="conversationEmpty",Re.textContent="No previous chats yet.",F.conversationList.appendChild(Re);return}for(let Re of L){let We=document.createElement("div");We.className=`conversationItem ${Re.status}${Re.isActive?" active":""}`,We.dataset.id=Re.id;let ht=document.createElement("span");ht.className="conversationDot";let rn=document.createElement("div");rn.className="conversationContent";let kt=document.createElement("div");kt.className="conversationSummary",kt.textContent=Gs(Re.summary,{maxLength:64,maxUrlLength:36})||"Task";let on=document.createElement("div");on.className="conversationMeta";let kr=Re.status==="running"?"Running":Re.status==="paused"?"Paused":Re.status==="completed"?"Done":Re.status;on.textContent=`${kr} \xB7 ${qo(Re.updatedAt)}`,rn.appendChild(kt),rn.appendChild(on);let Iu=document.createElement("div");Iu.className="conversationActions";let ks=document.createElement("button");ks.type="button",ks.className="conversationDeleteBtn",ks.textContent="\xD7",ks.addEventListener("click",x0=>{x0.stopPropagation(),e.onDeleteConversation?.(Re.id)}),Iu.appendChild(ks),We.appendChild(ht),We.appendChild(rn),We.appendChild(Iu),We.addEventListener("click",()=>{ee=!1,F.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(Re.id)}),F.conversationList.appendChild(We)}}function y0(L){F.conversationList.querySelectorAll(".conversationItem").forEach(V=>{V.dataset.id===L?V.classList.add("active"):V.classList.remove("active")})}function v0(L){Ct=L.taskId;let V=Gs(L.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";F.pausedTaskBanner.innerHTML="";let Ee=document.createElement("span");Ee.className="pausedTaskText",Ee.textContent=`Paused: "${V}"`;let Re=document.createElement("div");Re.className="pausedTaskActions";let We=document.createElement("button");We.type="button",We.className="pausedTaskResumeBtn",We.textContent="Resume",We.addEventListener("click",()=>e.onResumeTask?.(Ct));let ht=document.createElement("button");ht.type="button",ht.className="pausedTaskCancelBtn",ht.textContent="Cancel",ht.addEventListener("click",()=>e.onCancelPausedTask?.(Ct)),Re.appendChild(We),Re.appendChild(ht),F.pausedTaskBanner.appendChild(Ee),F.pausedTaskBanner.appendChild(Re),F.pausedTaskBanner.classList.add("visible")}function k0(){Ct="",F.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let L=e.greeting.delay??800;Te=setTimeout(()=>{Te=null,F.panel.classList.contains("open")||(yh(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(Ye=setTimeout(()=>{Ye=null,vh()},e.greeting.duration)))},L)}return{addMessage:s0,setTranscript:(L,V)=>{Ne.setTranscript(L,V.map(vs)),Rr=L.length>0||V.length>0;let Ee=[...L].reverse().find(Re=>Re.role==="user");$=Ee?Ue(Ee.text):"",nn(),Xe.syncVisibility(Rr,He,!!je?.questions?.length)},setQuestionPrompt:gh,clearMessages:c0,addTimelineEvent:L=>{let V=vs(L);Ne.addTimelineEvent(V),Mr.addTimelineEvent(V),_n(V.detailBlocks);let Ee=!0;if(V.kind==="thought"&&He&&de&&(de=!1,Pt()),(V.title||"").toLowerCase()==="run completed"){Ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards);try{mn.clearAll()}catch{}Ee=!1}let Re=V.status||(V.kind==="error"?"error":V.kind==="tool_result"?"success":"pending");if(Re==="error"?u.setMood("error",2200):Re==="success"?u.setMood("success",1200):u.setMood("running",800),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",He&&u.getMood()==="running"),nn(),V.kind==="tool_start"){Ce++,Le();let ht=!0;try{ht=Zs(V,e.getLocalLogicalTabId?.())}catch{ht=!1}if(ht&&i.motion?.actionSpotlight!==!1)try{mn.addEvent(V)}catch{}if(Pe(V),Ee=!1,ht&&V.elementId!=null&&i.motion?.filaments!==!1)try{sn.addTarget(V.elementId,V.toolName);let rn=e.resolveElement?.(V.elementId);if(rn){let kt=rn.getBoundingClientRect();To()||ys(kt.left+kt.width/2,kt.top+kt.height/2),f.style.setProperty("--rv-palimpsest-x",`${kt.left+kt.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${kt.top+kt.height/2}px`)}else{let kt=F.panel.getBoundingClientRect();To()||ys(kt.left,kt.top+kt.height/2)}}catch{}}if(V.kind==="tool_result"){gr++,Le();let ht=!0;try{ht=Zs(V,e.getLocalLogicalTabId?.())}catch{ht=!1}if(ht)try{mn.fadeEvent(V)}catch{}if(ht&&V.elementId!=null)try{sn.fadeTarget(V.elementId)}catch{}}Ee&&Pe(V);let We=Ne.traceOrder.length;Ot.textContent=String(We),Mt()},clearTimeline:()=>{ve(),Ne.clearTimeline(),Mr.clear(),q=null,y=!1,Hn(),nn(),Ce=0,gr=0,Le(),sn.clearAll();try{mn.clearAll()}catch{}Ot.textContent="0"},setTaskSuggestion:sa,setStatus:l0,setRunning:d0,setExecutionMode:bh,setShortcuts:L=>{Xe.render(L,Dt),Xe.syncVisibility(Rr,He,!!je?.questions?.length),wt.setItems(L)},showGreeting:yh,dismissGreeting:vh,setVisitorName:u0,setVoiceConfig:kh,setPlaceholders:L=>{at.setPlaceholders(L)},setExperience:f0,open:Eu,close:aa,minimize:ia,maximize:mi,show:p0,hide:m0,destroy:h0,setState:L=>{L==="window"?Eu():L==="bar"?ia():aa()},getState:()=>u.getState(),setTabs:g0,setConversations:b0,setActiveConversationId:y0,getScrollPosition:()=>Ne.getScrollPosition(),setScrollPosition:L=>Ne.setScrollPosition(L),showPausedTaskBanner:v0,hidePausedTaskBanner:k0}}var kv=3,UE="rover:shared:",FE="rover:channel:",op=2*6e4,yv=9e4,ip=45e3,ap=2e4,zE=45e3;function we(){return Date.now()}function to(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function sd(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function xv(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||we(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function wv(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function ld(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function ec(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||we(),runId:o,taskId:i,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function Sv(e){return Array.isArray(e)?e.slice(-Vt.uiMessages).map(t=>({id:String(t?.id||to("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:Ca(t?.blocks),ts:Number(t?.ts)||we(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}var HE=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function jE(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function cp(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!HE.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=jE(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?t.toolCallId.trim().slice(0,128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?t.targetLabel.trim().slice(0,64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Tv(e){return Array.isArray(e)?e.slice(-Vt.timelineEvents).map(t=>({id:String(t?.id||to("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:Ca(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||we(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(t?.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t?.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t?.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t?.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t?.responseKind==="checkpoint"||t?.responseKind==="final"||t?.responseKind==="question"||t?.responseKind==="error"?t.responseKind:void 0,actionCue:cp(t?.actionCue)})).filter(t=>!!t.title):[]}var $E=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function qE(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=$E.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||we(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||we(),updatedAt:Number(e.activeRun.updatedAt)||we()}:void 0,workerContext:dd(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-Vt.uiMessages).map(r=>({id:String(r?.id||to("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:Ca(r?.blocks),ts:Number(r?.ts)||we(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-Vt.timelineEvents).map(r=>({id:String(r?.id||to("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:Ca(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||we(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(r?.elementId))?Math.trunc(Number(r.elementId)):void 0,toolName:typeof r?.toolName=="string"?r.toolName.slice(0,120):void 0,actionCue:cp(r?.actionCue)})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:ld(e.seedChatLog),transientStatus:ec(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function VE(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=qE(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function _v(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function Ca(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=_v(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function vv(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=_v(o);i!==void 0&&r.push(i)}return r}function dd(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-Vt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),i=Array.isArray(e.history)?o(e.history):[],a=vv(e.plannerHistory,Vt.plannerHistory),s=vv(e.agentPrevSteps,Vt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:ld(e.seedChatLog),history:i,plannerHistory:a,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||we(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||we()}}function sp(e,t){return{version:kv,siteId:e,sessionId:t,seq:1,updatedAt:we(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function Ra(e,t,n){let r=sp(t,n);if(!e||typeof e!="object")return r;let o={...r,version:kv,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||we(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||we(),updatedAt:Number(s?.updatedAt)||we(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:Sv(e.uiMessages),timeline:Tv(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:xv(e.task),workerContext:dd(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:ec(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||we(),updatedAt:Number(e.activeRun.updatedAt)||we()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||we()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||we(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?VE(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},i=o.tabs.length,a=new Set;return o.tabs=o.tabs.filter(s=>a.has(s.logicalTabId)?!1:(a.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),i>0&&o.tabs.length<i&&console.warn(`[rover] sanitizeSharedState: dropped ${i-o.tabs.length} invalid/duplicate tab entries`),Zn(o),o}function WE(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||we();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:wv(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:ld(e.workerContext?.seedChatLog),transientStatus:ec(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function Zn(e){let t=WE(e);if(!t)return;t.state=wv(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||we(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=dd(e.workerContext),t.uiMessages=Sv(e.uiMessages),t.timeline=Tv(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=ld(e.workerContext?.seedChatLog),t.transientStatus=ec(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var cd=class e{siteId;sessionId;runtimeId;leaseMs;workflowLockMs;heartbeatMs;maxMessages;maxTimeline;onRoleChange;onStateChange;onSwitchRequested;onTaskTabsExhausted;key;channelName;state;taskTabMapping=new Map;channel=null;heartbeatTimer=null;storageHandler=null;localLogicalTabId;closing=!1;started=!1;heartbeatCount=0;lastNotifiedStateHash="";static LS_HEARTBEAT_DIVISOR=5;pendingRpcRequests=new Map;rpcRequestHandler;lastNotifiedRole;roleChangeTimer=null;probeTimers=[];static ROLE_CHANGE_DEBOUNCE_MS=200;onSessionTokenReceived;onProjectionReceived;tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=zE:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=op:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=ap:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=ip:n-this.tabFreshnessTs(t)<=yv}normalizeDraftTabs(t){let n=new Map;for(let u of t.tabs){if(!Number.isFinite(Number(u.logicalTabId))||Number(u.logicalTabId)<=0)continue;let h=n.get(u.logicalTabId);this.isBetterTabCandidate(u,h)&&n.set(u.logicalTabId,u)}let r=[],o=new Set;for(let u of t.tabs){if(o.has(u.logicalTabId))continue;let h=n.get(u.logicalTabId);h&&h===u&&(r.push(h),o.add(h.logicalTabId))}for(let[u,h]of n.entries())o.has(u)||(r.push(h),o.add(u));let i=new Map;for(let u of r){if(!u.runtimeId)continue;let h=i.get(u.runtimeId);this.isBetterTabCandidate(u,h)&&i.set(u.runtimeId,u)}if(t.tabs=r.filter(u=>!u.runtimeId||i.get(u.runtimeId)===u).sort((u,h)=>u.logicalTabId-h.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let a=we(),s=t.activeLogicalTabId?t.tabs.find(u=>u.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(u=>u.runtimeId===this.runtimeId),d=[...t.tabs.filter(u=>this.isRuntimeTabFresh(u,a))].sort((u,h)=>this.tabFreshnessTs(h)-this.tabFreshnessTs(u))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,a))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((u,h)=>Math.max(u,h.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,i=!!n?.keepOnlyActiveLiveTab,a=!!n?.keepRecentExternalPlaceholders,s=we(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=op;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=ip:l.detachedReason==="opened_pending_attach"?d<=ap:d<=yv}),i){this.normalizeDraftTabs(t);let l=t.tabs.filter(h=>this.isRuntimeTabFresh(h,s)),d=l.find(h=>h.logicalTabId===t.activeLogicalTabId),m=l.find(h=>h.runtimeId===this.runtimeId),f=[...l].sort((h,b)=>this.tabFreshnessTs(b)-this.tabFreshnessTs(h))[0],u=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(h=>h.runtimeId?!!u&&h.logicalTabId===u:h.external?a&&s-this.tabFreshnessTs(h)<=op:!1),t.activeLogicalTabId=u||t.tabs.find(h=>h.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let u of m)if(l.has(u)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=we(),i=sd(n),a=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(a?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:i||a?.url||"",title:r||a?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}constructor(t){this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||Vt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||Vt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${UE}${this.siteId}:${this.sessionId}`,this.channelName=`${FE}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=Ra(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=Ra(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=we()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=xv(t)||r.task,Zn(r))})}hydrateExternalState(t){let n=Ra(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let i=this.state.seq!==r||this.state.updatedAt!==o;if(!i&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),i=this.state.tabs.length!==s}return i?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=we();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||we(),r={taskId:String(t.taskId||to("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),Zn(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:we()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,Zn(r),n=r.task)}),n}markTaskActivity(t,n=we()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:to("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),Zn(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,Zn(n);return}n.workerContext=dd(t),Zn(n)})}setStatus(t){this.mutate("local",n=>{let r=ec(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,Zn(n)})}appendMessage(t){let n={id:t.id||to("msg"),role:t.role,text:String(t.text||""),blocks:Ca(t.blocks),ts:Number(t.ts)||we(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:to("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),Zn(r)}),n}appendTimeline(t){let n={id:t.id||to("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:Ca(t.detailBlocks),status:t.status,ts:Number(t.ts)||we(),sourceRuntimeId:this.runtimeId,elementId:Number.isFinite(Number(t.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t.responseKind==="checkpoint"||t.responseKind==="final"||t.responseKind==="question"||t.responseKind==="error"?t.responseKind:void 0,actionCue:cp(t.actionCue)};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),Zn(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],Zn(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,Zn(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,Zn(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:we(),updatedAt:we()},Zn(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=sd(t),i=typeof r?.handoffId=="string"?r.handoffId.trim():"",a=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=we(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,u=f?c.tabs.find(S=>S.runtimeId===f.runtimeId&&S.updatedAt>l-2*this.heartbeatMs):void 0,h=!u&&(!m||m===this.runtimeId),b=c.tabs.find(S=>S.runtimeId===this.runtimeId);if(b)b.url=o||b.url,b.title=n||b.title,b.updatedAt=l,b.detachedAt=void 0,b.detachedReason=void 0,b.handoffId=void 0,b.handoffRunId=void 0,b.handoffTargetUrl=void 0,b.handoffCreatedAt=void 0,s=b.logicalTabId;else{let S;if(i&&(S=c.tabs.find(k=>{if(k.runtimeId||String(k.handoffId||"").trim()!==i||Number.isFinite(a)&&a>0&&k.logicalTabId!==a)return!1;let x=l-Number(k.handoffCreatedAt||k.updatedAt||k.openedAt||0);return x>=0&&x<=3e4})),S||(S=c.tabs.find(k=>!k.runtimeId&&!k.external&&k.url===o&&l-k.openedAt<18e4)),S)S.runtimeId=this.runtimeId,S.url=o||S.url,S.title=n||S.title,S.updatedAt=l,S.detachedAt=void 0,S.detachedReason=void 0,S.handoffId=void 0,S.handoffRunId=void 0,S.handoffTargetUrl=void 0,S.handoffCreatedAt=void 0,s=S.logicalTabId;else{let k=c.nextLogicalTabId++;c.tabs.push({logicalTabId:k,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=k}}s&&(c.tabs=c.tabs.filter(S=>{if(S.logicalTabId===s||S.runtimeId||S.external)return!0;if(i&&String(S.handoffId||"").trim()===i)return!1;let k=l-this.tabFreshnessTs(S);return!(!String(S.url||"").trim()&&k>ap||o&&S.url===o&&k<=ip)}));let v=c.activeLogicalTabId?c.tabs.find(S=>S.logicalTabId===c.activeLogicalTabId):void 0;u?c.activeLogicalTabId=u.logicalTabId:(!v||!v.runtimeId||v.logicalTabId===s||h)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=sd(t.url),r=0;return this.mutate("local",o=>{let i=we(),a=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(a){a.title=t.title||a.title,a.updatedAt=i,a.openerRuntimeId=t.openerRuntimeId||a.openerRuntimeId,a.detachedAt=a.detachedAt||i,a.detachedReason="opened_pending_attach",r=a.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:i,updatedAt:i,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:i,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(i=>i.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",i=>{let a=i.tabs.find(s=>s.logicalTabId===t);a&&(a.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(i=>i.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((i,a)=>{if(!this.channel){a(new Error("BroadcastChannel not available"));return}let s=to("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),a(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:i,reject:a,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:we()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=we(),o=n.tabs.find(i=>i.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>we()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let i=o.workflowLock;if(!n?.force&&i&&i.runtimeId!==this.runtimeId&&i.expiresAt>we()){let a=o.tabs.find(c=>c.runtimeId===i.runtimeId);if(a&&a.updatedAt>we()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:we(),expiresAt:we()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>we()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=we()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:i}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let a=await this.rpcRequestHandler({method:o,params:i});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:a})}catch(a){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:a?.message||String(a)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:i}=t,a=this.pendingRpcRequests.get(n);a&&(this.pendingRpcRequests.delete(n),window.clearTimeout(a.timer),r?a.resolve(o):a.reject(new Error(i?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",i=>{let a=i.tabs.find(s=>s.runtimeId===n);a&&(a.url=r||a.url,a.title=o||a.title,a.updatedAt=we())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,i=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,a=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||we();this.mutate("local",c=>{let l=we(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=i,d.handoffTargetUrl=a,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}lastFullHeartbeatAt=0;heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=sd(window.location.href),n=document.title||void 0,r=we(),o=this.state.lease,i=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,a=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(i&&a&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%e.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(I=>I.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=we(),d.detachedAt=void 0,d.detachedReason=void 0;else{let I=we(),M=l.nextLogicalTabId++;l.tabs.push({logicalTabId:M,runtimeId:this.runtimeId,url:t,title:n,openedAt:I,updatedAt:I,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=we(),u=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>we()?m.holderRuntimeId:void 0,h=u?l.tabs.find(I=>I.runtimeId===u):void 0,b=!!(h&&h.updatedAt>we()-2*this.heartbeatMs),v=l.workflowLock?.runtimeId,S=v?l.tabs.find(I=>I.runtimeId===v):void 0,k=!!(S&&S.runtimeId&&S.runtimeId!==this.runtimeId&&S.updatedAt>we()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=we()||!k)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&k&&S&&(l.activeLogicalTabId=S.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let I=l.tabs.find(G=>G.runtimeId===l.activeRun?.runtimeId);I&&I.updatedAt>we()-2*this.heartbeatMs||(l.activeRun=void 0)}let x=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),C=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>we()),_=!!(u&&!b&&!x&&!C);(f||m?.holderRuntimeId===this.runtimeId||_)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=we()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,i=!o||o.expiresAt<=we();(t||i||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:we()+this.leaseMs,updatedAt:we()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},e.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let a=window.localStorage.getItem(this.key);if(a){let s=Ra(JSON.parse(a),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=Ra(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=we(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let i=this.computeStateHash(this.state);i!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=i,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return sp(this.siteId,this.sessionId);let n=JSON.parse(t);return Ra(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),sp(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};var Ev="rover",ud="rover_shortcut";function Iv(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function Rv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Av(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function tc(e){let t=Iv(e?.promptParam,Ev),n=Iv(e?.shortcutParam,ud);return n===t&&(n=n===ud?`${ud}_id`:ud,n===t&&(t=Ev)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function fd(e){let t=tc(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function lp(e){return{enabled:e?.enabled===!0}}function Cv(e,t){let n=tc(e),r=typeof n.enabled=="boolean",o=lp(t);return{enabled:r?n.enabled===!0:o.enabled,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume}}function Mv(e,t){let n=fd(t),r=Rv(e),o=Av(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let i=Av(r.searchParams,n.promptParam);return i?{kind:"prompt",paramName:n.promptParam,value:i,signature:`prompt:${n.promptParam}:${i}`}:null}function dp(e,t){let n=fd(t),r=Rv(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var up="rover_launch",Lv="rover_attach";function Dv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Nv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Pv(e){let t=Dv(e),n=Nv(t.searchParams,up),r=Nv(t.searchParams,Lv);return!n||!r?null:{requestId:n,attachToken:r,signature:`${up}:${n}:${r}`}}function Ov(e){let t=Dv(e);t.searchParams.delete(up),t.searchParams.delete(Lv);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function nc(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function fp(e){return nc(e)!==void 0}var pp="rover_receipt",mp="rover_anchor";function Bv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function hp(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Uv(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function gp(e){let t=Bv(e),n=Uv(t),r=hp(n,pp);if(!r)return null;let o=hp(n,mp)||void 0;return{receipt:r,anchor:o,signature:`${pp}:${r}`}}function Fv(e){let t=Bv(e),n=Uv(t),r=hp(n,mp);n.delete(pp),n.delete(mp);let o=n.toString(),i=t.searchParams.toString(),a=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${i?`?${i}`:""}${a}`}var KE="https://rover.rtrvr.ai/embed.js",GE="https://agent.rtrvr.ai";function Ft(e){return String(e||"").trim()}function Lt(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function XE(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Ri(e){let t=Ft(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function YE(e){let t=Ft(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function JE(e){let t=Number(Ft(e));return Number.isFinite(t)?Math.trunc(t):void 0}function Hv(e){let t=Ft(e);if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function jv(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=Ft(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function $v(e){if(!e||typeof e!="object")return;let t={};if(e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;if(n){let r={};typeof n.enabled=="boolean"&&(r.enabled=n.enabled),(n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off")&&(r.defaultMode=n.defaultMode);let o=Number(n.rate);Number.isFinite(o)&&(r.rate=Math.max(.85,Math.min(1.15,o)));let i=Ft(n.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,24);i&&(r.language=i),(n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural")&&(r.voicePreference=n.voicePreference),Object.keys(r).length&&(t.audio={narration:r})}}if(e.motion&&typeof e.motion=="object"){let n={};typeof e.motion.actionSpotlight=="boolean"&&(n.actionSpotlight=e.motion.actionSpotlight);let r=Hv(e.motion.actionSpotlightColor);r&&(n.actionSpotlightColor=r),Object.keys(n).length&&(t.motion=n)}return Object.keys(t).length?t:void 0}function QE(e){if(!e||typeof e!="object")return;let t={},n=jv(e.voice);n&&(t.voice=n);let r=$v(e.experience);return r&&(t.experience=r),Object.keys(t).length?t:void 0}function bp(e){let t={...e,scriptUrl:Ft(e.scriptUrl)||KE},n=QE(e.ui);return n?t.ui=n:delete t.ui,t}function zv(e){let t=bp(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),typeof t.cloudSandboxEnabled=="boolean"&&(n.cloudSandboxEnabled=t.cloudSandboxEnabled),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),typeof t.pageConfig?.disableAutoScroll=="boolean"&&(n.pageConfig={disableAutoScroll:t.pageConfig.disableAutoScroll}),t.ui&&(n.ui=t.ui),n}function ZE(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
4368
+ `)}function eI(){return"(function(){var r=window.rover=window.rover||function(){(r.q=r.q||[]).push(arguments)};r.l=+new Date()})();"}function qv(e,t=!1){let n=bp(e),r=t?JSON.stringify(zv(n)):JSON.stringify(zv(n),null,2),o=n.attachLaunch?t?JSON.stringify(n.attachLaunch):JSON.stringify(n.attachLaunch,null,2):"",i=JSON.stringify(n.scriptUrl);if(t)return[eI(),`rover('boot', ${r});`,n.attachLaunch?`rover('attachLaunch', ${o});`:"",`(function(){var s=document.createElement('script');s.src=${i};s.async=true;(document.head||document.documentElement).appendChild(s)})();`].filter(Boolean).join("");let a=[ZE(),"",`rover('boot', ${r});`];return n.attachLaunch&&a.push(`rover('attachLaunch', ${o});`),a.push("","(function(){",' var s = document.createElement("script");',` s.src = ${i};`," s.async = true;"," (document.head || document.documentElement).appendChild(s);","})();"),a.join(`
4369
+ `)}function tI(e){return qv(e,!1)}function nI(e){return`javascript:${qv(e,!0)}`}function rI(e){let t=bp(e),n=[`src="${Lt(t.scriptUrl)}"`,`data-site-id="${Lt(t.siteId)}"`];t.publicKey&&n.push(`data-public-key="${Lt(t.publicKey)}"`),t.sessionToken&&n.push(`data-session-token="${Lt(t.sessionToken)}"`),t.sessionId&&n.push(`data-session-id="${Lt(t.sessionId)}"`),t.siteKeyId&&n.push(`data-site-key-id="${Lt(t.siteKeyId)}"`),t.apiBase&&n.push(`data-api-base="${Lt(t.apiBase)}"`),t.workerUrl&&n.push(`data-worker-url="${Lt(t.workerUrl)}"`),t.allowedDomains?.length&&n.push(`data-allowed-domains="${Lt(t.allowedDomains.join(","))}"`),t.domainScopeMode&&n.push(`data-domain-scope-mode="${Lt(t.domainScopeMode)}"`),typeof t.cloudSandboxEnabled=="boolean"&&n.push(`data-cloud-sandbox-enabled="${Lt(String(t.cloudSandboxEnabled))}"`),t.sessionScope&&n.push(`data-session-scope="${Lt(t.sessionScope)}"`),typeof t.openOnInit=="boolean"&&n.push(`data-open-on-init="${Lt(String(t.openOnInit))}"`),t.mode&&n.push(`data-mode="${Lt(t.mode)}"`),typeof t.allowActions=="boolean"&&n.push(`data-allow-actions="${Lt(String(t.allowActions))}"`),typeof t.pageConfig?.disableAutoScroll=="boolean"&&n.push(`data-disable-auto-scroll="${Lt(String(t.pageConfig.disableAutoScroll))}"`),typeof t.ui?.voice?.enabled=="boolean"&&n.push(`data-voice-enabled="${Lt(String(t.ui.voice.enabled))}"`),t.ui?.voice?.language&&n.push(`data-voice-language="${Lt(t.ui.voice.language)}"`),typeof t.ui?.voice?.autoStopMs=="number"&&n.push(`data-voice-auto-stop-ms="${Lt(String(t.ui.voice.autoStopMs))}"`);let r=t.ui?.experience?.audio?.narration;typeof r?.enabled=="boolean"&&n.push(`data-narration-enabled="${Lt(String(r.enabled))}"`),r?.defaultMode&&n.push(`data-narration-default-mode="${Lt(r.defaultMode)}"`),typeof r?.rate=="number"&&n.push(`data-narration-rate="${Lt(String(r.rate))}"`),r?.language&&n.push(`data-narration-language="${Lt(r.language)}"`),r?.voicePreference&&n.push(`data-narration-voice-preference="${Lt(r.voicePreference)}"`),typeof t.ui?.experience?.motion?.actionSpotlight=="boolean"&&n.push(`data-action-spotlight="${Lt(String(t.ui.experience.motion.actionSpotlight))}"`),t.ui?.experience?.motion?.actionSpotlightColor&&n.push(`data-action-spotlight-color="${Lt(t.ui.experience.motion.actionSpotlightColor)}"`);let o=`${Ft(t.apiBase)||GE}/v1/a2w/runs`;return[`<script type="application/agent+json" data-rover-agent-discovery="marker">${XE(JSON.stringify({a2w:o,run:o}))}<\/script>`,'<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" data-rover-agent-discovery="service-desc" />','<link rel="service-doc" href="/llms.txt" type="text/markdown" data-rover-agent-discovery="service-doc" />',`<script ${n.join(" ")}><\/script>`].join(`
4370
+ `)}function Vv(e){let t=Ft(e.getAttribute("data-site-id")),n=Ft(e.getAttribute("data-public-key")),r=Ft(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let i=Ft(e.getAttribute("data-session-id"));i&&(o.sessionId=i);let a=Ft(e.getAttribute("data-site-key-id"));a&&(o.siteKeyId=a);let s=Ft(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=Ft(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=YE(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=Ft(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=Ri(e.getAttribute("data-cloud-sandbox-enabled"));typeof m=="boolean"&&(o.cloudSandboxEnabled=m);let f=Ft(e.getAttribute("data-session-scope"));(f==="shared_site"||f==="tab")&&(o.sessionScope=f);let u=Ri(e.getAttribute("data-open-on-init"));typeof u=="boolean"&&(o.openOnInit=u);let h=Ft(e.getAttribute("data-mode"));(h==="safe"||h==="full")&&(o.mode=h);let b=Ri(e.getAttribute("data-allow-actions"));typeof b=="boolean"&&(o.allowActions=b);let v=Ri(e.getAttribute("data-disable-auto-scroll"));typeof v=="boolean"&&(o.pageConfig={disableAutoScroll:v});let S=Ri(e.getAttribute("data-voice-enabled")),k=Ft(e.getAttribute("data-voice-language")),x=JE(e.getAttribute("data-voice-auto-stop-ms")),C=Ri(e.getAttribute("data-narration-enabled")),_=Ft(e.getAttribute("data-narration-default-mode")),I=Number(Ft(e.getAttribute("data-narration-rate"))),M=Ft(e.getAttribute("data-narration-language")),G=Ft(e.getAttribute("data-narration-voice-preference")),O=Ri(e.getAttribute("data-action-spotlight")),Y=Hv(e.getAttribute("data-action-spotlight-color")),Z=jv({...typeof S=="boolean"?{enabled:S}:{},...k?{language:k}:{},...typeof x=="number"?{autoStopMs:x}:{}}),ae=$v({...typeof C=="boolean"||_||Number.isFinite(I)||M||G?{audio:{narration:{...typeof C=="boolean"?{enabled:C}:{},..._==="guided"||_==="always"||_==="off"?{defaultMode:_}:{},...Number.isFinite(I)?{rate:I}:{},...M?{language:M}:{},...G==="auto"||G==="system"||G==="natural"?{voicePreference:G}:{}}}}:{},...typeof O=="boolean"||Y?{motion:{...typeof O=="boolean"?{actionSpotlight:O}:{},...Y?{actionSpotlightColor:Y}:{}}}:{}});return(Z||ae)&&(o.ui={...Z?{voice:Z}:{},...ae?{experience:ae}:{}}),o}function oI(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function Fr(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function oc(e){let t=new Set,n=[];for(let r of e){let o=ic(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function iI(e){let t=Fr(e),n=`${t}/v2/rover`,r=ic(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?oc([o,n]):oc(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function Wv(e){return iI(e)}function aI(e){return Wv(e)[0]||`${Fr(e)}/v2/rover`}function Mi(e){return Wv(e)}function md(e){return aI(e)}function ic(e){return String(e||"").replace(/\/+$/,"")}function pd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Ci(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function hd(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function sI(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),i=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!i)return;let a=hd(n?.currentSeq??r?.currentSeq),s=hd(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:i==="stale_seq"||i==="stale_epoch";return{type:i,currentSeq:a,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function rc(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function Ma(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function yp(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${Fr(e)}/v1/a2w/runs/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var gd=class e{options;base;baseCandidates;baseIndex=0;sessionToken;sessionTokenExpiresAt=0;sessionId;epoch=1;eventSource=null;pollTimer=null;reconnectTimer=null;sseReconnectAttempts=0;static SSE_BASE_DELAY_MS=2e3;static SSE_MAX_DELAY_MS=6e4;static SSE_MAX_JITTER_MS=3e3;static SSE_MAX_RECONNECT_ATTEMPTS=10;started=!1;lastSeq=0;lastRunId="";lastSnapshotDigest="";activeRunId;visibilityListener=null;pollIntervalMs=2e3;commandInFlight=!1;commandQueue=Promise.resolve();constructor(t){this.options=t,this.baseCandidates=Mi(t.apiBase),this.base=this.baseCandidates[0]||md(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=Mi(t),this.baseIndex=0,this.base=this.baseCandidates[0]||md(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?ic(this.baseCandidates[this.baseIndex]||this.base):ic(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=Mi(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let i=0;i<o;i+=1){let a=(this.baseIndex+i)%o,s=ic(this.baseCandidates[a]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await Ma(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=a,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=oI(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&Ci(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,i=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let a=String(t.activeRunId||"");this.activeRunId=a||void 0,a!==this.lastRunId&&(this.lastRunId=a,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||a!==r||this.lastSeq!==o||t.snapshot||c&&c!==i)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,i={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!i.sessionToken&&!i.bootstrapToken)return null;let a=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await a(i);if(s.status===401&&o&&n&&(rc(c)==="SESSION_TOKEN_EXPIRED"||rc(c)==="SESSION_TOKEN_INVALID"||rc(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await a({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=rc(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=hd(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=hd(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:pd(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:i,json:a}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(i.status===401&&s<1){let c=rc(a);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(i.status===409)return this.syncCursorFromPayload(a?.data),{ok:!1,data:a?.data||null,conflict:sI(a),raw:a};if(!i.ok||!a?.success){let c=a?.error||`request failed (${i.status})`,l=new Error(String(c));throw l.status=i.status,l.code=String(a?.error||a?.data?.code||"").trim()||void 0,l.details=a?.data||a,l}return this.syncCursorFromPayload(a?.data),{ok:!0,data:a?.data||null,raw:a}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;Ci(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let i=o.data||{},a=i?.data||null,s=String(i?.runId||a?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(i?.seq||a?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(i?.epoch))&&(this.epoch=Math.max(1,Number(i?.epoch))),Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i?.seq||0))),a}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let i=o.data||{},a=i?.data||null;return Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i.seq||0))),Ci(a?.projection)&&this.applyProjection(a.projection),a}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",i=t.source==="google_search"?"google_search":"direct_url";for(let a=0;a<2;a+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:i,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(a===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=pd(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let i=o.conflict;if(i?.retryable&&(i.type==="stale_seq"||i.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||i,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return i?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!i,conflict:i?{type:i.type,currentSeq:i.currentSeq,currentEpoch:i.currentEpoch,retryable:!!i.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&Ci(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!Ci(o))return null;let i=o;return this.applyProjection(i),i}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(i=>({path:i.path,body:i.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserRunReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:pd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Mi(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=oc(this.baseCandidates.map(a=>Fr(a))),i;for(let a of o)try{let s=await fetch(`${a}/v1/a2w/runs/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await Ma(s);if(!s.ok||!c?.success){i=new Error(String(c?.error||`request failed (${s.status})`)),i.status=s.status,i.details=c?.data||c;continue}return c.data||null}catch(s){i=s}throw i instanceof Error?i:new Error("Browser receipt claim failed.")}async createSessionRootRun(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,executionId:String(t.executionId||"").trim()||void 0,requestNonce:pd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Mi(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let i=oc(this.baseCandidates.map(s=>Fr(s))),a;for(let s of i)try{let c=await fetch(`${s}/v1/a2w/runs/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await Ma(c);if(!c.ok||!l?.success){a=new Error(String(l?.error||`request failed (${c.status})`)),a.status=c.status,a.details=l?.data||l;continue}return l.data||null}catch(c){a=c}throw a instanceof Error?a:new Error("Session root A2W run creation failed.")}async createRunHandoff(t){let n=String(t.parentRunId||"").trim(),r=String(t.runAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let i=yp(Fr(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),a=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&a.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(i,{method:"POST",headers:a,body:JSON.stringify(c)}),d=await Ma(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicRun(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=yp(Fr(this.base),t,n.accessToken),i=await fetch(o,{method:"GET",headers:r}),a=await Ma(i);if(!i.ok||!a?.success){let s=String(a?.error||`request failed (${i.status})`),c=new Error(s);throw c.status=i.status,c.details=a?.data||a,c}return a.data||null}async continuePublicRun(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let i=new Headers({Accept:"application/json","Content-Type":"application/json"}),a=yp(Fr(this.base),t,r.accessToken),s=await fetch(a,{method:"POST",headers:i,body:JSON.stringify({input:o})}),c=await Ma(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(i=>({type:i.type,ts:i.ts,data:i.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(a){this.reportError(a)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=e.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=e.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),e.SSE_MAX_DELAY_MS),r=Math.random()*e.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=i=>{try{let a=JSON.parse(i||"{}"),s=a&&typeof a=="object"&&Ci(a.projection)?a.projection:a;Ci(s)&&this.applyProjection(s)}catch(a){this.reportError(a)}};r.addEventListener("projection",i=>{o(i.data||"{}")}),r.addEventListener("projection_delta",i=>{o(i.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(i=>this.reportError(i)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};var Ao="/.well-known/agent-card.json",Ni="/.well-known/rover-site.json",Yv="/llms.txt",Jv="__ROVER_WEBMCP_TOOL_DEFS__",sc=3,cI="/v1/a2w/runs",lI="/v1/a2w/workflows",dI=2e3,Qv={type:"object",properties:{status:{type:"string",description:"A2W run status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},run:{type:"string",description:"Canonical A2W run URL."},workflow:{type:"string",description:"Canonical A2W workflow URL when delegation occurs."}}},uI={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function be(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Eo(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function It(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||160);for(let a of e){let s=be(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function Io(e){let t=Eo(e);return t?{...t}:void 0}function ac(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return be(e)||"https://example.com/"}}function Zv(e){let t=be(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function fI(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function Na(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function pI(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function cc(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function lc(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function mI(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover A2W run and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or A2W run endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function hI(e){let t=e.discoverySurface||{},n=Na(t.mode,e.visibleCue===!1?"silent":"beacon"),r=cc(t.hostSurface,"auto"),o=lc(t.actionReveal,"click"),i=be(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,a={mode:n,branding:pI(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:i,agentModeEntryHints:It(t.agentModeEntryHints,{max:8,maxLen:240})};return{...a,agentModeEntryHints:a.agentModeEntryHints.length?a.agentModeEntryHints:mI(a)}}function Li(e){let t=Eo(e);if(!t)return;let n=Eo(t.discoverySurface),r={};if(n){let i=Na(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=i),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let a=be(n.beaconLabel||n.visibleCueLabel,180)||void 0;a&&(r.beaconLabel=a);let s=It(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&be(t.siteUrl)&&(o.siteUrl=be(t.siteUrl)),typeof t.siteId=="string"&&be(t.siteId,160)&&(o.siteId=be(t.siteId,160)),typeof t.apiBase=="string"&&be(t.apiBase,240)&&(o.apiBase=be(t.apiBase,240)),typeof t.siteName=="string"&&be(t.siteName,160)&&(o.siteName=be(t.siteName,160)),typeof t.description=="string"&&be(t.description,400)&&(o.description=be(t.description,400)),typeof t.version=="string"&&be(t.version,120)&&(o.version=be(t.version,120)),typeof t.agentCardUrl=="string"&&be(t.agentCardUrl,240)&&(o.agentCardUrl=be(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&be(t.roverSiteUrl,240)&&(o.roverSiteUrl=be(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&be(t.llmsUrl,240)&&(o.llmsUrl=be(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&be(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=be(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function ek(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function gI(e,t){let n=Eo(e);if(!n)return null;let r=be(n.capabilityId||n.id,120),o=be(n.label||n.name,180),i=be(n.description,480);if(!r||!o||!i)return null;let a=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=fI(n.resultModes);return{capabilityId:r,version:be(n.version,80)||t.version,label:o,description:i,inputSchema:Io(n.inputSchema),outputSchema:Io(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:vp({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:a.length?a:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:It(n.pageScope,{max:24,maxLen:80}),analyticsTags:It(n.analyticsTags,{max:24,maxLen:64}),rover:Eo(n.rover)?{...n.rover}:void 0}}function tk(e,t){let n=Eo(e);if(!n)return null;let r=be(n.pageId||n.id,120);if(!r)return null;let o=be(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:Zv(n.route),label:be(n.label,180)||void 0,capabilityIds:It(n.capabilityIds,{max:48,maxLen:120}),entityHints:It(n.entityHints,{max:24,maxLen:120}),formHints:It(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:Na(n.discoveryMode,t?.mode||"beacon"),hostSurface:cc(n.hostSurface,t?.hostSurface||"auto"),actionReveal:lc(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:It(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:It(n.capabilitySummary,{max:12,maxLen:180})}}function nk(e){return`${Fr(e)}${cI}`}function rk(e){return`${Fr(e)}${lI}`}function bI(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function yI(e){return be(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function vI(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let i=Eo(o);if(!i)continue;let a=be(i.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(a)?a:"string"};if(i.description&&(s.description=be(i.description,240)),i.enum&&Array.isArray(i.enum)){let c=It(i.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(a==="array"&&i.items&&(s.items=Io(i.items)||{type:be(i.items?.type)||"string"}),a==="object"&&i.properties&&typeof i.properties=="object"){s.properties={};for(let[c,l]of Object.entries(i.properties)){let d=Eo(l);d&&(s.properties[c]={type:be(d.type)||"string",...d.description?{description:be(d.description,240)}:{}})}if(Array.isArray(i.required)){let c=It(i.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:It(t,{max:50,maxLen:80})}:{}}}function vp(e){let t=Eo(e)||{};return{category:be(t.category,40)||void 0,tags:It(t.tags,{max:16,maxLen:40}),examples:It(t.examples,{max:6,maxLen:200}),whenToUse:be(t.whenToUse,280)||void 0,whyUse:be(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="run"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function ok(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function ik(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function ak(e,t,n,r){let o=[];return e&&o.push(be(e,120)),t&&o.push(be(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function sk(e){let t=be(e.id,80),n=be(e.label,120),r=be(e.prompt,dI);if(!t||!n||!r||e.enabled===!1)return null;let o=be(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{},...e.runKind==="guide"||e.runKind==="task"?{runKind:e.runKind}:{}}}function kI(e,t,n){let r=sk(e);if(!r)return null;let{id:o,label:i,prompt:a}=r,s=It([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=It([...e.examples||[],a],{max:6,maxLen:220}),l=vp({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=ok(o,d,l),f=ik(m,l);return{id:o,name:i,description:ak(i,e.description||`Run the "${i}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured A2W run progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:Io(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:Io(e.outputSchema)||{...Qv},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:a,routing:e.routing,runKind:e.runKind,deepLink:bI(t.siteUrl,o),run:{endpoint:n,payload:{url:ac(t.siteUrl),shortcutId:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function Kv(e,t){let n=be(e.name,120);if(!n||e.llmCallable===!1)return null;let r=vp(e.annotations),o=ok(n,t,r),i=ik(o,r),a=It([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=It(r.examples||[],{max:6,maxLen:220});return{id:n,name:be(e.title,120)||yI(n),description:ak(be(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...a.length?{tags:a}:{},...s.length?{examples:s}:{},inputSchema:Io(e.schema)||vI(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:Io(e.outputSchema)||{...uI},sideEffect:o,requiresConfirmation:i,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function xI(e){let t=[],n=new Set;for(let r of e){let o=be(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function wI(e){let t=[],n=new Set;for(let r of e){let o=be(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:It(r.pageScope,{max:24,maxLen:80}),analyticsTags:It(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function SI(e,t){let n=[],r=new Set;for(let o of e){let i=be(o.pageId,120);if(!i||r.has(i.toLowerCase()))continue;r.add(i.toLowerCase());let a=be(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:i,route:Zv(o.route),label:be(o.label,180)||void 0,capabilityIds:It(o.capabilityIds,{max:48,maxLen:120}),entityHints:It(o.entityHints,{max:24,maxLen:120}),formHints:It(o.formHints,{max:24,maxLen:120}),visibleCueLabel:a,beaconLabel:a,discoveryMode:Na(o.discoveryMode,t?.mode||"beacon"),hostSurface:cc(o.hostSurface,t?.hostSurface||"auto"),actionReveal:lc(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:It(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:It(o.capabilitySummary,{max:12,maxLen:180})})}return n}function Gv(e,t,n){let r=It(e.capabilityIds,{max:48,maxLen:120}),o=It(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),i=be(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,a=It(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:i,beaconLabel:i,discoveryMode:Na(e.discoveryMode,n.mode),hostSurface:cc(e.hostSurface,n.hostSurface),actionReveal:lc(e.actionReveal,n.actionReveal),agentModeEntryHints:a,capabilitySummary:o}}function TI(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:be(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:Io(e.inputSchema),outputSchema:Io(e.outputSchema)||{...Qv},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:ek(n),resultModes:["text","json","observation","artifacts"],pageScope:It(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:It(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function _I(e,t,n){let r=ac(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return tk({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(a=>a.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(a=>a.label)}}function EI(e,t,n){let r=t.map(d=>TI(d,e)),o=(e.capabilities||[]).map(d=>gI(d,{version:be(e.version,80)||"1.0.0",allowedExecutionModes:ek(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),i=wI([...o,...r]),a=_I(e,i,n),s=(e.pages||[]).map(d=>tk(d,n)).filter(d=>!!d);a.capabilityIds?.length||(a.capabilityIds=i.slice(0,12).map(d=>d.capabilityId));let c=SI([...s,a],n).map(d=>Gv(d,i,n)),l=c.find(d=>d.pageId===a.pageId)||Gv(a,i,n);return{capabilities:i,pages:c,currentPage:l}}function Xv(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bd(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function II(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Di(e){let t=ac(e.siteUrl),n=nk(e.apiBase),r=rk(e.apiBase),o=be(e.agentCardUrl)||Ao,i=be(e.roverSiteUrl)||Ni,a=be(e.llmsUrl),c=lp(e.aiAccess).enabled,l=e.aiAccess?.allowCloudBrowser!==!1,d=e.aiAccess?.allowDelegatedHandoffs===!0,m=(e.shortcuts||[]).map(C=>kI(C,e,n)).filter(C=>!!C),f=(e.tools||[]).map(C=>Kv(C,"client_tool")).filter(C=>!!C),u=(e.webmcpTools||[]).map(C=>Kv(C,"webmcp")).filter(C=>!!C),h=xI([...m,...e.additionalSkills||[],...f,...u]),b=hI(e),v=EI(e,h,b),S={mode:Na(v.currentPage.discoveryMode,b.mode),branding:b.branding,hostSurface:cc(v.currentPage.hostSurface,b.hostSurface),actionReveal:lc(v.currentPage.actionReveal,b.actionReveal),beaconLabel:be(v.currentPage.beaconLabel||v.currentPage.visibleCueLabel||b.beaconLabel,180)||void 0,agentModeEntryHints:It(v.currentPage.agentModeEntryHints?.length?v.currentPage.agentModeEntryHints:b.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:sc},k=be(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),x=be(e.description,320)||`Structured Rover entrypoints for ${k}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:k,description:x,url:n,version:be(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:c,a2wRuns:c,stateTransitions:c,delegatedHandoffs:d,webmcp:u.length>0},skills:h,interfaces:[{type:"run",url:n,description:"Canonical Agent-to-Web Protocol (A2W) run creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated runs.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:c},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:u.length>0}],extensions:{rover:{siteId:be(e.siteId,120)||void 0,siteUrl:t,runEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:i,...a?{llmsUrl:a}:{},preferredExecution:e.preferExecution||"auto",a2wRunsEnabled:c,cloudBrowserAllowed:l,delegatedHandoffs:d,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/a2w/runs when you need structured A2W progress, continuation input, or a stable final result channel.","For browserless calls, send Prefer: execution=cloud, wait=10 and follow links.stream, links.ndjson, or links.poll until terminal or input_required.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:v.capabilities,pages:v.pages,currentPage:v.currentPage,discoverySurface:S,shortcuts:(e.shortcuts||[]).map(C=>sk(C)).filter(C=>!!C),webmcp:{available:u.length>0,tools:u.map(C=>C.id)}}}}}function dc(e){let t=Di(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||ac(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",a2wRunsEnabled:n?.a2wRunsEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{runEndpoint:n?.runEndpoint||nk(e.apiBase),workflowEndpoint:n?.workflowEndpoint||rk(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",runIdField:"runId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||sc},artifacts:{agentCardUrl:n?.serviceDescUrl||be(e.agentCardUrl)||Ao,roverSiteUrl:n?.roverSiteUrl||be(e.roverSiteUrl)||Ni,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||ac(e.siteUrl)},interfaces:t.interfaces}}function yd(e){let t=uc(e),n=Di(e),r=dc(e),o=JSON.stringify(r,null,2),i=II(t),a=be(e.agentCardUrl)||i,s=be(e.roverSiteUrl)||Ni,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={a2w:n.extensions?.rover.runEndpoint,run:n.extensions?.rover.runEndpoint,card:a,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:a,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:be(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:bd(JSON.stringify(d))}}function uc(e,t){return JSON.stringify(Di(e),null,t?.pretty===!1?void 0:2)}function AI(e,t){return uc(e,t)}function vd(e,t){return JSON.stringify(dc(e),null,t?.pretty===!1?void 0:2)}function RI(e,t){return vd(e,t)}function kp(e){let t=[`<${be(e.agentCardUrl)||Ao}>; rel="service-desc"; type="application/json"`],n=be(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function CI(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:i,serviceDescHref:a}=yd(e),s=bd(t),c=bd(i),l=bd(o),d=[`<script type="application/agent+json" data-rover-agent-discovery="marker">${r}<\/script>`,`<link rel="service-desc" href="${Xv(a)}" type="application/json" data-rover-agent-discovery="service-desc" />`];return n&&d.push(`<link rel="service-doc" href="${Xv(n)}" type="text/markdown" data-rover-agent-discovery="service-doc" />`),d.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${c}<\/script>`),d.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${l}<\/script>`),d.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${s}<\/script>`),d.join(`
4371
+ `)}var MI="https://rover.rtrvr.ai/embed.js",NI="https://rover.rtrvr.ai/roverbook.js";function zt(e){return String(e||"").trim()}function kd(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Da(e){return String(e||"").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function ck(e,t,n){if(!n)return e;let r=new RegExp(`<script[^>]+data-rover-agent-discovery="${t}"[^>]*>[\\s\\S]*?<\\/script>`);return r.test(e)?e.replace(r,n):[e,n].filter(Boolean).join(`
4372
+ `)}function LI(e,t){let n=La(t.ui?.experience)?t.ui?.experience:null;if(!n)return e;let r=La(n.presence)?n.presence:{},o=La(n.inputs)?n.inputs:{},i=La(n.shell)?n.shell:{},a=La(n.stream)?n.stream:{},s=zt(r.ctaText)||`Do it with ${zt(t.ui?.agent?.name)||"Rover"}`,c=zt(r.assistantName)||zt(t.ui?.agent?.name)||"Rover",l=e.agentCard?JSON.parse(JSON.stringify(e.agentCard)):void 0;l?.extensions?.rover&&(l.extensions.rover.discoverySurface={...l.extensions.rover.discoverySurface||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s},l.extensions.rover.presence={assistantName:c,ctaText:s,draggable:r.draggable!==!1},l.extensions.rover.experience=n,l.extensions.rover.inputs={filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let d=e.roverSite?JSON.parse(JSON.stringify(e.roverSite)):void 0;d&&(d.display={...d.display||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s,presence:"draggable_pill",openMode:zt(i.openMode)||"center_stage",mobileMode:zt(i.mobileMode)||"fullscreen_sheet",streamMode:zt(a.layout)||"single_column",focusView:"focus_stream"},d.experience=n,d.inputs={...d.inputs||{},filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let m=l?JSON.stringify(l,null,2):e.agentCardJson,f=d?JSON.stringify(d,null,2):e.roverSiteJson,u=m?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${Da(m)}<\/script>`:e.metadata.inlineAgentCardScript,h=f?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${Da(f)}<\/script>`:e.metadata.inlineRoverSiteScript;return{...e,agentCard:l,agentCardJson:m,roverSite:d,roverSiteJson:f,bodyInstallHtml:ck(ck(e.bodyInstallHtml,"agent-card",u),"rover-site",h),metadata:{...e.metadata,roverSiteJson:f,inlineAgentCardScript:u,inlineRoverSiteScript:h}}}function lk(e){return JSON.stringify(e,null,2).split(`
4373
4373
  `).map(t=>` ${t}`).join(`
4374
- `)}function Ca(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function LI(e){return Ca(e)&&Object.keys(e).length>0}function DI(e){let t=Number(e);return!Number.isFinite(t)||t<10?50:Math.round(t)}function PI(e){let t=Number(e);return!Number.isFinite(t)||t<1?300:Math.round(t)}function lk(e){return!!e&&e.enabled!==!1&&e.aiAccess?.enabled!==!1}function OI(e,t){return lk(t)?e.emitLlmsTxt===!0||!!zt(t.llmsUrl):!1}function BI(e,t){let n=e.extensions?.rover.runEndpoint;return{a2w:n,run:n,card:t,roverSite:e.extensions?.rover.roverSiteUrl,site:e.extensions?.rover.siteUrl,workflow:e.extensions?.rover.workflowEndpoint,page:e.extensions?.rover.currentPage?.pageId,preferExecution:e.extensions?.rover.preferredExecution,display:e.extensions?.rover.discoverySurface?{mode:e.extensions.rover.discoverySurface.mode,hostSurface:e.extensions.rover.discoverySurface.hostSurface,actionReveal:e.extensions.rover.discoverySurface.actionReveal,beaconLabel:e.extensions.rover.discoverySurface.beaconLabel}:void 0,skills:e.skills.slice(0,24).map(r=>({id:r.id,name:r.name})),capabilities:(e.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(r=>({capabilityId:r.capabilityId,label:r.label}))}}function UI(e,t){let n=[`# ${e.name}`,"",e.description,"","Prefer Rover shortcuts, explicit site tools, and A2W runs over raw DOM automation when they match the requested outcome.",`Primary A2W run endpoint: ${zt(e.extensions?.rover.runEndpoint||e.url)}`,`A2W workflow endpoint: ${zt(e.extensions?.rover.workflowEndpoint)}`,`Capability card: ${t.agentCardUrl}`],r=e.skills.map(i=>({id:zt(i.id),name:zt(i.name),description:zt(i.description),interface:zt(i.preferredInterface||i.rover?.source||"run")})).filter(i=>i.id&&i.name);if(r.length>0){n.push("","Published skills:");for(let i of r){let a=i.description?` - ${i.description}`:"";n.push(`- ${i.id}: ${i.name} [${i.interface}]${a}`)}}let o=(e.extensions?.rover.shortcuts||[]).map(i=>`${zt(i.id)}: ${zt(i.label)}`).filter(Boolean);if(o.length>0){n.push("","Shortcut IDs:");for(let i of o)n.push(`- ${i}`)}return n.join(`
4375
- `)}function FI(){return["(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();"]}function dk(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function zI(e){let t=dk(e);return["<script>",...FI().map(r=>` ${r}`),` rover('boot', ${ck(t)});`,"<\/script>"].join(`
4376
- `)}function HI(e,t){let n=DI(t?.pollIntervalMs),r=PI(t?.maxAttempts);return["<script>"," (function(){",` var roverBookConfig = ${ck(e)};`," function attachRoverBook(){"," if (window.__ROVERBOOK_INSTANCE__) return true;"," var roverApi = window.rover;"," var roverBook = window.RoverBook;"," if (!roverApi || typeof roverApi.on !== 'function' || typeof roverApi.requestSigned !== 'function') return false;"," if (!roverBook || typeof roverBook.enableRoverBook !== 'function') return false;"," window.__ROVERBOOK_INSTANCE__ = roverBook.enableRoverBook(roverApi, roverBookConfig);"," return true;"," }"," if (attachRoverBook()) return;"," var attempts = 0;"," var timer = setInterval(function(){"," attempts += 1;",` if (attachRoverBook() || attempts >= ${r}) clearInterval(timer);`,` }, ${n});`," })();","<\/script>"].join(`
4377
- `)}function jI(e){let t=dk(e.bootConfig),n=lk(e.discovery)?e.discovery:null,r=OI(e,n),o=n?zt(n.agentCardUrl)||Io:"",i=n?zt(n.roverSiteUrl)||Ci:"",a=n?zt(n.llmsUrl)||(r?Xv:""):"",s=n&&a&&!zt(n.llmsUrl)?{...n,llmsUrl:a}:n,c=zt(e.embedScriptUrl)||CI,l=e.roverBook?.enabled!==!1&&LI(e.roverBook?.config),d=l?zt(e.roverBook?.scriptUrl)||MI:"",m=s?Mi(s):void 0,f=s?lc(s):void 0,u=s?cc(s):void 0,h=s?bd(s):void 0,b=s?JSON.stringify(m?.extensions?.rover.currentPage||null,null,2):void 0,v=m&&o?BI(m,o):void 0,S=v?Ma(JSON.stringify(v)):void 0,k=f?Ma(f):void 0,x=h?Ma(h):void 0,C=b?Ma(b):void 0,_=n&&o?`<link rel="service-desc" href="${yd(o)}" type="application/json" />`:void 0,I=n&&a?`<link rel="service-doc" href="${yd(a)}" type="text/markdown" />`:void 0,M=[];S&&M.push(`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`),x&&M.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`),C&&M.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`),k&&M.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`),M.push(zI(t)),M.push(`<script src="${yd(c)}" async><\/script>`),l&&d&&(M.push(`<script src="${yd(d)}" async><\/script>`),M.push(HI(e.roverBook?.config||{},{pollIntervalMs:e.roverBook?.attachPollIntervalMs,maxAttempts:e.roverBook?.attachMaxAttempts})));let G=r&&m?zt(e.llmsTxt)?e.llmsTxt:UI(m,{agentCardUrl:o||Io}):void 0;return NI({bodyInstallHtml:M.join(`
4374
+ `)}function La(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function DI(e){return La(e)&&Object.keys(e).length>0}function PI(e){let t=Number(e);return!Number.isFinite(t)||t<10?50:Math.round(t)}function OI(e){let t=Number(e);return!Number.isFinite(t)||t<1?300:Math.round(t)}function dk(e){return!!e&&e.enabled!==!1&&e.aiAccess?.enabled!==!1}function BI(e,t){return dk(t)?e.emitLlmsTxt===!0||!!zt(t.llmsUrl):!1}function UI(e,t){let n=e.extensions?.rover.runEndpoint;return{a2w:n,run:n,card:t,roverSite:e.extensions?.rover.roverSiteUrl,site:e.extensions?.rover.siteUrl,workflow:e.extensions?.rover.workflowEndpoint,page:e.extensions?.rover.currentPage?.pageId,preferExecution:e.extensions?.rover.preferredExecution,display:e.extensions?.rover.discoverySurface?{mode:e.extensions.rover.discoverySurface.mode,hostSurface:e.extensions.rover.discoverySurface.hostSurface,actionReveal:e.extensions.rover.discoverySurface.actionReveal,beaconLabel:e.extensions.rover.discoverySurface.beaconLabel}:void 0,skills:e.skills.slice(0,24).map(r=>({id:r.id,name:r.name})),capabilities:(e.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(r=>({capabilityId:r.capabilityId,label:r.label}))}}function FI(e,t){let n=[`# ${e.name}`,"",e.description,"","Prefer Rover shortcuts, explicit site tools, and A2W runs over raw DOM automation when they match the requested outcome.",`Primary A2W run endpoint: ${zt(e.extensions?.rover.runEndpoint||e.url)}`,`A2W workflow endpoint: ${zt(e.extensions?.rover.workflowEndpoint)}`,'Create runs with { "url": "<site>", "prompt": "<instruction>" } or { "url": "<site>", "shortcutId": "<id>" }; "goal" is accepted as a compatibility alias.',"For browserless execution, send Prefer: execution=cloud, wait=10 and follow returned links.stream, links.ndjson, or links.poll until completed, failed, cancelled, expired, or input_required.",`Capability card: ${t.agentCardUrl}`],r=e.skills.map(i=>({id:zt(i.id),name:zt(i.name),description:zt(i.description),interface:zt(i.preferredInterface||i.rover?.source||"run")})).filter(i=>i.id&&i.name);if(r.length>0){n.push("","Published skills:");for(let i of r){let a=i.description?` - ${i.description}`:"";n.push(`- ${i.id}: ${i.name} [${i.interface}]${a}`)}}let o=(e.extensions?.rover.shortcuts||[]).map(i=>`${zt(i.id)}: ${zt(i.label)}`).filter(Boolean);if(o.length>0){n.push("","Shortcut IDs:");for(let i of o)n.push(`- ${i}`)}return n.join(`
4375
+ `)}function zI(){return["(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();"]}function uk(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function HI(e){let t=uk(e);return["<script>",...zI().map(r=>` ${r}`),` rover('boot', ${lk(t)});`,"<\/script>"].join(`
4376
+ `)}function jI(e,t){let n=PI(t?.pollIntervalMs),r=OI(t?.maxAttempts);return["<script>"," (function(){",` var roverBookConfig = ${lk(e)};`," function attachRoverBook(){"," if (window.__ROVERBOOK_INSTANCE__) return true;"," var roverApi = window.rover;"," var roverBook = window.RoverBook;"," if (!roverApi || typeof roverApi.on !== 'function' || typeof roverApi.requestSigned !== 'function') return false;"," if (!roverBook || typeof roverBook.enableRoverBook !== 'function') return false;"," window.__ROVERBOOK_INSTANCE__ = roverBook.enableRoverBook(roverApi, roverBookConfig);"," return true;"," }"," if (attachRoverBook()) return;"," var attempts = 0;"," var timer = setInterval(function(){"," attempts += 1;",` if (attachRoverBook() || attempts >= ${r}) clearInterval(timer);`,` }, ${n});`," })();","<\/script>"].join(`
4377
+ `)}function $I(e){let t=uk(e.bootConfig),n=dk(e.discovery)?e.discovery:null,r=BI(e,n),o=n?zt(n.agentCardUrl)||Ao:"",i=n?zt(n.roverSiteUrl)||Ni:"",a=n?zt(n.llmsUrl)||(r?Yv:""):"",s=n&&a&&!zt(n.llmsUrl)?{...n,llmsUrl:a}:n,c=zt(e.embedScriptUrl)||MI,l=e.roverBook?.enabled!==!1&&DI(e.roverBook?.config),d=l?zt(e.roverBook?.scriptUrl)||NI:"",m=s?Di(s):void 0,f=s?uc(s):void 0,u=s?dc(s):void 0,h=s?vd(s):void 0,b=s?JSON.stringify(m?.extensions?.rover.currentPage||null,null,2):void 0,v=m&&o?UI(m,o):void 0,S=v?Da(JSON.stringify(v)):void 0,k=f?Da(f):void 0,x=h?Da(h):void 0,C=b?Da(b):void 0,_=n&&o?`<link rel="service-desc" href="${kd(o)}" type="application/json" />`:void 0,I=n&&a?`<link rel="service-doc" href="${kd(a)}" type="text/markdown" />`:void 0,M=[];S&&M.push(`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`),x&&M.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`),C&&M.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`),k&&M.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`),M.push(HI(t)),M.push(`<script src="${kd(c)}" async><\/script>`),l&&d&&(M.push(`<script src="${kd(d)}" async><\/script>`),M.push(jI(e.roverBook?.config||{},{pollIntervalMs:e.roverBook?.attachPollIntervalMs,maxAttempts:e.roverBook?.attachMaxAttempts})));let G=r&&m?zt(e.llmsTxt)?e.llmsTxt:FI(m,{agentCardUrl:o||Ao}):void 0;return LI({bodyInstallHtml:M.join(`
4378
4378
  `),headDiscoveryHtml:[_,I].filter(Boolean).join(`
4379
- `),agentCard:m,agentCardJson:f,roverSite:u,roverSiteJson:h,serviceDescLinkHeader:n?yp({agentCardUrl:o||Io,...a?{llmsUrl:a}:{}}):void 0,llmsTxt:G,metadata:{discoveryEnabled:!!n,llmsPublished:!!I,embedScriptUrl:c,roverBookEnabled:l,roverBookScriptUrl:d||void 0,publishedAgentCardUrl:o||void 0,publishedRoverSiteUrl:i||void 0,publishedLlmsUrl:a||void 0,serviceDescLinkTag:_,serviceDocLinkTag:I,markerJson:S,markerScript:S?`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`:void 0,inlineAgentCardScript:k?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`:void 0,roverSiteJson:h,inlineRoverSiteScript:x?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`:void 0,pageManifestJson:b,pageManifestScript:C?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`:void 0}},e.bootConfig)}var pk="https://agent.rtrvr.ai",uk="rvrsess_";function Na(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function $I(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function qI(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function kp(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>kp(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${kp(r)}`).join(",")}}`:JSON.stringify(String(e))}function VI(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function fk(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},i=e.runtimeState?.pendingRun||{},a=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=a.length?a[a.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=a.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),m=s.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(u=>({logicalTabId:Number(u?.logicalTabId)||0,scope:String(u?.scope||""),status:String(u?.status||""),url:qI(u?.url),external:!!u?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(i.id||""),pendingRunStatus:String(i.status||""),pendingResumeRequired:i.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:a.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(u=>Number(u)||0).filter(u=>u>0):[]}}};return VI(kp(f))}function WI(e){let t=pk,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function vp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function KI(e){let t=WI(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?vp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):vp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function Ni(e,t){let n=new Error(e);return n.details=t,n}function GI(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var vd=class{endpoint;endpointCandidates;endpointIndex=0;getToken;siteId;visitorId;ttlHours;flushIntervalMs;pullIntervalMs;minFlushIntervalMs;maxSnapshotBytes;shouldSync;shouldWrite;buildCheckpoint;onCheckpoint;onStateChange;onError;idlePullIntervalMs;started=!1;idleMode=!1;dirty=!1;flushTimer=null;pullTimer=null;lastFlushAt=0;lastPullAt=0;lastUploadedRevision="";lastAppliedRemoteUpdatedAt=0;lastAppliedRemoteDigest="";pushInFlight=!1;pullInFlight=!1;state="active";visibilityListener=null;constructor(t){let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(uk))throw Ni("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=KI(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${pk}/v2/rover`,this.getToken=()=>{let i=r?String(r()||"").trim():n;if(!i||!i.startsWith(uk))throw Ni("Rover cloud checkpoint requires an active session token.");return i},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(Na(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(Na(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(Na(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(Na(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(Na(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let i=0;i<r;i+=1){let a=(this.endpointIndex+i)%r,s=this.endpointCandidates[a]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=Ni(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=a,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:Ni(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=fk(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(Na(t?.updatedAt,0))),o=String(t?.digest||"").trim()||fk(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:GI(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw Ni("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw Ni(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:i,payload:a}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!i.ok||!a?.success)throw Ni(`Checkpoint HTTP ${i.status}`,{action:t,status:i.status,payload:a});let s=a?.data?.projection?.snapshot??a?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,i=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,a=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof i=="string"?i:void 0,message:$I(a,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var XI="rover-runtime-state-db",kd="runtime-state",xp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},wp=class{dbPromise=null;openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(XI,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(kd)||o.createObjectStore(kd)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,i)=>{let a=r.transaction(kd,t),s=a.objectStore(kd);n(s,o,i),a.onerror=()=>{i(a.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let i=n.get(t);i.onsuccess=()=>{let a=i.result;r(a??null)},i.onerror=()=>{o(i.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,i)=>{let a=r.put(n,t);a.onsuccess=()=>o(),a.onerror=()=>{i(a.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let i=n.delete(t);i.onsuccess=()=>r(),i.onerror=()=>{o(i.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function xd(){let e=new xp,t=new wp;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}var YI="https://agent.rtrvr.ai";function JI(e){let t=YI,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function QI(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${JI(e)}/v2/rover`}function ZI(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function mk(e,t){return String(e||t).trim().toLowerCase().replace(/[^a-z0-9._:-]+/g,"_").slice(0,128)||t}function Ao(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,128)}function La(e,t){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,t)}function Wo(e,t="New chat"){return La(e,72)||t}function hk(e){let t=xd(),n=`${mk(e.siteId,"unknown-site")}:${mk(e.visitorId,"anonymous")}`,r=`rover:conversations:${n}:index`,o=s=>`rover:conversations:${n}:record:${Ao(s)}`;async function i(){let s=t.readSync(r);if(Array.isArray(s))return s;let c=await t.readAsync(r);return Array.isArray(c)?c:[]}function a(s){t.write(r,s.filter(c=>!!Ao(c.conversationId)&&!c.deletedAt).sort((c,l)=>Number(l.updatedAt||0)-Number(c.updatedAt||0)).slice(0,100))}return{async list(){return i()},async get(s){let c=Ao(s);return c?t.readSync(o(c))||await t.readAsync(o(c)):null},upsert(s){let c=Ao(s.summary.conversationId);if(!c)return;let l={...s.summary,conversationId:c,title:Wo(s.summary.title),preview:La(s.summary.preview,180),updatedAt:Number(s.summary.updatedAt||Date.now()),createdAt:Number(s.summary.createdAt||s.summary.updatedAt||Date.now())};t.write(o(c),{summary:l,payload:s.payload}),i().then(d=>{a([l,...d.filter(m=>m.conversationId!==c)])})},remove(s,c){let l=Ao(s);l&&(t.remove(o(l)),i().then(d=>{a(d.filter(m=>m.conversationId!==l).map(m=>m.conversationId===l?{...m,deletedAt:c?.deletedAt||Date.now(),revision:c?.revision}:m))}))}}}var wd=class{base;getSessionToken;siteId;visitorId;constructor(t){this.base=QI(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.visitorId=t.visitorId}async request(t,n){let r=this.getSessionToken?.();if(!r)throw new Error("Rover session token unavailable.");let o=n?.method||"GET",i=new URL(`${this.base}${t}`);o==="GET"&&(i.searchParams.set("sessionToken",r),i.searchParams.set("siteId",this.siteId),i.searchParams.set("visitorId",this.visitorId));let a=o==="GET"?void 0:JSON.stringify({...n?.json||{},sessionToken:r,siteId:this.siteId,visitorId:this.visitorId,requestNonce:ZI()}),s=await fetch(i.toString(),{method:o,headers:o==="GET"?void 0:{"content-type":"text/plain;charset=UTF-8"},body:a,credentials:"omit"}),c=await s.json().catch(()=>({}));if(!s.ok||c?.success===!1)throw new Error(String(c?.error||c?.message||`conversation request failed (${s.status})`));return c.data||c}async list(){let t=await this.request("/conversations"),n=Array.isArray(t.conversations)?t.conversations.map(o=>({conversationId:Ao(o.conversationId),title:Wo(o.title),preview:La(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0})).filter(o=>!!o.conversationId):[],r=Array.isArray(t.tombstones)?t.tombstones:[];return{conversations:n,tombstones:r}}async get(t){let n=Ao(t);if(!n)return null;let r=await this.request(`/conversations/${encodeURIComponent(n)}`),o=r.conversation||{};return{summary:{conversationId:n,title:Wo(o.title),preview:La(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0},payload:r.payload?.payload||r.payload}}async upsert(t){let n=Ao(t.summary.conversationId);if(!n)return null;let o=(await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"POST",json:{title:Wo(t.summary.title),preview:La(t.summary.preview,180),status:t.summary.status||"completed",payload:t.payload||{}}})).conversation||{};return{conversationId:n,title:Wo(o.title||t.summary.title),preview:La(o.preview||t.summary.preview,180),status:o.status||t.summary.status,createdAt:Number(o.createdAt||t.summary.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||Date.now()),revision:Number(o.revision||0)||void 0}}async delete(t){let n=Ao(t),r=await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"DELETE",json:{}});return{conversationId:n,deletedAt:Number(r.deletedAt||Date.now()),revision:Number(r.revision||0)||void 0}}};var eA="https://agent.rtrvr.ai";var tA={0:"Available",1:"Cross-origin frame without a frame agent",2:"Frame DOM is empty",3:"Frame was not ready",4:"Frame scan timed out",5:"Frame sandbox blocked access",6:"Frame adapter unavailable",7:"Frame tree scan failed"};function nA(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function rA(e){let t=eA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function oA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${rA(e)}/v2/rover`}function iA(e,t){return String(e||t).trim().replace(/[^a-zA-Z0-9._:-]+/g,"_").slice(0,128)||t}function Sd(e,t){let n=String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,t):void 0}function Da(e){let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function gk(e){let t=Da(e);if(t!=null)return tA[t]||`Unavailable (${t})`}function Sp(e,t){let n=String(e||"").trim();if(n)try{let r=new URL(n,t||void 0);return r.search="",r.hash="",r.toString().slice(0,300)}catch{let r=n.split("#")[0].split("?")[0].trim();return r?r.slice(0,300):void 0}}function aA(e,t){let n=String(e||"").trim();if(n)try{return new URL(n,t||void 0).origin.slice(0,300)}catch{return}}function sA(e){if(!e||typeof e!="object")return!1;if(e.isFrameElement===!0)return!0;let t=String(e.elementTag||e.elementName||"").trim().toLowerCase();return t==="iframe"||t==="frame"}function cA(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=Da(n);r!=null&&t.push(r)}return t}function lA(e,t){if(t==null)return;let n=e.metadata?.frameRealms?.realms;return n?.[String(t)]||n?.[t]}function dA(e,t){let n=e.nodes?.[t];if(!sA(n))return;let r=Da(t);if(r==null)return;let o=Array.isArray(n.frameRealm)?n.frameRealm:[],i=Da(o[0]),a=Da(o[1]),s=Da(o[2]),c=lA(e,i),l=c?.url||n.resourceLocator,d=Sp(l,e.url),m=Sd(c?.origin,300)||aA(l,e.url),f=cA(n.frameContent),u=Sd(n.computedName||c?.title||n.computedDescription,120);return{hostElementId:r,...u?{label:u}:{},...d?{src:d}:{},...m?{origin:m}:{},hasFrameContent:f.length>0,childCount:f.length,...a!=null?{capabilityCode:a}:{},...s!=null?{unavailableCode:s}:{},...gk(s)?{reasonLabel:gk(s)}:{}}}function bk(e,t={}){if(!e?.nodes||typeof e.nodes!="object")return;let n=[];for(let i of Object.keys(e.nodes)){let a=dA(e,i);if(a&&(n.push(a),n.length>=50))break}if(!n.length)return;let r={version:1,captureId:iA(t.captureId,`frame-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`),capturedAt:Number(t.now||Date.now()),...Sp(e.url)?{pageUrl:Sp(e.url)}:{},...Sd(e.title,120)?{title:Sd(e.title,120)}:{},frameCount:n.length,frames:n},o=uA(r);return o.frames.length?o:void 0}function yk(e){return JSON.stringify({pageUrl:e.pageUrl,frames:e.frames.map(t=>[t.hostElementId,t.src,t.origin,t.childCount,t.capabilityCode,t.unavailableCode])})}function uA(e){let t={...e,frames:e.frames.slice(0,50),frameCount:Math.min(e.frameCount,50)};for(;JSON.stringify(t).length>64e3&&t.frames.length>0;)t={...t,frames:t.frames.slice(0,-1),frameCount:t.frames.length-1};return t.frameCount=t.frames.length,t}var Td=class{base;getSessionToken;siteId;sessionId;constructor(t){this.base=oA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.sessionId=t.sessionId}async upload(t){let n=this.getSessionToken?.();if(!n)return;let r=await fetch(`${this.base}/debug/frame-diagnostics`,{method:"POST",headers:{"content-type":"text/plain;charset=UTF-8"},credentials:"omit",body:JSON.stringify({sessionToken:n,sessionId:this.sessionId,siteId:this.siteId,runId:t.runId,captureId:t.diagnostics.captureId,diagnostics:t.diagnostics,requestNonce:nA()})}),o=await r.json().catch(()=>({}));if(!r.ok||o?.success===!1)throw new Error(String(o?.error||o?.message||`frame diagnostics upload failed (${r.status})`));return o.data?.debugRef||o.debugRef}};function vk(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function kk(e){let t=e.normalizeRunBoundaryId||(r=>String(r||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"?e.msg.runId:void 0;return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function xk(e){let t=e.normalizeRunBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,i=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,a=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,runComplete:e.completionState.runComplete===!0,needsUserInput:e.completionState.needsUserInput,summary:o,error:i,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:a,pageUrl:e.pageUrl}}var fA=/(?:password|passcode|secret|token|api[_-]?key|authorization|cookie|session|credit|card|cvv|cvc|ssn|otp|mfa|email|phone)/i,pA=/^(?:text|value|input|content|typed_text|field_value|option_value|search_text|query)$/i,mA=/^(?:file_url|url|file_name|filename|name|path|file_path|download_url|storage_url|gcs_uri)$/i,hA=new Set(ha),Kt=["element_id"],gA=["source_element_id","target_element_id"],bA=["center_element_id"],no=[],wk=Object.freeze({[z.click_element]:{kind:"click",elementKeys:Kt},[z.type_into_element]:{kind:"type",elementKeys:Kt},[z.type_and_enter]:{kind:"type",elementKeys:Kt},[z.select_dropdown_value]:{kind:"select",elementKeys:Kt},[z.clear_element]:{kind:"clear",elementKeys:Kt},[z.focus_element]:{kind:"focus",elementKeys:Kt},[z.check_field_validity]:{kind:"read",emit:!1},[z.select_text]:{kind:"select",elementKeys:Kt},[z.hover_element]:{kind:"hover",elementKeys:Kt},[z.right_click_element]:{kind:"click",elementKeys:Kt},[z.double_click_element]:{kind:"click",elementKeys:Kt},[z.press_key]:{kind:"press",elementKeys:Kt},[z.mouse_wheel]:{kind:"scroll",elementKeys:Kt},[z.dispatch_pointer_path]:{kind:"drag",elementKeys:Kt},[z.drag_element]:{kind:"drag",elementKeys:Kt},[z.drag_and_drop]:{kind:"drag",elementKeys:gA},[z.adjust_slider]:{kind:"drag",elementKeys:Kt},[z.scroll_page]:{kind:"scroll",elementKeys:Kt},[z.scroll_to_element]:{kind:"scroll",elementKeys:Kt},[z.swipe_element]:{kind:"scroll",elementKeys:Kt},[z.long_press_element]:{kind:"click",elementKeys:Kt},[z.pinch_zoom]:{kind:"drag",elementKeys:bA},[z.go_back]:{kind:"navigate",elementKeys:no},[z.go_forward]:{kind:"navigate",elementKeys:no},[z.goto_url]:{kind:"navigate",elementKeys:no},[z.refresh_page]:{kind:"navigate",elementKeys:no},[z.open_new_tab]:{kind:"navigate",elementKeys:no},[z.switch_tab]:{kind:"navigate",elementKeys:no},[z.close_tab]:{kind:"navigate",elementKeys:no},[z.describe_images]:{kind:"read",emit:!1},[z.google_search]:{kind:"navigate",elementKeys:no},[z.network_run_recipe]:{kind:"read",emit:!1},[z.rover_external_read_context]:{kind:"read",emit:!1},[z.rover_external_act_context]:{kind:"read",emit:!1},[z.copy_text]:{kind:"copy",elementKeys:Kt},[z.paste_text]:{kind:"paste",elementKeys:Kt},[z.wait_action]:{kind:"wait",elementKeys:no},[z.wait_for_element]:{kind:"wait",emit:!1},[z.answer_task]:{kind:"unknown",emit:!1},[z.upload_file]:{kind:"upload",elementKeys:Kt},[z.solve_captcha]:{kind:"unknown",emit:!1},discover_and_extract_network_data:{kind:"read",emit:!1}});function Pa(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function yA(e,t){if(!e||typeof e!="object")return[];let n=new Set,r=[];for(let o of t){if(!hA.has(o))continue;let i=e[o],a=Array.isArray(i)?i:[i];for(let s of a){let c=Pa(s);!c||n.has(c)||(n.add(c),r.push(c))}}return r}function vA(e){if(!(!e||typeof e!="object"))return Pa(e.logical_tab_id)??Pa(e.tab_id)??Pa(e.logicalTabId)??Pa(e.tabId)}function kA(e){let t=String(e||"").trim().toLowerCase();return t&&wk[t]?.kind||"unknown"}function xA(e,t){return!!(fA.test(e)||(t==="type"||t==="select"||t==="paste")&&pA.test(e)||t==="upload"&&mA.test(e))}function wA(e){if(typeof e=="string"){let t=[...e].length;return t>0?`[REDACTED ${t} chars]`:"[REDACTED]"}return"[REDACTED]"}function Tp(e,t,n="",r=0){if(r>5)return{value:"[Truncated]",redacted:!1};if(xA(n,t))return{value:wA(e),redacted:!0};if(Array.isArray(e)){let o=!1,i=e.slice(0,40).map(a=>{let s=Tp(a,t,n,r+1);return o=o||s.redacted,s.value});return e.length>40&&i.push(`[${e.length-40} more items]`),{value:i,redacted:o}}if(e&&typeof e=="object"){let o=!1,i={};for(let[a,s]of Object.entries(e).slice(0,80)){let c=Tp(s,t,a,r+1);o=o||c.redacted,i[a]=c.value}return{value:i,redacted:o}}return{value:e,redacted:!1}}function Sk(e,t){if(!e||typeof e!="object")return{args:{},valueRedacted:!1};let n=Tp(e,t);return{args:n.value&&typeof n.value=="object"&&!Array.isArray(n.value)?n.value:{},valueRedacted:n.redacted}}function dc(e,t,n={}){if(!e||typeof e!="object")return;let r=String(e.name||"").trim().toLowerCase(),o=wk[r];if(!o||o.emit===!1)return;let i=o.kind,a=yA(e.args,o.elementKeys||no),s=a[0],c=vA(e.args)??Pa(n.logicalTabId),l=Sk(e.args,i);return{kind:i,toolCallId:String(t||e.id||"").trim()||void 0,primaryElementId:s,elementIds:a.length?a:void 0,logicalTabId:c,valueRedacted:l.valueRedacted||void 0}}function Tk(e){if(!e?.args)return;let t=kA(e.name),n=Sk(e.args,t);if(Object.keys(n.args).length)return[{type:"json",label:`${e.name||"tool"} args`,toolName:e.name,data:n.args}]}function SA(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function _k(e,t=document){let n=SA(e);if(!n)return null;try{let r=dr(t,n);if(r)return r}catch{}try{return t.querySelector(`[data-rveid="${n}"]`)}catch{return null}}var TA="rover_xdr_",Ik=300;function Ak(e){return pr(e)}function Rk(e){let t=Jn(e);return!(!t||t==="localhost"||vf(t))}function _p(e){return`${TA}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function _d(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function Ek(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function _A(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let i=t.getAll(r);if(!i.length)return!1;let a=new Map;for(let s of i)a.set(s,(a.get(s)||0)+1);for(let s of o){let c=a.get(s)||0;if(c<=0)return!1;a.set(s,c-1)}}return!0}function Ep(e,t){let n=_d(e),r=_d(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),i=new URL(r,window.location.href);return o.origin.toLowerCase()!==i.origin.toLowerCase()||Ek(o.pathname)!==Ek(i.pathname)?!1:_A(o.searchParams,i.searchParams)}catch{return n===r}}function Ck(e,t){try{let n=_p(e),r=Ak(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),i=window.location.protocol==="https:",a=[`${n}=${o}`,"path=/",`max-age=${Ik}`,"SameSite=Lax"];Rk(r)&&a.push(`domain=.${r}`),i&&a.push("Secure"),document.cookie=a.join("; ")}catch{}}function Ip(e,t){try{let n=_p(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||Ik*1e3),i=_d(t?.currentUrl||window.location.href),a=Jn(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),u=JSON.parse(decodeURIComponent(f));if(!u.timestamp||Date.now()-u.timestamp>=o)continue;let h=String(u.handoffId||u.handoff?.handoffId||"").trim();if(!h||s&&h!==s)continue;if(c){let b=_d(u.targetUrl||u.handoff?.targetUrl||"");if(!b||!i||!Ep(b,i))continue}if(u.sourceHost){let b=Jn(u.sourceHost||"");if(b&&a&&b===a&&!s)continue}if(u.sessionId&&typeof u.sessionId=="string")return u}}}catch{}return null}function uc(e){try{let t=_p(e),n=Ak(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];Rk(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function $e(e){return String(e||"").trim()||void 0}function EA(e){let t=$e(e.incomingBoundaryId),n=$e(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function Mk(e){let t=$e(e.incomingBoundaryId),n=$e(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?EA(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function IA(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function Ap(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Ed(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Li(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var AA={idle:{START:{to:"running",sideEffects:()=>IA()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>Ap()},FAIL:{to:"failed",sideEffects:e=>[...Ap(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>Ed()},RESET:{to:"idle",sideEffects:()=>Li()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ed()},RESET:{to:"idle",sideEffects:()=>Li()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ed()},RESET:{to:"idle",sideEffects:()=>Li()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ed()},FAIL:{to:"failed",sideEffects:e=>[...Ap(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>Li()}},completed:{RESET:{to:"idle",sideEffects:()=>Li()}},failed:{RESET:{to:"idle",sideEffects:()=>Li()}},cancelled:{RESET:{to:"idle",sideEffects:()=>Li()}}};function RA(e,t,n){let o=AA[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let i=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(i="awaiting_user"),{next:i,rejected:!1,sideEffects:o.sideEffects(t,n)}}function fc(e){return e==="completed"||e==="failed"||e==="cancelled"}function Nk(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function pc(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function Lk(e,t){let n=RA(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let i=t;o.blockReason=i.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),fc(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Rp(e){let t=Date.now(),n=e?.taskId||CA(),r=e?.boundaryId||MA();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function CA(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function MA(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function Id(e){return e==="running"}function Dk(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function Pk(e){let t=$e(e.currentTaskBoundaryId),n=$e(e.localPendingTaskBoundaryId),r=$e(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function Ok(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:Pk({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function Bk(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function Cp(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:Pk({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function Mp(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function Uk(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:i,sharedActiveRunId:a,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=$e(o),m=$e(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!i&&n===i&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let b=s||a;return t==="run_started"||t==="run_resumed"?!n||b&&b===n?!1:i?i!==n&&(!b||b!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:i?i!==n&&(!b||b!==n):!(b&&b===n):i?i!==n:!0:!1}function NA(e){return Math.max(1,Number(e)||1)}function LA(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function Np(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function Fk(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",i=NA(e.taskEpoch),a=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:i+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...a,status:l,boundaryReason:o,endedAt:r},taskEpoch:i,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...a,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:i,lifecycle:t.type==="awaiting_user"?"awaiting_user":LA(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function mc(e){return Array.isArray(e)?e.length:0}function Lp(e){return String(e||"").trim()||void 0}function zk(e){return String(e||"").trim()||void 0}function Hk(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),Lp(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,mc(r.history)),t+=Math.min(3,mc(r.plannerHistory)),t+=Math.min(4,mc(r.agentPrevSteps)),mc(r.pendingAskUser?.questions)>0&&(t+=3)),mc(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function Dp(e){let t=zk(e.localState.pendingRun?.id),n=zk(e.incomingState.pendingRun?.id),r=Lp(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=Lp(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:Hk(e.localState),incomingScore:Hk(e.incomingState)}}function Pp(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=Dp({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function ro(e){return String(e||"").trim()||void 0}function Op(e){return e==="preserve_if_running"}function jk(e,t){let n=ro(t.boundaryId),r=ro(t.runId),o=ro(t.taskId),i=Array.from(e);if(n){let a=i.find(s=>ro(s.boundaryId)===n);if(a)return a}if(r){let a=i.find(s=>ro(s.pendingRun?.id)===r);if(a)return a}if(o){let a=i.find(s=>ro(s.taskId)===o);if(a)return a}}function $k(e){let t=ro(e.localPendingRunId);if(t)return t;let n=ro(e.sharedActiveRunId);if(!n)return;let r=ro(e.sharedTaskId),o=ro(e.activeTaskId);if(!(r&&o&&r!==o))return n}var Ad=class{maxWorkers;maxQueue;activeWorkers=new Map;queue=[];onWorkerFreed;constructor(t){this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var DA=10,PA=8,OA=12,qk=40,Vk=60,BA=5*6e4,UA=5,Oa=class e{tasks=new Map;activeTaskId;taskOrder=[];workerPool;maxArchivedTasks;tabToTask=new Map;constructor(t){this.workerPool=new Ad({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||DA)}createTask(t,n){let r=Rp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Rp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:i}=Lk(r,n);return i.rejected||this.tasks.set(t,o),{accepted:!i.rejected,task:i.rejected?r:o,sideEffects:i.sideEffects,rejectedReason:i.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-PA),timeline:n.timeline.slice(-OA),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&fc(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,i]of Object.entries(t.tasks))if(i&&typeof i=="object"&&i.taskId&&(r.tasks.set(o,i),Array.isArray(i.tabIds)))for(let a of i.tabIds)r.tabToTask.set(a,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=pc(t.activeTask.status,t.activeTask.boundaryReason),i={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(i.taskId,i),r.taskOrder.push(i.taskId),r.activeTaskId=i.taskId;for(let a of i.tabIds)r.tabToTask.set(a,i.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)fc(t.state)||(t.uiMessages.length>qk&&(t.uiMessages=t.uiMessages.slice(-qk)),t.timeline.length>Vk&&(t.timeline=t.timeline.slice(-Vk)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>BA&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>UA)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var FA=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],zA=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],HA=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],jA=/^(\d{1,3}\.){3}\d{1,3}$/;function Bp(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of zA)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}jA.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let a=FA.filter(d=>d.test(o.pathname)).length;a>=2?(n+=2,r.push("multiple_credential_paths")):a===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>HA.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function Wk(e,t){return Bp(e,t).blocked}var Ua,Rd=null,hc=!1,wr=32,Ba=4,$A="#6b6bff";function qA(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function Kk(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function Gk(e=$A){if(hc)return!0;try{let t=qA();t&&(Ua=t.href,Rd=t);let n=document.createElement("canvas");n.width=wr,n.height=wr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,wr,wr),r.beginPath(),r.arc(wr-Ba-1,wr-Ba-1,Ba,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let i=n.toDataURL("image/png"),a=t||Kk();a.href=i,hc=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,wr,wr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",wr/2,wr/2),r.beginPath(),r.arc(wr-Ba-1,wr-Ba-1,Ba,0,Math.PI*2),r.fillStyle=e,r.fill();let i=n.toDataURL("image/png"),a=t||Kk();a.href=i,hc=!0},Ua?o.src=Ua:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function Xk(){if(hc){hc=!1;try{Rd&&Ua&&(Rd.href=Ua),Ua=void 0,Rd=null}catch{}}}function Yk(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function Jk(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function Cd(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function Qk(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function VA(e){let t=Qk(e.targetUrl),n=Cd(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let i=Qk(o.url);return t&&i&&i===t?!0:Cd(o.url)===n})}function WA(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function Zk(e){let t=Cd(e.targetUrl),n=Cd(e.currentHost||e.currentUrl);return t?Hs({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.preferredDisposition==="new_tab"||VA(e)||WA(e)?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}function gc(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),i=String(t||"").trim(),a=i?` Reason: ${i}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${a}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${a}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function bc(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",i=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,a=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:i,allowFallback:!0,output:{success:!1,error:{code:a,message:i,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?"open_new_tab_notice":void 0,reason:n},errorDetails:{code:a,message:i,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function KA(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=$e(e.pendingAskUserBoundaryId),n=$e(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function ex(e){return!KA(e)}var GA=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function Up(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function XA(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=Up(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function tx(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!GA.has(n));return new Set(t)}function YA(e,t){let n=tx(e),r=tx(t);if(!n.size||!r.size)return 0;let o=0;for(let a of n)r.has(a)&&(o+=1);let i=n.size+r.size-o;return i<=0?0:o/i}function nx(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=XA(e.previousTaskMessages),r=Up(e.previousTaskUserInput),o=Up(e.previousTaskAssistantOutput),i=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!i.some(u=>u.user))return{reason:"missing_previous_intent",overlap:0};if(!i.some(u=>u.assistant))return{reason:"missing_previous_output",overlap:0};let a=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(a,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!a||s-a>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=i.map((u,h)=>{let b=YA(u.user,e.currentPrompt),v=i.length>1?h/(i.length-1)*.05:.05;return{...u,overlap:b,score:b+v,index:h}}).filter(u=>!!u.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(u=>u.overlap>=l).sort((u,h)=>h.score!==u.score?h.score-u.score:h.index-u.index).slice(0,2).sort((u,h)=>u.index-h.index),f=d.reduce((u,h)=>Math.max(u,h.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(u=>[{role:"user",message:u.user},{role:"model",message:u.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var Im=2,du="rover:runtime:",JA="rover:runtime-id:",Rx="rover:visitor-id:",qd=Vt.uiMessages,Vd=Vt.timelineEvents,Am=Vt.uiMessages,QA=4,Rm=Vt.plannerHistory,Cm=Vt.prevSteps,ZA=8e3,eR=12,tR=15*6e4,nR=2,rR=12e4,oR=.18,iR=30,aR=3600*24*365,Cx=1,sR=3e3,cR=4500,lR=12e3,dR=30,Wd=240,rx=5*6e4,Kd=100,Gd=12,uR=80,fR=200,pR=2e3,mR=8,hR=240,gR=48,bR=2600,yR=800,vR=5e3,kR="rover:handoff-bootstrap:",Mx=3e4,xR=12e4,wR=2500,SR=2*6e4,TR=45e3,_R=2e4,Lc=400,ER=15e3,IR=7,AR=80,RR=2500,CR=250,MR=1e4,NR=400,Fp=40,zp=1e3,LR=350,DR=1e4,Dc=3e4,PR=20,OR=6,BR=12,UR=BR*1024*1024,ts="data-rover-agent-discovery",$n="rover-agent-discovery-cue",Xp="rover-agent-discovery-cue-style",Ln="rover-agent-discovery-landmark",Dn="rover-agent-discovery-actions",FR="AI ready",Yp="AI-ready path available on this page",ox="Alt+Shift+A",zR="rover:agent-discovery-changed",ix=28,ax=12,HR=1e4,jR=6e4,Zo=null,At=null,ct=null,le=null,A=null,qn=null,Ro=null,p=null,Mo=null,Et="",j=null,Yt=null,Sr=null,Hi=null,Hp=null,sx="",cx=0,lx=0,Od=null,tr=[],Bd=!1,Va=!1,Nx=0,Jp=0,Qp=0,Xd=0,_c=!1,No=null,$R=1500,qR=5e3,dx=1e4,ux=1200,Lx=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),VR=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),Xt,jr,ri=!1,ji=!1,Ec=null,Ic=null,wn=null,Zp="",ns=!1,za="",Ut="controller",em=!1,tm="default",rs,Ir=!1,os=!1,Hr=!0,Kr=!1,On=!1,Wn=!1,io=!1,Di=[],WR=3,fx=1e4,qe="",Jt=null,Bt=null,Vn=0,Go=null,Ud=!1,nm=!1,rm=!1,om=!1,ei=[],Wa=null,Ka=null,$a="",Bi="",Xo=null,Ga=null,Ac="",wc="",Yo=null,Ui="",Pc=null,Ge=null,Xa=null,yn=!1,oi=!1,im=!1;function Mm(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function Dx(e=Ge){if(e)return Mm({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function $i(){p&&(p.launchBinding=Dx(),Qe())}function Px(){return Dx()||Mm(p?.launchBinding)}function qi(e,t,n,r){e.addEventListener(t,n,r),ei.push({target:e,event:t,handler:n,options:r}),ei.length>100&&ei.length%50===0&&KR()}function KR(){for(let e=ei.length-1;e>=0;e--){let t=ei[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}ei.splice(e,1)}}}var Yd=null,Sc=0,ti=null,Ya,Md="",Cn,Rc,Cc=!1,Ja=null,Ki,uo,is=0,GR=50,XR=100,YR=20,JR=3e5;function Jd(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function QR(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var ao=new Map,Ha=new Map,Tr=new Set,Ie=null,An,co=0,Co=1,qc,Oc="",ie=null,Jo=null,Bc=new Set,Mc="",ja="",Qo=null,Uc=null,am=!1,ZR=new Set(["execution_started","execution_state_transition","execution_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),sm={read:"rover_external_read_context",act:"rover_external_act_context"},Fd=[],zd=new Map,Pn=new Map;function gt(e,t){rt(e,t);let n=zd.get(e);if(n)for(let r of n)try{r(t)}catch{}}function Ox(e){return vk(e)}async function e1(e){if(Bc.size===0)return[];let t=[];for(let n of Bc)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let i of o){let a=Ox(i);a&&t.push(a)}}catch{}return Yr(t)}function Bx(e){return kk({msg:e,runId:String(p?.activeTask?.taskId||ls()?.taskId||"").trim()||void 0,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||qe,normalizeRunBoundaryId:t=>$e(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function Ux(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(p?.pendingRun?.id||"").trim()||void 0,r=String(p?.activeTask?.taskId||ls()?.taskId||"").trim()||void 0;return xk({msg:n?{...e,executionId:n}:e,runId:r,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||qe,normalizeRunBoundaryId:o=>$e(typeof o=="string"?o:void 0),completionState:t,latestSummary:n?ao.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function Fx(e,t){zd.has(e)||zd.set(e,new Set);let n=zd.get(e);return n.add(t),()=>{n.delete(t)}}function t1(e){return typeof e=="string"?{name:e}:e}function n1(){if(typeof window>"u")return[];let e=window[Yv];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function zx(){let e=Nm(A);return e?Mi(e):null}function Nm(e){if(!e||typeof window>"u")return null;let t=Qc(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=ku(e),o=At?.listClientTools?.()||e.tools?.client||[],i=n1();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||wn?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||Io,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||Ci,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:ah(e),tools:o,webmcpTools:i,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function uu(e){return!e||typeof document>"u"||ku(e)?.enabled===!1?!1:Qc(e)?.enabled!==!1}function Qd(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${ts}]`)))e.remove()}function Nd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${ts}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(ts,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function px(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let i=document.querySelector(`link[${ts}="${e}"]`);i||(i=document.createElement("link"),i.setAttribute(ts,e),o.appendChild(i)),i.rel=t,i.href=n,i.type=r}function Lm(e){if(typeof document>"u")return;if(!uu(e)){Qd();return}let t=Nm(e);if(!t){Qd();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:i,roverSiteJson:a,serviceDescHref:s}=gd(t);Nd("marker","application/agent+json",JSON.stringify(o)),px("service-desc","service-desc",s,"application/json"),r?px("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${ts}="service-doc"]`)?.remove(),Nd("rover-site","application/rover-site+json",a),Nd("page","application/rover-page+json",i),Nd("agent-card","application/agent-card+json",n)}function nr(e){return String(e||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function r1(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":FR)}function Hx(e){let t=String(e||"").trim();return t?`${t}. ${Yp}`:Yp}function o1(){return!!(oi||p?.uiOpen||Jo||Ge?.requestId)}function Dm(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function i1(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function ii(e){if(!uu(e))return null;let t=Nm(e);if(!t)return null;let n=gd(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let i=n.roverSite.actions||[],a=(r.capabilityIds||[]).map(m=>i.find(f=>f.capabilityId===m)).filter(m=>!!m),s=i1(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=p?.uiHidden===!0||p?.uiOpen===!0,d=r1({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:a,hostSurfaceTarget:s,integratedHost:c,agentModeActive:o1(),hidden:l,beaconLabel:d}}function jx(){typeof document>"u"||im||(im=!0,qi(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&yn){yn=!1,Kn(A);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=ii(A);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),oi=!0,yn=!yn,Kn(A))}),!0),qi(document,"pointerdown",(e=>{if(!yn)return;let n=e.target;if(!n)return;let r=document.getElementById($n),o=document.getElementById(Dn);r?.contains(n)||o?.contains(n)||(yn=!1,Kn(A))}),!0))}function Pm(){if(typeof document>"u"||document.getElementById(Xp))return;let e=`calc(${78+ax}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-ix)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+ax}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-ix)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=Xp,o.textContent=`
4379
+ `),agentCard:m,agentCardJson:f,roverSite:u,roverSiteJson:h,serviceDescLinkHeader:n?kp({agentCardUrl:o||Ao,...a?{llmsUrl:a}:{}}):void 0,llmsTxt:G,metadata:{discoveryEnabled:!!n,llmsPublished:!!I,embedScriptUrl:c,roverBookEnabled:l,roverBookScriptUrl:d||void 0,publishedAgentCardUrl:o||void 0,publishedRoverSiteUrl:i||void 0,publishedLlmsUrl:a||void 0,serviceDescLinkTag:_,serviceDocLinkTag:I,markerJson:S,markerScript:S?`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`:void 0,inlineAgentCardScript:k?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`:void 0,roverSiteJson:h,inlineRoverSiteScript:x?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`:void 0,pageManifestJson:b,pageManifestScript:C?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`:void 0}},e.bootConfig)}var mk="https://agent.rtrvr.ai",fk="rvrsess_";function Pa(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function qI(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function VI(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function wp(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>wp(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${wp(r)}`).join(",")}}`:JSON.stringify(String(e))}function WI(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function pk(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},i=e.runtimeState?.pendingRun||{},a=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=a.length?a[a.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=a.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),m=s.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(u=>({logicalTabId:Number(u?.logicalTabId)||0,scope:String(u?.scope||""),status:String(u?.status||""),url:VI(u?.url),external:!!u?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(i.id||""),pendingRunStatus:String(i.status||""),pendingResumeRequired:i.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:a.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(u=>Number(u)||0).filter(u=>u>0):[]}}};return WI(wp(f))}function KI(e){let t=mk,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function xp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function GI(e){let t=KI(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?xp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):xp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function Pi(e,t){let n=new Error(e);return n.details=t,n}function XI(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var xd=class{endpoint;endpointCandidates;endpointIndex=0;getToken;siteId;visitorId;ttlHours;flushIntervalMs;pullIntervalMs;minFlushIntervalMs;maxSnapshotBytes;shouldSync;shouldWrite;buildCheckpoint;onCheckpoint;onStateChange;onError;idlePullIntervalMs;started=!1;idleMode=!1;dirty=!1;flushTimer=null;pullTimer=null;lastFlushAt=0;lastPullAt=0;lastUploadedRevision="";lastAppliedRemoteUpdatedAt=0;lastAppliedRemoteDigest="";pushInFlight=!1;pullInFlight=!1;state="active";visibilityListener=null;constructor(t){let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(fk))throw Pi("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=GI(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${mk}/v2/rover`,this.getToken=()=>{let i=r?String(r()||"").trim():n;if(!i||!i.startsWith(fk))throw Pi("Rover cloud checkpoint requires an active session token.");return i},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(Pa(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(Pa(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(Pa(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(Pa(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(Pa(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let i=0;i<r;i+=1){let a=(this.endpointIndex+i)%r,s=this.endpointCandidates[a]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=Pi(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=a,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:Pi(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=pk(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(Pa(t?.updatedAt,0))),o=String(t?.digest||"").trim()||pk(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:XI(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw Pi("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw Pi(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:i,payload:a}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!i.ok||!a?.success)throw Pi(`Checkpoint HTTP ${i.status}`,{action:t,status:i.status,payload:a});let s=a?.data?.projection?.snapshot??a?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,i=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,a=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof i=="string"?i:void 0,message:qI(a,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var YI="rover-runtime-state-db",wd="runtime-state",Sp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},Tp=class{dbPromise=null;openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(YI,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(wd)||o.createObjectStore(wd)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,i)=>{let a=r.transaction(wd,t),s=a.objectStore(wd);n(s,o,i),a.onerror=()=>{i(a.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let i=n.get(t);i.onsuccess=()=>{let a=i.result;r(a??null)},i.onerror=()=>{o(i.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,i)=>{let a=r.put(n,t);a.onsuccess=()=>o(),a.onerror=()=>{i(a.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let i=n.delete(t);i.onsuccess=()=>r(),i.onerror=()=>{o(i.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function Sd(){let e=new Sp,t=new Tp;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}var JI="https://agent.rtrvr.ai";function QI(e){let t=JI,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function ZI(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${QI(e)}/v2/rover`}function eA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function hk(e,t){return String(e||t).trim().toLowerCase().replace(/[^a-z0-9._:-]+/g,"_").slice(0,128)||t}function Ro(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,128)}function Oa(e,t){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,t)}function Ko(e,t="New chat"){return Oa(e,72)||t}function gk(e){let t=Sd(),n=`${hk(e.siteId,"unknown-site")}:${hk(e.visitorId,"anonymous")}`,r=`rover:conversations:${n}:index`,o=s=>`rover:conversations:${n}:record:${Ro(s)}`;async function i(){let s=t.readSync(r);if(Array.isArray(s))return s;let c=await t.readAsync(r);return Array.isArray(c)?c:[]}function a(s){t.write(r,s.filter(c=>!!Ro(c.conversationId)&&!c.deletedAt).sort((c,l)=>Number(l.updatedAt||0)-Number(c.updatedAt||0)).slice(0,100))}return{async list(){return i()},async get(s){let c=Ro(s);return c?t.readSync(o(c))||await t.readAsync(o(c)):null},upsert(s){let c=Ro(s.summary.conversationId);if(!c)return;let l={...s.summary,conversationId:c,title:Ko(s.summary.title),preview:Oa(s.summary.preview,180),updatedAt:Number(s.summary.updatedAt||Date.now()),createdAt:Number(s.summary.createdAt||s.summary.updatedAt||Date.now())};t.write(o(c),{summary:l,payload:s.payload}),i().then(d=>{a([l,...d.filter(m=>m.conversationId!==c)])})},remove(s,c){let l=Ro(s);l&&(t.remove(o(l)),i().then(d=>{a(d.filter(m=>m.conversationId!==l).map(m=>m.conversationId===l?{...m,deletedAt:c?.deletedAt||Date.now(),revision:c?.revision}:m))}))}}}var Td=class{base;getSessionToken;siteId;visitorId;constructor(t){this.base=ZI(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.visitorId=t.visitorId}async request(t,n){let r=this.getSessionToken?.();if(!r)throw new Error("Rover session token unavailable.");let o=n?.method||"GET",i=new URL(`${this.base}${t}`);o==="GET"&&(i.searchParams.set("sessionToken",r),i.searchParams.set("siteId",this.siteId),i.searchParams.set("visitorId",this.visitorId));let a=o==="GET"?void 0:JSON.stringify({...n?.json||{},sessionToken:r,siteId:this.siteId,visitorId:this.visitorId,requestNonce:eA()}),s=await fetch(i.toString(),{method:o,headers:o==="GET"?void 0:{"content-type":"text/plain;charset=UTF-8"},body:a,credentials:"omit"}),c=await s.json().catch(()=>({}));if(!s.ok||c?.success===!1)throw new Error(String(c?.error||c?.message||`conversation request failed (${s.status})`));return c.data||c}async list(){let t=await this.request("/conversations"),n=Array.isArray(t.conversations)?t.conversations.map(o=>({conversationId:Ro(o.conversationId),title:Ko(o.title),preview:Oa(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0})).filter(o=>!!o.conversationId):[],r=Array.isArray(t.tombstones)?t.tombstones:[];return{conversations:n,tombstones:r}}async get(t){let n=Ro(t);if(!n)return null;let r=await this.request(`/conversations/${encodeURIComponent(n)}`),o=r.conversation||{};return{summary:{conversationId:n,title:Ko(o.title),preview:Oa(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0},payload:r.payload?.payload||r.payload}}async upsert(t){let n=Ro(t.summary.conversationId);if(!n)return null;let o=(await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"POST",json:{title:Ko(t.summary.title),preview:Oa(t.summary.preview,180),status:t.summary.status||"completed",payload:t.payload||{}}})).conversation||{};return{conversationId:n,title:Ko(o.title||t.summary.title),preview:Oa(o.preview||t.summary.preview,180),status:o.status||t.summary.status,createdAt:Number(o.createdAt||t.summary.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||Date.now()),revision:Number(o.revision||0)||void 0}}async delete(t){let n=Ro(t),r=await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"DELETE",json:{}});return{conversationId:n,deletedAt:Number(r.deletedAt||Date.now()),revision:Number(r.revision||0)||void 0}}};var tA="https://agent.rtrvr.ai";var nA={0:"Available",1:"Cross-origin frame without a frame agent",2:"Frame DOM is empty",3:"Frame was not ready",4:"Frame scan timed out",5:"Frame sandbox blocked access",6:"Frame adapter unavailable",7:"Frame tree scan failed"};function rA(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function oA(e){let t=tA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function iA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${oA(e)}/v2/rover`}function aA(e,t){return String(e||t).trim().replace(/[^a-zA-Z0-9._:-]+/g,"_").slice(0,128)||t}function _d(e,t){let n=String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,t):void 0}function Ba(e){let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function bk(e){let t=Ba(e);if(t!=null)return nA[t]||`Unavailable (${t})`}function _p(e,t){let n=String(e||"").trim();if(n)try{let r=new URL(n,t||void 0);return r.search="",r.hash="",r.toString().slice(0,300)}catch{let r=n.split("#")[0].split("?")[0].trim();return r?r.slice(0,300):void 0}}function sA(e,t){let n=String(e||"").trim();if(n)try{return new URL(n,t||void 0).origin.slice(0,300)}catch{return}}function cA(e){if(!e||typeof e!="object")return!1;if(e.isFrameElement===!0)return!0;let t=String(e.elementTag||e.elementName||"").trim().toLowerCase();return t==="iframe"||t==="frame"}function lA(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=Ba(n);r!=null&&t.push(r)}return t}function dA(e,t){if(t==null)return;let n=e.metadata?.frameRealms?.realms;return n?.[String(t)]||n?.[t]}function uA(e,t){let n=e.nodes?.[t];if(!cA(n))return;let r=Ba(t);if(r==null)return;let o=Array.isArray(n.frameRealm)?n.frameRealm:[],i=Ba(o[0]),a=Ba(o[1]),s=Ba(o[2]),c=dA(e,i),l=c?.url||n.resourceLocator,d=_p(l,e.url),m=_d(c?.origin,300)||sA(l,e.url),f=lA(n.frameContent),u=_d(n.computedName||c?.title||n.computedDescription,120);return{hostElementId:r,...u?{label:u}:{},...d?{src:d}:{},...m?{origin:m}:{},hasFrameContent:f.length>0,childCount:f.length,...a!=null?{capabilityCode:a}:{},...s!=null?{unavailableCode:s}:{},...bk(s)?{reasonLabel:bk(s)}:{}}}function yk(e,t={}){if(!e?.nodes||typeof e.nodes!="object")return;let n=[];for(let i of Object.keys(e.nodes)){let a=uA(e,i);if(a&&(n.push(a),n.length>=50))break}if(!n.length)return;let r={version:1,captureId:aA(t.captureId,`frame-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`),capturedAt:Number(t.now||Date.now()),..._p(e.url)?{pageUrl:_p(e.url)}:{},..._d(e.title,120)?{title:_d(e.title,120)}:{},frameCount:n.length,frames:n},o=fA(r);return o.frames.length?o:void 0}function vk(e){return JSON.stringify({pageUrl:e.pageUrl,frames:e.frames.map(t=>[t.hostElementId,t.src,t.origin,t.childCount,t.capabilityCode,t.unavailableCode])})}function fA(e){let t={...e,frames:e.frames.slice(0,50),frameCount:Math.min(e.frameCount,50)};for(;JSON.stringify(t).length>64e3&&t.frames.length>0;)t={...t,frames:t.frames.slice(0,-1),frameCount:t.frames.length-1};return t.frameCount=t.frames.length,t}var Ed=class{base;getSessionToken;siteId;sessionId;constructor(t){this.base=iA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.sessionId=t.sessionId}async upload(t){let n=this.getSessionToken?.();if(!n)return;let r=await fetch(`${this.base}/debug/frame-diagnostics`,{method:"POST",headers:{"content-type":"text/plain;charset=UTF-8"},credentials:"omit",body:JSON.stringify({sessionToken:n,sessionId:this.sessionId,siteId:this.siteId,runId:t.runId,captureId:t.diagnostics.captureId,diagnostics:t.diagnostics,requestNonce:rA()})}),o=await r.json().catch(()=>({}));if(!r.ok||o?.success===!1)throw new Error(String(o?.error||o?.message||`frame diagnostics upload failed (${r.status})`));return o.data?.debugRef||o.debugRef}};function kk(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function xk(e){let t=e.normalizeRunBoundaryId||(r=>String(r||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"?e.msg.runId:void 0;return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function wk(e){let t=e.normalizeRunBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,i=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,a=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,runComplete:e.completionState.runComplete===!0,needsUserInput:e.completionState.needsUserInput,summary:o,error:i,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:a,pageUrl:e.pageUrl}}var pA=/(?:password|passcode|secret|token|api[_-]?key|authorization|cookie|session|credit|card|cvv|cvc|ssn|otp|mfa|email|phone)/i,mA=/^(?:text|value|input|content|typed_text|field_value|option_value|search_text|query)$/i,hA=/^(?:file_url|url|file_name|filename|name|path|file_path|download_url|storage_url|gcs_uri)$/i,gA=new Set(va),Kt=["element_id"],bA=["source_element_id","target_element_id"],yA=["center_element_id"],no=[],Sk=Object.freeze({[z.click_element]:{kind:"click",elementKeys:Kt},[z.type_into_element]:{kind:"type",elementKeys:Kt},[z.type_and_enter]:{kind:"type",elementKeys:Kt},[z.select_dropdown_value]:{kind:"select",elementKeys:Kt},[z.clear_element]:{kind:"clear",elementKeys:Kt},[z.focus_element]:{kind:"focus",elementKeys:Kt},[z.check_field_validity]:{kind:"read",emit:!1},[z.select_text]:{kind:"select",elementKeys:Kt},[z.hover_element]:{kind:"hover",elementKeys:Kt},[z.right_click_element]:{kind:"click",elementKeys:Kt},[z.double_click_element]:{kind:"click",elementKeys:Kt},[z.press_key]:{kind:"press",elementKeys:Kt},[z.mouse_wheel]:{kind:"scroll",elementKeys:Kt},[z.dispatch_pointer_path]:{kind:"drag",elementKeys:Kt},[z.drag_element]:{kind:"drag",elementKeys:Kt},[z.drag_and_drop]:{kind:"drag",elementKeys:bA},[z.adjust_slider]:{kind:"drag",elementKeys:Kt},[z.scroll_page]:{kind:"scroll",elementKeys:Kt},[z.scroll_to_element]:{kind:"scroll",elementKeys:Kt},[z.swipe_element]:{kind:"scroll",elementKeys:Kt},[z.long_press_element]:{kind:"click",elementKeys:Kt},[z.pinch_zoom]:{kind:"drag",elementKeys:yA},[z.go_back]:{kind:"navigate",elementKeys:no},[z.go_forward]:{kind:"navigate",elementKeys:no},[z.goto_url]:{kind:"navigate",elementKeys:no},[z.refresh_page]:{kind:"navigate",elementKeys:no},[z.open_new_tab]:{kind:"navigate",elementKeys:no},[z.switch_tab]:{kind:"navigate",elementKeys:no},[z.close_tab]:{kind:"navigate",elementKeys:no},[z.describe_images]:{kind:"read",emit:!1},[z.google_search]:{kind:"navigate",elementKeys:no},[z.network_run_recipe]:{kind:"read",emit:!1},[z.rover_external_read_context]:{kind:"read",emit:!1},[z.rover_external_act_context]:{kind:"read",emit:!1},[z.copy_text]:{kind:"copy",elementKeys:Kt},[z.paste_text]:{kind:"paste",elementKeys:Kt},[z.wait_action]:{kind:"wait",elementKeys:no},[z.wait_for_element]:{kind:"wait",emit:!1},[z.answer_task]:{kind:"unknown",emit:!1},[z.upload_file]:{kind:"upload",elementKeys:Kt},[z.solve_captcha]:{kind:"unknown",emit:!1},discover_and_extract_network_data:{kind:"read",emit:!1}});function Ua(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function vA(e,t){if(!e||typeof e!="object")return[];let n=new Set,r=[];for(let o of t){if(!gA.has(o))continue;let i=e[o],a=Array.isArray(i)?i:[i];for(let s of a){let c=Ua(s);!c||n.has(c)||(n.add(c),r.push(c))}}return r}function kA(e){if(!(!e||typeof e!="object"))return Ua(e.logical_tab_id)??Ua(e.tab_id)??Ua(e.logicalTabId)??Ua(e.tabId)}function xA(e){let t=String(e||"").trim().toLowerCase();return t&&Sk[t]?.kind||"unknown"}function wA(e,t){return!!(pA.test(e)||(t==="type"||t==="select"||t==="paste")&&mA.test(e)||t==="upload"&&hA.test(e))}function SA(e){if(typeof e=="string"){let t=[...e].length;return t>0?`[REDACTED ${t} chars]`:"[REDACTED]"}return"[REDACTED]"}function Ep(e,t,n="",r=0){if(r>5)return{value:"[Truncated]",redacted:!1};if(wA(n,t))return{value:SA(e),redacted:!0};if(Array.isArray(e)){let o=!1,i=e.slice(0,40).map(a=>{let s=Ep(a,t,n,r+1);return o=o||s.redacted,s.value});return e.length>40&&i.push(`[${e.length-40} more items]`),{value:i,redacted:o}}if(e&&typeof e=="object"){let o=!1,i={};for(let[a,s]of Object.entries(e).slice(0,80)){let c=Ep(s,t,a,r+1);o=o||c.redacted,i[a]=c.value}return{value:i,redacted:o}}return{value:e,redacted:!1}}function Tk(e,t){if(!e||typeof e!="object")return{args:{},valueRedacted:!1};let n=Ep(e,t);return{args:n.value&&typeof n.value=="object"&&!Array.isArray(n.value)?n.value:{},valueRedacted:n.redacted}}function fc(e,t,n={}){if(!e||typeof e!="object")return;let r=String(e.name||"").trim().toLowerCase(),o=Sk[r];if(!o||o.emit===!1)return;let i=o.kind,a=vA(e.args,o.elementKeys||no),s=a[0],c=kA(e.args)??Ua(n.logicalTabId),l=Tk(e.args,i);return{kind:i,toolCallId:String(t||e.id||"").trim()||void 0,primaryElementId:s,elementIds:a.length?a:void 0,logicalTabId:c,valueRedacted:l.valueRedacted||void 0}}function _k(e){if(!e?.args)return;let t=xA(e.name),n=Tk(e.args,t);if(Object.keys(n.args).length)return[{type:"json",label:`${e.name||"tool"} args`,toolName:e.name,data:n.args}]}function TA(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function Ek(e,t=document){let n=TA(e);if(!n)return null;try{let r=dr(t,n);if(r)return r}catch{}try{return t.querySelector(`[data-rveid="${n}"]`)}catch{return null}}var _A="rover_xdr_",Ak=300;function Rk(e){return pr(e)}function Ck(e){let t=Jn(e);return!(!t||t==="localhost"||xf(t))}function Ip(e){return`${_A}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function Id(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function Ik(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function EA(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let i=t.getAll(r);if(!i.length)return!1;let a=new Map;for(let s of i)a.set(s,(a.get(s)||0)+1);for(let s of o){let c=a.get(s)||0;if(c<=0)return!1;a.set(s,c-1)}}return!0}function Ap(e,t){let n=Id(e),r=Id(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),i=new URL(r,window.location.href);return o.origin.toLowerCase()!==i.origin.toLowerCase()||Ik(o.pathname)!==Ik(i.pathname)?!1:EA(o.searchParams,i.searchParams)}catch{return n===r}}function Mk(e,t){try{let n=Ip(e),r=Rk(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),i=window.location.protocol==="https:",a=[`${n}=${o}`,"path=/",`max-age=${Ak}`,"SameSite=Lax"];Ck(r)&&a.push(`domain=.${r}`),i&&a.push("Secure"),document.cookie=a.join("; ")}catch{}}function Rp(e,t){try{let n=Ip(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||Ak*1e3),i=Id(t?.currentUrl||window.location.href),a=Jn(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),u=JSON.parse(decodeURIComponent(f));if(!u.timestamp||Date.now()-u.timestamp>=o)continue;let h=String(u.handoffId||u.handoff?.handoffId||"").trim();if(!h||s&&h!==s)continue;if(c){let b=Id(u.targetUrl||u.handoff?.targetUrl||"");if(!b||!i||!Ap(b,i))continue}if(u.sourceHost){let b=Jn(u.sourceHost||"");if(b&&a&&b===a&&!s)continue}if(u.sessionId&&typeof u.sessionId=="string")return u}}}catch{}return null}function pc(e){try{let t=Ip(e),n=Rk(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];Ck(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function $e(e){return String(e||"").trim()||void 0}function IA(e){let t=$e(e.incomingBoundaryId),n=$e(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function Nk(e){let t=$e(e.incomingBoundaryId),n=$e(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?IA(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function AA(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function Cp(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Ad(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Oi(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var RA={idle:{START:{to:"running",sideEffects:()=>AA()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>Cp()},FAIL:{to:"failed",sideEffects:e=>[...Cp(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>Ad()},RESET:{to:"idle",sideEffects:()=>Oi()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ad()},RESET:{to:"idle",sideEffects:()=>Oi()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ad()},RESET:{to:"idle",sideEffects:()=>Oi()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>Ad()},FAIL:{to:"failed",sideEffects:e=>[...Cp(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>Oi()}},completed:{RESET:{to:"idle",sideEffects:()=>Oi()}},failed:{RESET:{to:"idle",sideEffects:()=>Oi()}},cancelled:{RESET:{to:"idle",sideEffects:()=>Oi()}}};function CA(e,t,n){let o=RA[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let i=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(i="awaiting_user"),{next:i,rejected:!1,sideEffects:o.sideEffects(t,n)}}function mc(e){return e==="completed"||e==="failed"||e==="cancelled"}function Lk(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function hc(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function Dk(e,t){let n=CA(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let i=t;o.blockReason=i.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),mc(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Mp(e){let t=Date.now(),n=e?.taskId||MA(),r=e?.boundaryId||NA();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function MA(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function NA(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function Rd(e){return e==="running"}function Pk(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function Ok(e){let t=$e(e.currentTaskBoundaryId),n=$e(e.localPendingTaskBoundaryId),r=$e(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function Bk(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:Ok({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function Uk(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function Np(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:Ok({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function Lp(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function Fk(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:i,sharedActiveRunId:a,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=$e(o),m=$e(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!i&&n===i&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let b=s||a;return t==="run_started"||t==="run_resumed"?!n||b&&b===n?!1:i?i!==n&&(!b||b!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:i?i!==n&&(!b||b!==n):!(b&&b===n):i?i!==n:!0:!1}function LA(e){return Math.max(1,Number(e)||1)}function DA(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function Dp(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function zk(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",i=LA(e.taskEpoch),a=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:i+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...a,status:l,boundaryReason:o,endedAt:r},taskEpoch:i,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...a,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:i,lifecycle:t.type==="awaiting_user"?"awaiting_user":DA(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function gc(e){return Array.isArray(e)?e.length:0}function Pp(e){return String(e||"").trim()||void 0}function Hk(e){return String(e||"").trim()||void 0}function jk(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),Pp(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,gc(r.history)),t+=Math.min(3,gc(r.plannerHistory)),t+=Math.min(4,gc(r.agentPrevSteps)),gc(r.pendingAskUser?.questions)>0&&(t+=3)),gc(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function Op(e){let t=Hk(e.localState.pendingRun?.id),n=Hk(e.incomingState.pendingRun?.id),r=Pp(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=Pp(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:jk(e.localState),incomingScore:jk(e.incomingState)}}function Bp(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=Op({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function ro(e){return String(e||"").trim()||void 0}function Up(e){return e==="preserve_if_running"}function $k(e,t){let n=ro(t.boundaryId),r=ro(t.runId),o=ro(t.taskId),i=Array.from(e);if(n){let a=i.find(s=>ro(s.boundaryId)===n);if(a)return a}if(r){let a=i.find(s=>ro(s.pendingRun?.id)===r);if(a)return a}if(o){let a=i.find(s=>ro(s.taskId)===o);if(a)return a}}function qk(e){let t=ro(e.localPendingRunId);if(t)return t;let n=ro(e.sharedActiveRunId);if(!n)return;let r=ro(e.sharedTaskId),o=ro(e.activeTaskId);if(!(r&&o&&r!==o))return n}var Cd=class{maxWorkers;maxQueue;activeWorkers=new Map;queue=[];onWorkerFreed;constructor(t){this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var PA=10,OA=8,BA=12,Vk=40,Wk=60,UA=5*6e4,FA=5,Fa=class e{tasks=new Map;activeTaskId;taskOrder=[];workerPool;maxArchivedTasks;tabToTask=new Map;constructor(t){this.workerPool=new Cd({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||PA)}createTask(t,n){let r=Mp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Mp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:i}=Dk(r,n);return i.rejected||this.tasks.set(t,o),{accepted:!i.rejected,task:i.rejected?r:o,sideEffects:i.sideEffects,rejectedReason:i.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-OA),timeline:n.timeline.slice(-BA),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&mc(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,i]of Object.entries(t.tasks))if(i&&typeof i=="object"&&i.taskId&&(r.tasks.set(o,i),Array.isArray(i.tabIds)))for(let a of i.tabIds)r.tabToTask.set(a,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=hc(t.activeTask.status,t.activeTask.boundaryReason),i={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(i.taskId,i),r.taskOrder.push(i.taskId),r.activeTaskId=i.taskId;for(let a of i.tabIds)r.tabToTask.set(a,i.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)mc(t.state)||(t.uiMessages.length>Vk&&(t.uiMessages=t.uiMessages.slice(-Vk)),t.timeline.length>Wk&&(t.timeline=t.timeline.slice(-Wk)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>UA&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>FA)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var zA=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],HA=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],jA=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],$A=/^(\d{1,3}\.){3}\d{1,3}$/;function Fp(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of HA)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}$A.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let a=zA.filter(d=>d.test(o.pathname)).length;a>=2?(n+=2,r.push("multiple_credential_paths")):a===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>jA.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function Kk(e,t){return Fp(e,t).blocked}var Ha,Md=null,bc=!1,wr=32,za=4,qA="#6b6bff";function VA(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function Gk(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function Xk(e=qA){if(bc)return!0;try{let t=VA();t&&(Ha=t.href,Md=t);let n=document.createElement("canvas");n.width=wr,n.height=wr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,wr,wr),r.beginPath(),r.arc(wr-za-1,wr-za-1,za,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let i=n.toDataURL("image/png"),a=t||Gk();a.href=i,bc=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,wr,wr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",wr/2,wr/2),r.beginPath(),r.arc(wr-za-1,wr-za-1,za,0,Math.PI*2),r.fillStyle=e,r.fill();let i=n.toDataURL("image/png"),a=t||Gk();a.href=i,bc=!0},Ha?o.src=Ha:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function Yk(){if(bc){bc=!1;try{Md&&Ha&&(Md.href=Ha),Ha=void 0,Md=null}catch{}}}function Jk(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function Qk(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function Nd(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function Zk(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function WA(e){let t=Zk(e.targetUrl),n=Nd(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let i=Zk(o.url);return t&&i&&i===t?!0:Nd(o.url)===n})}function KA(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function ex(e){let t=Nd(e.targetUrl),n=Nd(e.currentHost||e.currentUrl);return t?$s({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.preferredDisposition==="new_tab"||WA(e)||KA(e)?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}function yc(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),i=String(t||"").trim(),a=i?` Reason: ${i}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${a}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${a}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function vc(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",i=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,a=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:i,allowFallback:!0,output:{success:!1,error:{code:a,message:i,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?"open_new_tab_notice":void 0,reason:n},errorDetails:{code:a,message:i,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function GA(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=$e(e.pendingAskUserBoundaryId),n=$e(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function tx(e){return!GA(e)}var XA=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function zp(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function YA(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=zp(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function nx(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!XA.has(n));return new Set(t)}function JA(e,t){let n=nx(e),r=nx(t);if(!n.size||!r.size)return 0;let o=0;for(let a of n)r.has(a)&&(o+=1);let i=n.size+r.size-o;return i<=0?0:o/i}function rx(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=YA(e.previousTaskMessages),r=zp(e.previousTaskUserInput),o=zp(e.previousTaskAssistantOutput),i=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!i.some(u=>u.user))return{reason:"missing_previous_intent",overlap:0};if(!i.some(u=>u.assistant))return{reason:"missing_previous_output",overlap:0};let a=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(a,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!a||s-a>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=i.map((u,h)=>{let b=JA(u.user,e.currentPrompt),v=i.length>1?h/(i.length-1)*.05:.05;return{...u,overlap:b,score:b+v,index:h}}).filter(u=>!!u.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(u=>u.overlap>=l).sort((u,h)=>h.score!==u.score?h.score-u.score:h.index-u.index).slice(0,2).sort((u,h)=>u.index-h.index),f=d.reduce((u,h)=>Math.max(u,h.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(u=>[{role:"user",message:u.user},{role:"model",message:u.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var Rm=2,fu="rover:runtime:",QA="rover:runtime-id:",Cx="rover:visitor-id:",Kd=Vt.uiMessages,Gd=Vt.timelineEvents,Cm=Vt.uiMessages,ZA=4,Mm=Vt.plannerHistory,Nm=Vt.prevSteps,eR=8e3,tR=12,nR=15*6e4,rR=2,oR=12e4,iR=.18,aR=30,sR=3600*24*365,Mx=1,cR=3e3,lR=4500,dR=12e3,uR=30,Xd=240,ox=5*6e4,$i=100,Yd=12,fR=80,pR=200,mR=2e3,hR=8,gR=240,bR=48,yR=2600,vR=800,kR=5e3,xR="rover:handoff-bootstrap:",Nx=3e4,wR=12e4,SR=2500,TR=2*6e4,_R=45e3,ER=2e4,Pc=400,IR=15e3,AR=7,RR=80,CR=2500,MR=250,NR=1e4,LR=400,Hp=40,jp=1e3,DR=350,PR=1e4,Oc=3e4,OR=20,BR=6,UR=12,FR=UR*1024*1024,os="data-rover-agent-discovery",$n="rover-agent-discovery-cue",Jp="rover-agent-discovery-cue-style",Ln="rover-agent-discovery-landmark",Dn="rover-agent-discovery-actions",zR="AI ready",Qp="AI-ready path available on this page",ix="Alt+Shift+A",HR="rover:agent-discovery-changed",ax=28,sx=12,jR=1e4,$R=6e4,ei=null,At=null,ct=null,le=null,A=null,qn=null,Co=null,p=null,No=null,Et="",j=null,Yt=null,Sr=null,Vi=null,$p=null,cx="",lx=0,dx=0,Fd=null,tr=[],zd=!1,Ga=!1,Lx=0,Zp=0,em=0,Jd=0,Ic=!1,Lo=null,qR=1500,VR=5e3,ux=1e4,fx=1200,Dx=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),WR=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),Xt,jr,ii=!1,Wi=!1,Ac=null,Rc=null,an=null,tm="",is=!1,$a="",Ut="controller",nm=!1,rm="default",as,Ir=!1,ss=!1,Hr=!0,Kr=!1,On=!1,Wn=!1,io=!1,Bi=[],KR=3,px=1e4,qe="",Jt=null,Bt=null,Vn=0,Xo=null,Hd=!1,om=!1,im=!1,am=!1,ti=[],Xa=null,Ya=null,Wa="",zi="",Yo=null,Ja=null,Cc="",Tc="",Jo=null,Hi="",Bc=null,Ge=null,Qa=null,vn=!1,ai=!1,sm=!1;function Lm(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function Px(e=Ge){if(e)return Lm({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function Ki(){p&&(p.launchBinding=Px(),Qe())}function Ox(){return Px()||Lm(p?.launchBinding)}function Gi(e,t,n,r){e.addEventListener(t,n,r),ti.push({target:e,event:t,handler:n,options:r}),ti.length>100&&ti.length%50===0&&GR()}function GR(){for(let e=ti.length-1;e>=0;e--){let t=ti[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}ti.splice(e,1)}}}var Qd=null,_c=0,ni=null,Za,Ld="",Cn,Mc,Nc=!1,es=null,Yi,fo,cs=0,XR=50,YR=100,JR=20,QR=3e5;function Zd(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function ZR(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var ao=new Map,qa=new Map,Tr=new Set,Ie=null,An,co=0,Mo=1,Wc,Uc="",ie=null,Qo=null,Fc=new Set,Lc="",Va="",Zo=null,zc=null,cm=!1,e1=new Set(["execution_started","execution_state_transition","execution_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),lm={read:"rover_external_read_context",act:"rover_external_act_context"},jd=[],$d=new Map,Pn=new Map;function gt(e,t){rt(e,t);let n=$d.get(e);if(n)for(let r of n)try{r(t)}catch{}}function Bx(e){return kk(e)}async function t1(e){if(Fc.size===0)return[];let t=[];for(let n of Fc)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let i of o){let a=Bx(i);a&&t.push(a)}}catch{}return Yr(t)}function Ux(e){return xk({msg:e,runId:String(p?.activeTask?.taskId||fs()?.taskId||"").trim()||void 0,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||qe,normalizeRunBoundaryId:t=>$e(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function Fx(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(p?.pendingRun?.id||"").trim()||void 0,r=String(p?.activeTask?.taskId||fs()?.taskId||"").trim()||void 0;return wk({msg:n?{...e,executionId:n}:e,runId:r,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||qe,normalizeRunBoundaryId:o=>$e(typeof o=="string"?o:void 0),completionState:t,latestSummary:n?ao.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function zx(e,t){$d.has(e)||$d.set(e,new Set);let n=$d.get(e);return n.add(t),()=>{n.delete(t)}}function n1(e){return typeof e=="string"?{name:e}:e}function r1(){if(typeof window>"u")return[];let e=window[Jv];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function Hx(){let e=Dm(A);return e?Di(e):null}function Dm(e){if(!e||typeof window>"u")return null;let t=tl(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=xu(e),o=At?.listClientTools?.()||e.tools?.client||[],i=r1();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||an?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||Ao,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||Ni,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:wu(e),tools:o,webmcpTools:i,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function pu(e){return!e||typeof document>"u"||xu(e)?.enabled===!1?!1:tl(e)?.enabled!==!1}function eu(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${os}]`)))e.remove()}function Dd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${os}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(os,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function mx(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let i=document.querySelector(`link[${os}="${e}"]`);i||(i=document.createElement("link"),i.setAttribute(os,e),o.appendChild(i)),i.rel=t,i.href=n,i.type=r}function Pm(e){if(typeof document>"u")return;if(!pu(e)){eu();return}let t=Dm(e);if(!t){eu();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:i,roverSiteJson:a,serviceDescHref:s}=yd(t);Dd("marker","application/agent+json",JSON.stringify(o)),mx("service-desc","service-desc",s,"application/json"),r?mx("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${os}="service-doc"]`)?.remove(),Dd("rover-site","application/rover-site+json",a),Dd("page","application/rover-page+json",i),Dd("agent-card","application/agent-card+json",n)}function nr(e){return String(e||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function o1(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":zR)}function jx(e){let t=String(e||"").trim();return t?`${t}. ${Qp}`:Qp}function i1(){return!!(ai||p?.uiOpen||Qo||Ge?.requestId)}function Om(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function a1(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function si(e){if(!pu(e))return null;let t=Dm(e);if(!t)return null;let n=yd(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let i=n.roverSite.actions||[],a=(r.capabilityIds||[]).map(m=>i.find(f=>f.capabilityId===m)).filter(m=>!!m),s=a1(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=p?.uiHidden===!0||p?.uiOpen===!0,d=o1({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:a,hostSurfaceTarget:s,integratedHost:c,agentModeActive:i1(),hidden:l,beaconLabel:d}}function $x(){typeof document>"u"||sm||(sm=!0,Gi(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&vn){vn=!1,Kn(A);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=si(A);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),ai=!0,vn=!vn,Kn(A))}),!0),Gi(document,"pointerdown",(e=>{if(!vn)return;let n=e.target;if(!n)return;let r=document.getElementById($n),o=document.getElementById(Dn);r?.contains(n)||o?.contains(n)||(vn=!1,Kn(A))}),!0))}function Bm(){if(typeof document>"u"||document.getElementById(Jp))return;let e=`calc(${78+sx}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-ax)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+sx}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-ax)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=Jp,o.textContent=`
4380
4380
  #${$n} {
4381
4381
  position: fixed;
4382
4382
  right: ${e};
@@ -4587,7 +4587,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
4587
4587
  bottom: ${r};
4588
4588
  }
4589
4589
  }
4590
- `,(document.head||document.documentElement)?.appendChild(o)}function Om(){typeof document>"u"||(document.getElementById($n)?.remove(),document.getElementById(Dn)?.remove(),yn=!1)}function Bm(){typeof document>"u"||document.getElementById(Ln)?.remove()}function $x(){typeof document>"u"||document.getElementById(Xp)?.remove()}function a1(){if(typeof document>"u")return null;jx(),Pm();let e=document.getElementById($n);return e||(e=document.createElement("button"),e.id=$n,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=ii(A);if(t){if(oi=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){yn=!1,Un();return}yn=!yn,Kn(A)}}),e.addEventListener("focus",()=>{let t=ii(A);!t||t.policy.actionReveal!=="focus"||t.hidden||(oi=!0,yn=!0,Kn(A))}),(document.body||document.documentElement)?.appendChild(e),e)}function s1(){if(typeof document>"u")return null;jx(),Pm();let e=document.getElementById(Dn);return e||(e=document.createElement("section"),e.id=Dn,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function c1(){if(typeof document>"u")return null;Pm();let e=document.getElementById(Ln);return e||(e=document.createElement("aside"),e.id=Ln,e.setAttribute("role","complementary"),e.setAttribute("aria-label",Yp),(document.body||document.documentElement)?.appendChild(e),e)}function l1(e){Dm();let t=ii(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function d1(e){if(typeof document>"u")return;if(!uu(e)){Bm();return}let t=ii(e);if(!t)return;let n=c1();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",Hx(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${nr(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the A2W run protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(i=>{let a=String(i.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${nr(i.capabilityId)}">`,`<span class="rover-discovery-capability-label">${nr(i.label)}</span>`,r?`<code>${nr(i.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${nr(a)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${nr(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${nr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function u1(e){if(typeof document>"u")return;let t=ii(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Om();return}let n=a1();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${nr(t.beaconLabel)}</span>`,n.setAttribute("aria-label",Hx(t.beaconLabel)),n.setAttribute("aria-describedby",Ln),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",yn?"true":"false"),n.setAttribute("aria-keyshortcuts",ox),n.setAttribute("title",`${t.beaconLabel} (${ox})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function f1(e){if(typeof document>"u")return;let t=ii(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(Dn)?.remove(),yn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(yn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(Dn)?.remove(),yn=!1;return}let r=s1();if(!r)return;let o=t.visibleCapabilities.slice(0,ic),i=t.visibleCapabilities.length>ic?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${nr(t.beaconLabel)}</h2>`,`<p>${nr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(a=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${nr(a.capabilityId)}">`,nr(a.label),`<span class="rover-discovery-action-copy">${nr(String(a.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${nr(i)}</button>`,"</div>"].join("");for(let a of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))a.addEventListener("click",()=>{if(oi=!0,a.getAttribute("data-rover-discovery-action")==="capability"){let c=String(a.getAttribute("data-rover-capability-id")||"").trim(),d=ii(A)?.visibleCapabilities.find(m=>m.capabilityId===c);yn=!1,Un(),d?.rover?.prompt?_r(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&Rn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Kn(A);return}yn=!1,Un(),Kn(A)})}function Kn(e){if(!uu(e)){Qd(),Om(),Bm(),$x(),Dm();return}Lm(e),l1(e),u1(e),f1(e),d1(e)}function Do(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Gr(){return Do("task-boundary")}function Po(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function qx(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function jp(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Gi(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return $e(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return $e(n)}function p1(e){let t=Gi(e);return t||Gr()}function rr(){return $e(qe)||Gi(p)}function Vi(e){let t=Mk({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:rr(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!p?.pendingRun,taskStatus:p?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(qe=t.adoptedBoundaryId),!0):!1}function Um(e=12e4){let t=Po(p?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function m1(e){if(!p||!dp(e.resumeReason))return!1;let t=Po(p.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:Ep(t.targetUrl,window.location.href)}function h1(e){if(!io||!dp(e.resumeReason))return!1;let t=Po(p?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=Mx}function as(e){let t=Rt(p?.pendingRun)?.taskBoundaryId;if(t){qe=t;return}let n=vn(p?.workerState)?.taskBoundaryId;if(n){qe=n;return}(!qe||e?.rotateIfMissing)&&(qe=Gr())}function g1(e){let t=`${JA}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=Do("runtime");return window.sessionStorage.setItem(t,r),r}catch{return Do("runtime")}}function Fc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function Ld(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function Vx(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function mx(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${aR}; samesite=lax${r}`,Vx(e)===t}catch{return!1}}function b1(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function y1(e,t){let n=`rover_vid_${Fc(e)}`;for(let r of b1(window.location.hostname))if(mx(n,t,r))return;mx(n,t)}function Dd(e,t){let n=`${Rx}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}y1(e,t)}function Wx(e,t){p&&(p.visitor=t,Qe());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function v1(e){if(p?.visitor?.name||p?.visitor?.email)return p.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function Kx(e){let t=Ld(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${Rx}${e.siteId}`,r=`rover_vid_${Fc(e.siteId)}`,o=Ld(Vx(r)||"");if(o)return Dd(e.siteId,o),o;try{let a=Ld(window.localStorage.getItem(n)||"");if(a)return Dd(e.siteId,a),a}catch{}try{let a=Ld(window.sessionStorage.getItem(n)||"");if(a)return Dd(e.siteId,a),a}catch{}let i=`v_${Fc(`${e.siteId}:${Do("visitor")}`)}_${Date.now().toString(36)}`;return Dd(e.siteId,i),i}function hx(e,t){return`visitor-${Fc(`${e}:${t}`)}`}function Fm(e){!At||!ct||(At.registerTool(e.def,e.handler),ct.postMessage({type:"register_tool",tool:e.def}),Lm(A))}function Qa(e){return`${du}${e}`}function Hd(e,t){let n=String(t||"").trim();return n?`${du}${e}:${Fc(n)}`:Qa(e)}function cm(e){return`${du}${e}:latest_key`}function k1(e){try{let t=String(sessionStorage.getItem(cm(e))||"").trim();return!t||!t.startsWith(du)?void 0:t}catch{return}}function lm(e,t){if(e)try{if(!t){sessionStorage.removeItem(cm(e));return}sessionStorage.setItem(cm(e),t)}catch{}}function zm(e){return`${kR}${e}`}function x1(e,t){try{sessionStorage.setItem(zm(e),JSON.stringify(t))}catch{}}function w1(e){try{let t=zm(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>Mx?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:ec(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function Gx(e){if(e)try{sessionStorage.removeItem(zm(e))}catch{}}function gx(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){Ya=void 0;return}Ya={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||xR)}}function Xi(){Ya=void 0}function Hm(e){let t=Ya;if(!t)return!1;if(t.expiresAt<=Date.now())return Ya=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return Ya=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),i=String(e?.pendingRun?.id||"").trim(),a=String(e?.activeTask?.taskId||"").trim();return!(r&&i&&r!==i&&(!o||!a||o!==a)||o&&a&&o!==a)}function Vc(e){e&&Hm(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function Gn(e="session_start",t=Date.now(),n){return{taskId:n||Do("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function dm(e,t){return{version:Im,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:Gn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function Zt(e,t=ZA){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function Xx(e){if(e!=null){if(typeof e=="string")return Zt(e,1200);try{return Zt(JSON.stringify(e),1200)}catch{try{return Zt(String(e),1200)}catch{return}}}}function fu(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),i=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):lR,a=Number(t?.maxBatchSize),s=Number.isFinite(a)?Math.min(80,Math.max(1,Math.floor(a))):dR;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:i,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function zc(e){return e==="host_only"?"host_only":"registrable_domain"}function Wc(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function jm(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function Yx(e){return"host_session"}function Jx(e){return"task_touched_only"}function $m(e){return"crash_only"}function Zd(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):tR}function qm(e){return"read_only"}function Qx(e){return"heuristic_same_window"}function Vm(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):rR}function Wm(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):oR}function Zx(e){return"empty"}function ew(e){return"deterministic_cues"}function tw(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):nR}function nw(e){return"auto"}function rw(e){return!1}function ow(e){return"pre_tool_block"}function S1(){return Jk({pendingRunText:p?.pendingRun?.text,activeRunText:j?.getState()?.activeRun?.text,rootWorkerInput:p?.workerState?.rootUserInput,lastUserInputText:Cn,fallback:"navigation request"})}function iw(e){return e!==!1}function bn(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function Km(e){return"on_demand"}function Gm(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):Zg.idleCloseMs}function ss(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function Xm(e){return!(!e||!fu(e).enabled||!Bn(e))}function bx(e){if(e!=null){if(typeof e=="string")return Zt(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let i=e?.[o];i!=null&&(typeof i=="string"?n[o]=Zt(i,180):(typeof i=="number"||typeof i=="boolean")&&(n[o]=i))}return n}}}function T1(e,t){if(!t)return bx(e);let n=Qm(e);if(n!=null)return typeof n=="string"?Zt(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:bx(e)}function Ym(){Od&&(clearInterval(Od),Od=null),No&&(clearTimeout(No),No=null),_c=!1}function _1(e){return`${fd(e.apiBase)}/telemetry/ingest`}function eu(e){let t=e||A,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Bn(e){if(An&&co>Date.now()+2e3)return An;try{let r=A?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:i,e:a}=JSON.parse(o);if(i&&typeof i=="string"&&i.startsWith("rvrsess_")&&Number(a)>Date.now()+2e3)return An=i,co=Number(a),i}}}catch{}let t=e||A,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function tu(e,t){let n=String(e||"").trim();An=n||void 0,co=Number(t)>0?Number(t):0;try{let r=A?.siteId||"";n&&co>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:co})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function E1(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function I1(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=E1(n.slice(0,r));if(!o)return null;try{let i=JSON.parse(o),a=String(i.agentKey||"").trim(),s=String(i.agentName||"").trim()||void 0,c=String(i.agentVendor||"").trim()||void 0,l=String(i.agentModel||"").trim()||void 0,d=String(i.agentTrust||"").trim(),m=String(i.agentSource||"").trim(),f=String(i.agentMemoryKey||"").trim()||void 0,u=String(i.launchSource||"").trim();return!a&&!s&&!c&&!l?null:{agentKey:a||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_run_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:u==="public_run_api"||u==="delegated_handoff"||u==="webmcp"||u==="embedded_widget"?u:void 0}}catch{return null}}function A1(e){if(!e||!A)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";e.domainScopeMode&&(A.domainScopeMode=zc(e.domainScopeMode)),A.tools||(A.tools={}),A.tools.web||(A.tools.web={}),A.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??A.tools.web.enableExternalWebContext,A.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??A.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(A.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(A.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(A.ui||(A.ui={}),A.ui.mascot||(A.ui.mascot={}),A.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(A.ui||(A.ui={}),A.ui.muted=e.uiMuted)}function um(e){if(!p||!e)return;Co=Math.max(1,Number(e.epoch||Co));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();Bk({serverRunId:t,runStatus:n,ignoredRunIds:Tr})&&ai(t,"projection_ignored_active_run",{attemptImmediately:!0}),ni(t||void 0);let r=p.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||p.activeTask?.status!=="running")&&(li(o),Qt(void 0),j?.setActiveRun(void 0)):t&&!po()&&Kc(Ut)!=="observer"&&Ok({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:qe,taskStatus:p.activeTask?.status,ignoredRunIds:Tr})?Qt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||qe,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&Tr.has(t)&&o===t&&(j?.releaseWorkflowLock(t),Qt(void 0),j?.setActiveRun(void 0));let i=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),a=i?`${e.sessionId}:${i}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!a||a!==Oc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){ns=!0;try{Lw({version:Cx,siteId:A?.siteId||p.sessionId,visitorId:Xt||"server_projection",sessionId:p.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{ns=!1}a&&(Oc=a)}}let s=String(p?.pendingRun?.id||"").trim();s&&Tr.has(s)&&(j?.releaseWorkflowLock(s),Qt(void 0),j?.setActiveRun(void 0)),nu()}async function fo(e){if(!(!p||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!eu(e)&&!An)){Ie?Ie.setApiBase(e.apiBase):Ie=new md({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>p?.sessionId,getBootstrapToken:()=>eu(A),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>qe,shouldKeepTransportActive:()=>!Yi(),onSession:n=>{if(tu(n.sessionToken,n.sessionTokenExpiresAt),Hr&&j?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),Co=Math.max(1,Number(n.epoch||Co)),p&&n.sessionId&&p.sessionId!==n.sessionId&&(p.sessionId=n.sessionId,Oc="",Qe()),A1(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&A){let r={shortcuts:ci(n.siteConfig.shortcuts),businessType:nl(n.siteConfig.businessType),experience:Wi(n.siteConfig.experience),greeting:ea(n.siteConfig.greeting),voice:us(n.siteConfig.voice),aiAccess:fs(n.siteConfig.aiAccess),limits:yu(n.siteConfig.limits),pageConfig:Lo(n.siteConfig.pageConfig),agentDiscovery:Ra(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};wn=r,Pw(A.siteId,r),cu(A)}n.projection&&um(n.projection),ct&&ct.postMessage({type:"update_config",config:{...Zi(),pageConfig:jc(A),publicKey:void 0,sessionToken:An,authToken:Bn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Co,sessionSeq:Ie?.getLastSeq?.()??0}}),At&&At.setNavigationPolicy({allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),A&&(ih(A),pu(A)),os=!0,lo(),nu()},onProjection:n=>{um(n),Hr&&j?.broadcastProjection(n),nu(),ct&&ct.postMessage({type:"update_config",config:{...Zi(),pageConfig:jc(A),sessionToken:An,authToken:Bn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Co,sessionSeq:Ie?.getLastSeq?.()??0}})},onError:n=>{rt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Ie.start()}catch(n){A?.apiMode!==!1&&gt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function zi(e=!1){if(Bd||Va)return;if(!A||!Xm(A)){tr=[];return}if(!e&&Yi()||!tr.length)return;let t=fu(A),n=Bn(A);if(!n)return;let r=tr.splice(0,t.maxBatchSize);if(r.length){Bd=!0,Xd=Date.now();try{let o=await fetch(_1(A),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:p?.sessionId,runId:p?.pendingRun?.id,siteId:A.siteId,runtimeId:Et,visitorId:Xt,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?Va=!0:tr=[...r,...tr].slice(-Wd);return}let i=await o.json().catch(()=>{});if(i?.success===!1){let a=String(i?.errorCode||i?.errorDetails?.code||"").toUpperCase();(a==="INVALID_API_KEY"||a==="MISSING_API_KEY"||a==="UNAUTHENTICATED"||a==="PERMISSION_DENIED")&&(Va=!0);return}}catch{tr=[...r,...tr].slice(-Wd)}finally{Bd=!1}}}function pu(e){if(Ym(),Va=!1,!Xm(e)){tr=[];return}let t=fu(e);Od=setInterval(()=>{zi(!1)},t.flushIntervalMs)}function rt(e,t){if(!Xm(A)||Va||Yi()&&!VR.has(e))return;let n=fu(A);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-Jp<$R)return;Jp=r}}else if(e==="checkpoint_state"){if(r-Qp<qR)return;Qp=r}let o={name:e,ts:r,seq:++Nx,payload:T1(t,n.includePayloads)};if(tr.push(o),tr.length>Wd&&(tr=tr.slice(-Wd)),Lx.has(e)){let a=Date.now()-Xd;if(a>=ux){zi(!1);return}No||(No=setTimeout(()=>{No=null,zi(!1)},ux-a));return}if(tr.length>=n.maxBatchSize){let a=Date.now()-Xd;a>=dx?zi(!1):_c||(_c=!0,setTimeout(()=>{_c=!1,zi(!1)},dx-a))}}function R1(e,t){rt(e,t)}function aw(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function C1(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function M1(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function N1(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function L1(){return p?.pendingRun?.id}function ni(e){qc=String(e||"").trim()||void 0}function yx(){let e=p?.pendingRun?.id;if(!e)return;if(!Ie)return e;let t=Ie.getActiveRunId(),n=String(t||qc||"").trim();if(n)return n===e?e:void 0}function li(e){e&&(Tr.add(e),QR(Tr,XR))}function fm(e){e&&Tr.delete(e)}function pm(e){let t=Math.max(0,Math.floor(e)),n=Lc*2**t;return Math.max(120,Math.min(ER,n))}function D1(){if(!Pn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Pn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function mm(e=Lc){Go&&(clearTimeout(Go),Go=null);let t=Math.max(80,Math.floor(e));Go=setTimeout(()=>{Go=null,nu()},t)}function ai(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),i=Pn.get(r),a=n?.attemptImmediately===!0?o:i?.nextAttemptAt&&i.nextAttemptAt>o?i.nextAttemptAt:o+pm(i?.attempts||0);for(Pn.set(r,{runId:r,reason:String(t||i?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:i?.attempts||0,nextAttemptAt:a,createdAt:i?.createdAt||o,lastError:i?.lastError});Pn.size>AR;){let s=Array.from(Pn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Pn.delete(s.runId)}mm(n?.attemptImmediately?50:Lc)}async function nu(){if(Ud||!Pn.size)return;if(!(!!Ie&&!!os&&!!Bn(A))){mm(Lc);return}Ud=!0;try{let t=Date.now(),n=Array.from(Pn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Pn.has(r.runId))continue;if(nh(r.runId)){Pn.set(r.runId,{...r,nextAttemptAt:Date.now()+pm(Math.max(1,r.attempts))});continue}let o=Ie;if(!o){Pn.set(r.runId,{...r,nextAttemptAt:Date.now()+Lc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Pn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(i){let a=Math.max(0,Number(r.attempts||0))+1;if(a>=IR){Pn.delete(r.runId),gt("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Pn.set(r.runId,{...r,attempts:a,lastError:String(i?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+pm(a)})}}}finally{Ud=!1;let t=D1();t!=null&&mm(t)}}function Ko(){return p?.activeTask?.status==="running"}function sw(){Yt&&(Ko()||hm()?Yt.enterActiveMode():Yt.enterIdleMode())}function P1(){return typeof document<"u"&&document.visibilityState==="hidden"}function hm(){return!!p?.pendingRun?.id}function O1(){let e=j?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===Et;let t=String(p?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function B1(){let e=j?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===Et)}function cw(){return j?B1()||O1()?!0:hm()&&!po():Ko()||hm()}function U1(){return Km(A?.transport?.activation)!=="on_demand"?!0:!!(p?.uiOpen||cw()||lw()||dw())}function Yi(){if(!Hr)return!0;if(U1())Sc=0;else{let t=Gm(A?.transport?.idleCloseMs);return Sc<=0&&(Sc=Date.now()+t),!(Date.now()<Sc)}return P1()?!cw()&&!p?.uiOpen:!1}function Xr(e=!1){if(typeof window>"u")return;let t=Yi();if(!(!e&&Yd===t)){Yd=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function lw(){let e=j?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==Et)}function dw(){let e=j;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===Et)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function po(){return dw()}function Kc(e){return po()?"observer":e==="observer"?"controller":e}function uw(){return qm(A?.task?.observerInput)==="read_only"?!po():!lw()}function fw(e){if(e==="observer")return po()?"Observing active run in another tab...":"Send to take control and run here."}function F1(){if(!j)return!1;let e=j.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!j.requestControl())return!1;if(!n)return!0;if(!j.acquireWorkflowLock(n,{force:!0}))return!1;if(!p)return!0;let a=$r(vn(e?.workerContext),rr());return a&&(p.workerState=a,as(),j.setWorkerContext(Xc(p.workerState)),Ir&&ct&&(Er(),ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(p.activeTask=vw(e.task,p.activeTask||Gn("handoff"))),p.uiHidden=!1,p.uiOpen=!0,(r||n)&&(Qt(Rt({id:n,text:r||p.pendingRun?.text||Cn||"Continue task",startedAt:t?.startedAt||p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.id===n&&p.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||p.workerState?.taskBoundaryId||qe,resumeRequired:!0,resumeReason:"handoff"})),j.setActiveRun({runId:n,text:r||p.pendingRun?.text||"Continue task"})),Qe(),lo({overridePolicyAction:"auto_resume"}),!0}function z1(e){let t=typeof e?.type=="string"?e.type:"";if(!ZR.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.runBoundaryId=="string"&&e.runBoundaryId?e.runBoundaryId:typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Ie?.getActiveRunId()||qc||"").trim()||void 0;return Uk({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:rr(),pendingRunId:L1(),sharedActiveRunId:j?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:p?.activeTask?.status,ignoredRunIds:Tr})}function qr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let i=String(o.key||o.id||"").trim()||`clarification_${r+1}`,a=String(o.query||o.question||"").trim();if(!a)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${i}::${a}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:i,query:a,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function H1(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=qr(p?.workerState?.pendingAskUser?.questions),a=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(a.length===0)for(let l of o){let d=String(l.key||"").trim();d&&a.push(d)}if(a.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&a.push(d)}let s=[],c=new Set;for(let l of a){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
4591
- `):String(t.rawText||"").trim()}function Jm(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=r,i=String(o.id||"").trim(),a=String(o.displayName||"").trim(),s=String(o.mimeType||"").trim();if(!(!i||!a||!s||n.has(i))&&(n.add(i),t.push({id:i,displayName:a,mimeType:s,storageUrl:typeof o.storageUrl=="string"&&o.storageUrl.trim()?o.storageUrl.trim():void 0,gcsUri:typeof o.gcsUri=="string"&&o.gcsUri.trim()?o.gcsUri.trim():void 0,sizeBytes:Number.isFinite(Number(o.sizeBytes))?Math.max(0,Number(o.sizeBytes)):void 0,downloadUrl:typeof o.downloadUrl=="string"&&o.downloadUrl.trim()?o.downloadUrl.trim():void 0,expiresAt:typeof o.expiresAt=="string"&&o.expiresAt.trim()?o.expiresAt.trim():void 0,kind:typeof o.kind=="string"&&o.kind.trim()?o.kind.trim():void 0,sourceStepId:typeof o.sourceStepId=="string"&&o.sourceStepId.trim()?o.sourceStepId.trim():void 0,originalIndex:Number.isFinite(Number(o.originalIndex))?Math.max(0,Number(o.originalIndex)):void 0,data:typeof o.data=="string"&&o.data.trim()?o.data.trim():void 0,ORIGIN_KEY:o.ORIGIN_KEY==="tool"?"tool":"user"}),t.length>=12))break}return t}function j1(){let e=Number(vu(A)?.inputs?.attachmentLimit);return Number.isFinite(e)?Math.max(1,Math.min(12,Math.trunc(e))):OR}function $1(){let e=Number(vu(A)?.inputs?.maxFileSizeMb);return Number.isFinite(e)?Math.max(1,Math.min(32,Math.trunc(e)))*1024*1024:UR}function q1(e){let t="";for(let r=0;r<e.length;r+=32768){let o=e.subarray(r,r+32768);t+=String.fromCharCode(...o)}return btoa(t)}async function V1(e){let t=await e.arrayBuffer();return q1(new Uint8Array(t))}function pw(e,t,n){return{id:`inline_${crypto.randomUUID()}`,displayName:String(e.name||`attachment-${n+1}`).trim()||`attachment-${n+1}`,mimeType:String(e.type||"application/octet-stream").trim()||"application/octet-stream",sizeBytes:Number.isFinite(e.size)?e.size:void 0,originalIndex:n,data:t,ORIGIN_KEY:"user"}}function W1(e,t,n,r){let o=pw(e,r||"",n);return t?.id?{id:t.id,displayName:String(t.displayName||o.displayName).trim()||o.displayName,mimeType:String(t.mimeType||o.mimeType).trim()||o.mimeType,storageUrl:t.storageUrl,gcsUri:t.gcsUri,sizeBytes:Number.isFinite(Number(t.sizeBytes))?Number(t.sizeBytes):o.sizeBytes,downloadUrl:t.downloadUrl,expiresAt:t.expiresAt,kind:t.kind,sourceStepId:t.sourceStepId,originalIndex:Number.isFinite(Number(t.originalIndex))?Number(t.originalIndex):n,data:t.data||o.data,ORIGIN_KEY:"user"}:o}async function K1(e){if(!Array.isArray(e)||e.length===0)return[];let t=j1(),n=$1(),r=e.slice(0,t),o=[];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a instanceof File))continue;if(Number.isFinite(a.size)&&a.size>n)throw new Error(`${a.name} exceeds the ${Math.round(n/(1024*1024))}MB limit.`);let s=await V1(a);if(Ie){let c=await Ie.uploadAttachment({fileName:a.name,mimeType:a.type||"application/octet-stream",dataBase64:s,sizeBytes:a.size});o.push(W1(a,c,i,s))}else o.push(pw(a,s,i))}return Jm(o)}function ru(e){let t=String(ie?.getActiveTask()?.rootUserInput||"").trim();if(t)return t;let n=String(p?.workerState?.rootUserInput||"").trim();if(n)return n;let r=p?.pendingRun,o=r&&r.id===e?String(r.text||"").trim():"";if(o)return o;let i=String(r?.text||"").trim();return i||String(Cn||"").trim()||void 0}function G1(e){if(!e||typeof e!="object")return{runComplete:!1,needsUserInput:!1,terminalState:"in_progress",contextResetRecommended:!1};let t=String(e.terminalState||"").trim().toLowerCase(),n=e.needsUserInput===!0,r=t==="waiting_input"||t==="in_progress"||t==="completed"||t==="failed"?t:n?"waiting_input":e.runComplete===!0?"completed":e.ok===!1?"failed":"in_progress",o=r==="completed"||e.runComplete===!0&&r!=="waiting_input",i=qr(e.questions),a=String(e.continuationReason||"").trim().toLowerCase(),s=a==="loop_continue"||a==="same_tab_navigation_handoff"||a==="awaiting_user"?a:r==="waiting_input"?"awaiting_user":r==="in_progress"?"loop_continue":void 0;return{runComplete:o,needsUserInput:r==="waiting_input"||n,terminalState:r,contextResetRecommended:e.contextResetRecommended===!0||r==="completed",continuationReason:s,...i.length?{questions:i}:{}}}function X1(e){return Mo?Mo.readSync(e):null}function Qm(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function si(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}(r==="tool_output"||r==="json")&&t.push({type:r,data:Qm(n.data),label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}return t.length?t:void 0}function vx(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.entries(e).filter(([,i])=>i!=null);if(t.length!==1)return!1;let[n,r]=t[0];return typeof r!="string"||!r.trim()?!1:new Set(["response","message","summary","text","content","result","description"]).has(n)}function Y1(e,t){if(e==null)return!1;if(typeof e=="string"){let n=e.trim();return n?!t||n!==t.trim():!1}if(Array.isArray(e)){let n=e.filter(r=>r!=null);if(n.length===1){let r=n[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||vx(r))return!1}return!0}return!vx(e)}function mw(e){if(!Array.isArray(e)||!e.length)return;let t=e.filter(r=>r.type==="text").map(r=>String(r.text||"").trim()).filter(Boolean);if(t.length)return t.join(`
4590
+ `,(document.head||document.documentElement)?.appendChild(o)}function Um(){typeof document>"u"||(document.getElementById($n)?.remove(),document.getElementById(Dn)?.remove(),vn=!1)}function Fm(){typeof document>"u"||document.getElementById(Ln)?.remove()}function qx(){typeof document>"u"||document.getElementById(Jp)?.remove()}function s1(){if(typeof document>"u")return null;$x(),Bm();let e=document.getElementById($n);return e||(e=document.createElement("button"),e.id=$n,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=si(A);if(t){if(ai=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){vn=!1,Un();return}vn=!vn,Kn(A)}}),e.addEventListener("focus",()=>{let t=si(A);!t||t.policy.actionReveal!=="focus"||t.hidden||(ai=!0,vn=!0,Kn(A))}),(document.body||document.documentElement)?.appendChild(e),e)}function c1(){if(typeof document>"u")return null;$x(),Bm();let e=document.getElementById(Dn);return e||(e=document.createElement("section"),e.id=Dn,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function l1(){if(typeof document>"u")return null;Bm();let e=document.getElementById(Ln);return e||(e=document.createElement("aside"),e.id=Ln,e.setAttribute("role","complementary"),e.setAttribute("aria-label",Qp),(document.body||document.documentElement)?.appendChild(e),e)}function d1(e){Om();let t=si(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function u1(e){if(typeof document>"u")return;if(!pu(e)){Fm();return}let t=si(e);if(!t)return;let n=l1();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",jx(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${nr(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the A2W run protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(i=>{let a=String(i.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${nr(i.capabilityId)}">`,`<span class="rover-discovery-capability-label">${nr(i.label)}</span>`,r?`<code>${nr(i.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${nr(a)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${nr(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${nr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function f1(e){if(typeof document>"u")return;let t=si(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Um();return}let n=s1();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${nr(t.beaconLabel)}</span>`,n.setAttribute("aria-label",jx(t.beaconLabel)),n.setAttribute("aria-describedby",Ln),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",vn?"true":"false"),n.setAttribute("aria-keyshortcuts",ix),n.setAttribute("title",`${t.beaconLabel} (${ix})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function p1(e){if(typeof document>"u")return;let t=si(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(Dn)?.remove(),vn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(vn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(Dn)?.remove(),vn=!1;return}let r=c1();if(!r)return;let o=t.visibleCapabilities.slice(0,sc),i=t.visibleCapabilities.length>sc?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${nr(t.beaconLabel)}</h2>`,`<p>${nr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(a=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${nr(a.capabilityId)}">`,nr(a.label),`<span class="rover-discovery-action-copy">${nr(String(a.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${nr(i)}</button>`,"</div>"].join("");for(let a of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))a.addEventListener("click",()=>{if(ai=!0,a.getAttribute("data-rover-discovery-action")==="capability"){let c=String(a.getAttribute("data-rover-capability-id")||"").trim(),d=si(A)?.visibleCapabilities.find(m=>m.capabilityId===c);vn=!1,Un(),d?.rover?.prompt?_r(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&Rn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Kn(A);return}vn=!1,Un(),Kn(A)})}function Kn(e){if(!pu(e)){eu(),Um(),Fm(),qx(),Om();return}Pm(e),d1(e),f1(e),p1(e),u1(e)}function Do(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Gr(){return Do("task-boundary")}function Oo(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function Vx(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function qp(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Ji(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return $e(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return $e(n)}function m1(e){let t=Ji(e);return t||Gr()}function rr(){return $e(qe)||Ji(p)}function Xi(e){let t=Nk({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:rr(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!p?.pendingRun,taskStatus:p?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(qe=t.adoptedBoundaryId),!0):!1}function zm(e=12e4){let t=Oo(p?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function h1(e){if(!p||!fp(e.resumeReason))return!1;let t=Oo(p.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:Ap(t.targetUrl,window.location.href)}function g1(e){if(!io||!fp(e.resumeReason))return!1;let t=Oo(p?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=Nx}function ls(e){let t=Rt(p?.pendingRun)?.taskBoundaryId;if(t){qe=t;return}let n=kn(p?.workerState)?.taskBoundaryId;if(n){qe=n;return}(!qe||e?.rotateIfMissing)&&(qe=Gr())}function b1(e){let t=`${QA}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=Do("runtime");return window.sessionStorage.setItem(t,r),r}catch{return Do("runtime")}}function Hc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function Pd(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function Wx(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function hx(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${sR}; samesite=lax${r}`,Wx(e)===t}catch{return!1}}function y1(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function v1(e,t){let n=`rover_vid_${Hc(e)}`;for(let r of y1(window.location.hostname))if(hx(n,t,r))return;hx(n,t)}function Od(e,t){let n=`${Cx}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}v1(e,t)}function Kx(e,t){p&&(p.visitor=t,Qe());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function k1(e){if(p?.visitor?.name||p?.visitor?.email)return p.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function Gx(e){let t=Pd(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${Cx}${e.siteId}`,r=`rover_vid_${Hc(e.siteId)}`,o=Pd(Wx(r)||"");if(o)return Od(e.siteId,o),o;try{let a=Pd(window.localStorage.getItem(n)||"");if(a)return Od(e.siteId,a),a}catch{}try{let a=Pd(window.sessionStorage.getItem(n)||"");if(a)return Od(e.siteId,a),a}catch{}let i=`v_${Hc(`${e.siteId}:${Do("visitor")}`)}_${Date.now().toString(36)}`;return Od(e.siteId,i),i}function gx(e,t){return`visitor-${Hc(`${e}:${t}`)}`}function Hm(e){!At||!ct||(At.registerTool(e.def,e.handler),ct.postMessage({type:"register_tool",tool:e.def}),Pm(A))}function ts(e){return`${fu}${e}`}function qd(e,t){let n=String(t||"").trim();return n?`${fu}${e}:${Hc(n)}`:ts(e)}function dm(e){return`${fu}${e}:latest_key`}function x1(e){try{let t=String(sessionStorage.getItem(dm(e))||"").trim();return!t||!t.startsWith(fu)?void 0:t}catch{return}}function um(e,t){if(e)try{if(!t){sessionStorage.removeItem(dm(e));return}sessionStorage.setItem(dm(e),t)}catch{}}function jm(e){return`${xR}${e}`}function w1(e,t){try{sessionStorage.setItem(jm(e),JSON.stringify(t))}catch{}}function S1(e){try{let t=jm(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>Nx?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:nc(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function Xx(e){if(e)try{sessionStorage.removeItem(jm(e))}catch{}}function bx(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){Za=void 0;return}Za={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||wR)}}function Qi(){Za=void 0}function $m(e){let t=Za;if(!t)return!1;if(t.expiresAt<=Date.now())return Za=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return Za=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),i=String(e?.pendingRun?.id||"").trim(),a=String(e?.activeTask?.taskId||"").trim();return!(r&&i&&r!==i&&(!o||!a||o!==a)||o&&a&&o!==a)}function Kc(e){e&&$m(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function Gn(e="session_start",t=Date.now(),n){return{taskId:n||Do("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function fm(e,t){return{version:Rm,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:Gn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function Zt(e,t=eR){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function Yx(e){if(e!=null){if(typeof e=="string")return Zt(e,1200);try{return Zt(JSON.stringify(e),1200)}catch{try{return Zt(String(e),1200)}catch{return}}}}function mu(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),i=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):dR,a=Number(t?.maxBatchSize),s=Number.isFinite(a)?Math.min(80,Math.max(1,Math.floor(a))):uR;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:i,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function jc(e){return e==="host_only"?"host_only":"registrable_domain"}function Gc(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function qm(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function Jx(e){return"host_session"}function Qx(e){return"task_touched_only"}function Vm(e){return"crash_only"}function tu(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):nR}function Wm(e){return"read_only"}function Zx(e){return"heuristic_same_window"}function Km(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):oR}function Gm(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):iR}function ew(e){return"empty"}function tw(e){return"deterministic_cues"}function nw(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):rR}function rw(e){return"auto"}function ow(e){return!1}function iw(e){return"pre_tool_block"}function T1(){return Qk({pendingRunText:p?.pendingRun?.text,activeRunText:j?.getState()?.activeRun?.text,rootWorkerInput:p?.workerState?.rootUserInput,lastUserInputText:Cn,fallback:"navigation request"})}function aw(e){return e!==!1}function yn(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function Xm(e){return"on_demand"}function Ym(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):eb.idleCloseMs}function ds(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function Jm(e){return!(!e||!mu(e).enabled||!Bn(e))}function yx(e){if(e!=null){if(typeof e=="string")return Zt(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let i=e?.[o];i!=null&&(typeof i=="string"?n[o]=Zt(i,180):(typeof i=="number"||typeof i=="boolean")&&(n[o]=i))}return n}}}function _1(e,t){if(!t)return yx(e);let n=eh(e);if(n!=null)return typeof n=="string"?Zt(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:yx(e)}function Qm(){Fd&&(clearInterval(Fd),Fd=null),Lo&&(clearTimeout(Lo),Lo=null),Ic=!1}function E1(e){return`${md(e.apiBase)}/telemetry/ingest`}function nu(e){let t=e||A,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Bn(e){if(An&&co>Date.now()+2e3)return An;try{let r=A?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:i,e:a}=JSON.parse(o);if(i&&typeof i=="string"&&i.startsWith("rvrsess_")&&Number(a)>Date.now()+2e3)return An=i,co=Number(a),i}}}catch{}let t=e||A,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function ru(e,t){let n=String(e||"").trim();An=n||void 0,co=Number(t)>0?Number(t):0;try{let r=A?.siteId||"";n&&co>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:co})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function I1(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function A1(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=I1(n.slice(0,r));if(!o)return null;try{let i=JSON.parse(o),a=String(i.agentKey||"").trim(),s=String(i.agentName||"").trim()||void 0,c=String(i.agentVendor||"").trim()||void 0,l=String(i.agentModel||"").trim()||void 0,d=String(i.agentTrust||"").trim(),m=String(i.agentSource||"").trim(),f=String(i.agentMemoryKey||"").trim()||void 0,u=String(i.launchSource||"").trim();return!a&&!s&&!c&&!l?null:{agentKey:a||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_run_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:u==="public_run_api"||u==="delegated_handoff"||u==="webmcp"||u==="embedded_widget"?u:void 0}}catch{return null}}function R1(e){if(!e||!A)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";e.domainScopeMode&&(A.domainScopeMode=jc(e.domainScopeMode)),A.tools||(A.tools={}),A.tools.web||(A.tools.web={}),A.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??A.tools.web.enableExternalWebContext,A.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??A.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(A.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(A.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(A.ui||(A.ui={}),A.ui.mascot||(A.ui.mascot={}),A.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(A.ui||(A.ui={}),A.ui.muted=e.uiMuted)}function pm(e){if(!p||!e)return;Mo=Math.max(1,Number(e.epoch||Mo));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();Uk({serverRunId:t,runStatus:n,ignoredRunIds:Tr})&&ci(t,"projection_ignored_active_run",{attemptImmediately:!0}),ri(t||void 0);let r=p.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||p.activeTask?.status!=="running")&&(ui(o),Qt(void 0),j?.setActiveRun(void 0)):t&&!mo()&&Xc(Ut)!=="observer"&&Bk({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:qe,taskStatus:p.activeTask?.status,ignoredRunIds:Tr})?Qt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||qe,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&Tr.has(t)&&o===t&&(j?.releaseWorkflowLock(t),Qt(void 0),j?.setActiveRun(void 0));let i=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),a=i?`${e.sessionId}:${i}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!a||a!==Uc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){is=!0;try{Dw({version:Mx,siteId:A?.siteId||p.sessionId,visitorId:Xt||"server_projection",sessionId:p.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{is=!1}a&&(Uc=a)}}let s=String(p?.pendingRun?.id||"").trim();s&&Tr.has(s)&&(j?.releaseWorkflowLock(s),Qt(void 0),j?.setActiveRun(void 0)),ou()}async function po(e){if(!(!p||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!nu(e)&&!An)){Ie?Ie.setApiBase(e.apiBase):Ie=new gd({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>p?.sessionId,getBootstrapToken:()=>nu(A),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>qe,shouldKeepTransportActive:()=>!Zi(),onSession:n=>{if(ru(n.sessionToken,n.sessionTokenExpiresAt),Hr&&j?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),Mo=Math.max(1,Number(n.epoch||Mo)),p&&n.sessionId&&p.sessionId!==n.sessionId&&(p.sessionId=n.sessionId,Uc="",Qe()),R1(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&A){let r={shortcuts:Po(n.siteConfig.shortcuts),businessType:bs(n.siteConfig.businessType),experience:oi(n.siteConfig.experience),greeting:di(n.siteConfig.greeting),voice:ra(n.siteConfig.voice),aiAccess:oa(n.siteConfig.aiAccess),limits:el(n.siteConfig.limits),pageConfig:uo(n.siteConfig.pageConfig),agentDiscovery:Li(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};an=r,Ow(A.siteId,r),du(A)}n.projection&&pm(n.projection),ct&&ct.postMessage({type:"update_config",config:{...na(),pageConfig:qc(A),publicKey:void 0,sessionToken:An,authToken:Bn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Mo,sessionSeq:Ie?.getLastSeq?.()??0}}),At&&At.setNavigationPolicy({allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),A&&(sh(A),hu(A)),ss=!0,lo(),ou()},onProjection:n=>{pm(n),Hr&&j?.broadcastProjection(n),ou(),ct&&ct.postMessage({type:"update_config",config:{...na(),pageConfig:qc(A),sessionToken:An,authToken:Bn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Mo,sessionSeq:Ie?.getLastSeq?.()??0}})},onError:n=>{rt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Ie.start()}catch(n){A?.apiMode!==!1&&gt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function qi(e=!1){if(zd||Ga)return;if(!A||!Jm(A)){tr=[];return}if(!e&&Zi()||!tr.length)return;let t=mu(A),n=Bn(A);if(!n)return;let r=tr.splice(0,t.maxBatchSize);if(r.length){zd=!0,Jd=Date.now();try{let o=await fetch(E1(A),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:p?.sessionId,runId:p?.pendingRun?.id,siteId:A.siteId,runtimeId:Et,visitorId:Xt,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?Ga=!0:tr=[...r,...tr].slice(-Xd);return}let i=await o.json().catch(()=>{});if(i?.success===!1){let a=String(i?.errorCode||i?.errorDetails?.code||"").toUpperCase();(a==="INVALID_API_KEY"||a==="MISSING_API_KEY"||a==="UNAUTHENTICATED"||a==="PERMISSION_DENIED")&&(Ga=!0);return}}catch{tr=[...r,...tr].slice(-Xd)}finally{zd=!1}}}function hu(e){if(Qm(),Ga=!1,!Jm(e)){tr=[];return}let t=mu(e);Fd=setInterval(()=>{qi(!1)},t.flushIntervalMs)}function rt(e,t){if(!Jm(A)||Ga||Zi()&&!WR.has(e))return;let n=mu(A);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-Zp<qR)return;Zp=r}}else if(e==="checkpoint_state"){if(r-em<VR)return;em=r}let o={name:e,ts:r,seq:++Lx,payload:_1(t,n.includePayloads)};if(tr.push(o),tr.length>Xd&&(tr=tr.slice(-Xd)),Dx.has(e)){let a=Date.now()-Jd;if(a>=fx){qi(!1);return}Lo||(Lo=setTimeout(()=>{Lo=null,qi(!1)},fx-a));return}if(tr.length>=n.maxBatchSize){let a=Date.now()-Jd;a>=ux?qi(!1):Ic||(Ic=!0,setTimeout(()=>{Ic=!1,qi(!1)},ux-a))}}function C1(e,t){rt(e,t)}function sw(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function M1(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function N1(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function L1(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function D1(){return p?.pendingRun?.id}function ri(e){Wc=String(e||"").trim()||void 0}function vx(){let e=p?.pendingRun?.id;if(!e)return;if(!Ie)return e;let t=Ie.getActiveRunId(),n=String(t||Wc||"").trim();if(n)return n===e?e:void 0}function ui(e){e&&(Tr.add(e),ZR(Tr,YR))}function mm(e){e&&Tr.delete(e)}function hm(e){let t=Math.max(0,Math.floor(e)),n=Pc*2**t;return Math.max(120,Math.min(IR,n))}function P1(){if(!Pn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Pn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function gm(e=Pc){Xo&&(clearTimeout(Xo),Xo=null);let t=Math.max(80,Math.floor(e));Xo=setTimeout(()=>{Xo=null,ou()},t)}function ci(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),i=Pn.get(r),a=n?.attemptImmediately===!0?o:i?.nextAttemptAt&&i.nextAttemptAt>o?i.nextAttemptAt:o+hm(i?.attempts||0);for(Pn.set(r,{runId:r,reason:String(t||i?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:i?.attempts||0,nextAttemptAt:a,createdAt:i?.createdAt||o,lastError:i?.lastError});Pn.size>RR;){let s=Array.from(Pn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Pn.delete(s.runId)}gm(n?.attemptImmediately?50:Pc)}async function ou(){if(Hd||!Pn.size)return;if(!(!!Ie&&!!ss&&!!Bn(A))){gm(Pc);return}Hd=!0;try{let t=Date.now(),n=Array.from(Pn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Pn.has(r.runId))continue;if(oh(r.runId)){Pn.set(r.runId,{...r,nextAttemptAt:Date.now()+hm(Math.max(1,r.attempts))});continue}let o=Ie;if(!o){Pn.set(r.runId,{...r,nextAttemptAt:Date.now()+Pc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Pn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(i){let a=Math.max(0,Number(r.attempts||0))+1;if(a>=AR){Pn.delete(r.runId),gt("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Pn.set(r.runId,{...r,attempts:a,lastError:String(i?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+hm(a)})}}}finally{Hd=!1;let t=P1();t!=null&&gm(t)}}function Go(){return p?.activeTask?.status==="running"}function cw(){Yt&&(Go()||bm()?Yt.enterActiveMode():Yt.enterIdleMode())}function O1(){return typeof document<"u"&&document.visibilityState==="hidden"}function bm(){return!!p?.pendingRun?.id}function B1(){let e=j?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===Et;let t=String(p?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function U1(){let e=j?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===Et)}function lw(){return j?U1()||B1()?!0:bm()&&!mo():Go()||bm()}function F1(){return Xm(A?.transport?.activation)!=="on_demand"?!0:!!(p?.uiOpen||lw()||dw()||uw())}function Zi(){if(!Hr)return!0;if(F1())_c=0;else{let t=Ym(A?.transport?.idleCloseMs);return _c<=0&&(_c=Date.now()+t),!(Date.now()<_c)}return O1()?!lw()&&!p?.uiOpen:!1}function Xr(e=!1){if(typeof window>"u")return;let t=Zi();if(!(!e&&Qd===t)){Qd=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function dw(){let e=j?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==Et)}function uw(){let e=j;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===Et)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function mo(){return uw()}function Xc(e){return mo()?"observer":e==="observer"?"controller":e}function fw(){return Wm(A?.task?.observerInput)==="read_only"?!mo():!dw()}function pw(e){if(e==="observer")return mo()?"Observing active run in another tab...":"Send to take control and run here."}function z1(){if(!j)return!1;let e=j.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!j.requestControl())return!1;if(!n)return!0;if(!j.acquireWorkflowLock(n,{force:!0}))return!1;if(!p)return!0;let a=$r(kn(e?.workerContext),rr());return a&&(p.workerState=a,ls(),j.setWorkerContext(Jc(p.workerState)),Ir&&ct&&(Er(),ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(p.activeTask=kw(e.task,p.activeTask||Gn("handoff"))),p.uiHidden=!1,p.uiOpen=!0,(r||n)&&(Qt(Rt({id:n,text:r||p.pendingRun?.text||Cn||"Continue task",startedAt:t?.startedAt||p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.id===n&&p.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||p.workerState?.taskBoundaryId||qe,resumeRequired:!0,resumeReason:"handoff"})),j.setActiveRun({runId:n,text:r||p.pendingRun?.text||"Continue task"})),Qe(),lo({overridePolicyAction:"auto_resume"}),!0}function H1(e){let t=typeof e?.type=="string"?e.type:"";if(!e1.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.runBoundaryId=="string"&&e.runBoundaryId?e.runBoundaryId:typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Ie?.getActiveRunId()||Wc||"").trim()||void 0;return Fk({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:rr(),pendingRunId:D1(),sharedActiveRunId:j?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:p?.activeTask?.status,ignoredRunIds:Tr})}function qr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let i=String(o.key||o.id||"").trim()||`clarification_${r+1}`,a=String(o.query||o.question||"").trim();if(!a)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${i}::${a}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:i,query:a,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function j1(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=qr(p?.workerState?.pendingAskUser?.questions),a=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(a.length===0)for(let l of o){let d=String(l.key||"").trim();d&&a.push(d)}if(a.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&a.push(d)}let s=[],c=new Set;for(let l of a){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
4591
+ `):String(t.rawText||"").trim()}function Zm(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=r,i=String(o.id||"").trim(),a=String(o.displayName||"").trim(),s=String(o.mimeType||"").trim();if(!(!i||!a||!s||n.has(i))&&(n.add(i),t.push({id:i,displayName:a,mimeType:s,storageUrl:typeof o.storageUrl=="string"&&o.storageUrl.trim()?o.storageUrl.trim():void 0,gcsUri:typeof o.gcsUri=="string"&&o.gcsUri.trim()?o.gcsUri.trim():void 0,sizeBytes:Number.isFinite(Number(o.sizeBytes))?Math.max(0,Number(o.sizeBytes)):void 0,downloadUrl:typeof o.downloadUrl=="string"&&o.downloadUrl.trim()?o.downloadUrl.trim():void 0,expiresAt:typeof o.expiresAt=="string"&&o.expiresAt.trim()?o.expiresAt.trim():void 0,kind:typeof o.kind=="string"&&o.kind.trim()?o.kind.trim():void 0,sourceStepId:typeof o.sourceStepId=="string"&&o.sourceStepId.trim()?o.sourceStepId.trim():void 0,originalIndex:Number.isFinite(Number(o.originalIndex))?Math.max(0,Number(o.originalIndex)):void 0,data:typeof o.data=="string"&&o.data.trim()?o.data.trim():void 0,ORIGIN_KEY:o.ORIGIN_KEY==="tool"?"tool":"user"}),t.length>=12))break}return t}function $1(){let e=Number(ku(A)?.inputs?.attachmentLimit);return Number.isFinite(e)?Math.max(1,Math.min(12,Math.trunc(e))):BR}function q1(){let e=Number(ku(A)?.inputs?.maxFileSizeMb);return Number.isFinite(e)?Math.max(1,Math.min(32,Math.trunc(e)))*1024*1024:FR}function V1(e){let t="";for(let r=0;r<e.length;r+=32768){let o=e.subarray(r,r+32768);t+=String.fromCharCode(...o)}return btoa(t)}async function W1(e){let t=await e.arrayBuffer();return V1(new Uint8Array(t))}function mw(e,t,n){return{id:`inline_${crypto.randomUUID()}`,displayName:String(e.name||`attachment-${n+1}`).trim()||`attachment-${n+1}`,mimeType:String(e.type||"application/octet-stream").trim()||"application/octet-stream",sizeBytes:Number.isFinite(e.size)?e.size:void 0,originalIndex:n,data:t,ORIGIN_KEY:"user"}}function K1(e,t,n,r){let o=mw(e,r||"",n);return t?.id?{id:t.id,displayName:String(t.displayName||o.displayName).trim()||o.displayName,mimeType:String(t.mimeType||o.mimeType).trim()||o.mimeType,storageUrl:t.storageUrl,gcsUri:t.gcsUri,sizeBytes:Number.isFinite(Number(t.sizeBytes))?Number(t.sizeBytes):o.sizeBytes,downloadUrl:t.downloadUrl,expiresAt:t.expiresAt,kind:t.kind,sourceStepId:t.sourceStepId,originalIndex:Number.isFinite(Number(t.originalIndex))?Number(t.originalIndex):n,data:t.data||o.data,ORIGIN_KEY:"user"}:o}async function G1(e){if(!Array.isArray(e)||e.length===0)return[];let t=$1(),n=q1(),r=e.slice(0,t),o=[];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a instanceof File))continue;if(Number.isFinite(a.size)&&a.size>n)throw new Error(`${a.name} exceeds the ${Math.round(n/(1024*1024))}MB limit.`);let s=await W1(a);if(Ie){let c=await Ie.uploadAttachment({fileName:a.name,mimeType:a.type||"application/octet-stream",dataBase64:s,sizeBytes:a.size});o.push(K1(a,c,i,s))}else o.push(mw(a,s,i))}return Zm(o)}function iu(e){let t=String(ie?.getActiveTask()?.rootUserInput||"").trim();if(t)return t;let n=String(p?.workerState?.rootUserInput||"").trim();if(n)return n;let r=p?.pendingRun,o=r&&r.id===e?String(r.text||"").trim():"";if(o)return o;let i=String(r?.text||"").trim();return i||String(Cn||"").trim()||void 0}function X1(e){if(!e||typeof e!="object")return{runComplete:!1,needsUserInput:!1,terminalState:"in_progress",contextResetRecommended:!1};let t=String(e.terminalState||"").trim().toLowerCase(),n=e.needsUserInput===!0,r=t==="waiting_input"||t==="in_progress"||t==="completed"||t==="failed"?t:n?"waiting_input":e.runComplete===!0?"completed":e.ok===!1?"failed":"in_progress",o=r==="completed"||e.runComplete===!0&&r!=="waiting_input",i=qr(e.questions),a=String(e.continuationReason||"").trim().toLowerCase(),s=a==="loop_continue"||a==="same_tab_navigation_handoff"||a==="awaiting_user"?a:r==="waiting_input"?"awaiting_user":r==="in_progress"?"loop_continue":void 0;return{runComplete:o,needsUserInput:r==="waiting_input"||n,terminalState:r,contextResetRecommended:e.contextResetRecommended===!0||r==="completed",continuationReason:s,...i.length?{questions:i}:{}}}function Y1(e){return No?No.readSync(e):null}function eh(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function li(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}(r==="tool_output"||r==="json")&&t.push({type:r,data:eh(n.data),label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}return t.length?t:void 0}function kx(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.entries(e).filter(([,i])=>i!=null);if(t.length!==1)return!1;let[n,r]=t[0];return typeof r!="string"||!r.trim()?!1:new Set(["response","message","summary","text","content","result","description"]).has(n)}function J1(e,t){if(e==null)return!1;if(typeof e=="string"){let n=e.trim();return n?!t||n!==t.trim():!1}if(Array.isArray(e)){let n=e.filter(r=>r!=null);if(n.length===1){let r=n[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||kx(r))return!1}return!0}return!kx(e)}function hw(e){if(!Array.isArray(e)||!e.length)return;let t=e.filter(r=>r.type==="text").map(r=>String(r.text||"").trim()).filter(Boolean);if(t.length)return t.join(`
4592
4592
 
4593
- `);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function J1(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=mw(si([{type:"tool_output",data:n}]));if(Y1(n,r))return si([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function er(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function hw(e){if(!e||typeof e!="object")return[];let t=e,n=[er(t.tab_id),er(t.logical_tab_id),er(t.tabId),er(t.logicalTabId)].filter(r=>!!r);return mr(n)}function Q1(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[er(t.tab_id),er(t.logical_tab_id),er(t.tabId),er(t.logicalTabId),er(n?.tab_id),er(n?.logical_tab_id),er(n?.tabId),er(n?.logicalTabId)].filter(o=>!!o);return mr(r)}function gw(e){return(typeof e?.toolCallId=="string"&&e.toolCallId.trim()?e.toolCallId.trim():typeof e?.call?.id=="string"&&e.call.id.trim()?e.call.id.trim():"").slice(0,128)}function ou(e){let t=gw(e),n=er(e?.logicalTabId)??er(e?.logical_tab_id)??hw(e?.call?.args)[0];if(n)return t&&(Ha.set(t,n),Jd(Ha,80)),n;let r=t?Ha.get(t):void 0;if(r)return r;let o=j?.getActiveLogicalTabId()??j?.getLocalLogicalTabId();return o&&t&&(Ha.set(t,o),Jd(Ha,80)),o}function Z1(e){let t=gw(e);t&&Ha.delete(t)}function eC(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function bw(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function cs(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=Qm(o);i!==void 0&&r.push(i)}return r}function yw(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let i=t[o]?.accTreeId;typeof i=="string"&&i.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function tC(e,t){if(!Mo)return null;try{let n=await Mo.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await Mo.readAsync(r);if(o)return o}return null}catch{return null}}function Vr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-qd)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:Do("msg"),role:r,text:String(n?.text||""),blocks:si(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}var nC=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function rC(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function oC(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!nC.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=rC(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?Zt(t.toolCallId.trim(),128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?Zt(t.targetLabel.trim(),64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Wr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Vd)){let r=Zt(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),i=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:Do("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:si(n?.detailBlocks),status:i==="pending"||i==="success"||i==="error"||i==="info"?i:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(n?.elementId))?Math.trunc(Number(n.elementId)):void 0,toolName:typeof n?.toolName=="string"?Zt(n.toolName,120):void 0,narration:typeof n?.narration=="string"?Zt(n.narration.replace(/\s+/g," ").trim(),220):void 0,narrationActive:typeof n?.narrationActive=="boolean"?n.narrationActive:void 0,responseKind:wm(n?.responseKind),actionCue:oC(n?.actionCue)})}return t}function Yr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-QA)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=Zt(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Gc(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=Zt(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,a=typeof e?.stage=="string"&&e.stage.trim()?Zt(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:i,stage:a}}function iC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,i=Array.isArray(t.blocks)?t.blocks.length:0;return o!==i?o-i:String(e.text||"").length-String(t.text||"").length}function aC(e,t){let n=new Map;for(let r of Vr(e))n.set(r.id,r);for(let r of Vr(t)){let o=n.get(r.id);(!o||iC(r,o)>0)&&n.set(r.id,r)}return Vr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function sC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,i=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==i?o-i:String(e.detail||"").length-String(t.detail||"").length}function cC(e,t){let n=new Map;for(let r of Wr(e))n.set(r.id,r);for(let r of Wr(t)){let o=n.get(r.id);(!o||sC(r,o)>0)&&n.set(r.id,r)}return Wr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function vn(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],i=n.slice(-Am).map(b=>bw(b)).filter(b=>!!b),a=cs(r,Rm),s=cs(yw(o),Cm),c=qr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=$e(t||void 0),u=$e(m?.boundaryId||f);m&&f&&u&&u!==f&&(m=void 0);let h=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:h||void 0,seedChatLog:Yr(e.seedChatLog),files:Jm(e.files),history:i,plannerHistory:a,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function Hc(e,t,n){if(!e||typeof e!="object")return dm(t,n);let r=Gn(),o=di(e.activeTask,r),i=Rt(e.pendingRun),a=o.status==="running"?i:void 0,s=a?.taskBoundaryId&&String(a.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=ms(e.taskTabScope,s),l={version:Im,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Zt(e.uiStatus,300):void 0,transientStatus:Gc(e.transientStatus??e.uiStatus,{runId:i?.id,taskId:o?.taskId}),uiMessages:Vr(e.uiMessages),timeline:Wr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:vn(e.workerState),pendingRun:a,taskTabScope:c,lastNavigationHandoff:Po(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?Zt(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:Mm(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=Oa.fromV1State(l),{tasks:f,activeTaskId:u,taskOrder:h}=m.toPersistedState();l.tasks=f,l.activeTaskId=u,l.taskOrder=h,m.shutdown()}return l}function di(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?Zt(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function vw(e,t){return di(e,t)}function Xc(e){if(!e)return;let t=qr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Yr(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Am).map(n=>bw(n)).filter(n=>!!n):[],plannerHistory:cs(e.plannerHistory,Rm),agentPrevSteps:cs(yw(e.agentPrevSteps),Cm),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function mr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function ms(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=mr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function Rt(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Cn=="string"&&Cn.trim()?Cn.trim():"Continue task",o=n||r,i=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:i,resumeRequired:e.resumeRequired===!0,resumeReason:ec(e.resumeReason)}}function lC(){return ss(A?.stability?.maxPersistBytes,Vt.localPersistBytes)}function dC(e,t){let n={...e,uiMessages:Vr(e.uiMessages).slice(-qd),timeline:Wr(e.timeline).slice(-Vd),workerState:vn(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Am):[],plannerHistory:cs(n.workerState.plannerHistory,Rm),agentPrevSteps:cs(n.workerState.agentPrevSteps,Cm)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:Gn("persist_trim")}}function Za(e){if(!(!p||!qn))try{if(ie){Yc(),ie.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:i}=ie.toPersistedState();p.tasks=r,p.activeTaskId=o,p.taskOrder=i}let t=lC();p=dC(p,t);let n=JSON.stringify({s:p.sessionId,p:p.pendingRun?.id,pa:p.pendingRun?.autoResume,t:p.activeTask?.status,te:p.taskEpoch,m:p.uiMessages?.length,tl:p.timeline?.length,o:p.uiOpen,h:p.uiHidden,e:p.executionMode,at:p.activeTaskId});if(n===gm&&!e?.markCheckpointDirty)return;gm=n,p.updatedAt=Date.now(),Mo?.write(qn,p),Ro&&Ro!==qn&&(Mo?.remove(Ro),Ro=null),!ns&&e?.markCheckpointDirty!==!1&&Yt?.markDirty(),mC("runtime_persist")}catch{}}var Pi=!1,Oi=!1,gm="",yc=0,Fa=0,bm=2e3,kw=2e3;function es(e){Za({markCheckpointDirty:!0}),Yt?.syncNow({push:!0,pull:!1}),rt("checkpoint_state",{event:"critical_flush",reason:e})}function Qe(e){e?.markCheckpointDirty!==!1&&(Oi=!0);let t=Date.now();if(!Pi)Fa=t;else if(Fa>0&&t-Fa>=kw){Pi=!1,Fa=0;let n=Oi;Oi=!1,yc=t,Za({markCheckpointDirty:n});return}Pi||(Pi=!0,setTimeout(()=>{Pi=!1,Fa=0;let n=Oi;Oi=!1;let r=Date.now();if(r-yc<bm){Pi=!0,setTimeout(()=>{Pi=!1,Fa=0,yc=Date.now(),Za({markCheckpointDirty:Oi||n}),Oi=!1},bm-(r-yc));return}yc=r,Za({markCheckpointDirty:n})},0))}function uC(){if(nm)return;nm=!0,rm||(rm=!0,qi(document,"visibilitychange",()=>{Xr()},{passive:!0})),qi(window,"pagehide",()=>{if(An&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:An,e:co}))}catch{}if(p?.pendingRun?.autoResume){let r=p.pendingRun.resumeReason||(io?"agent_navigation":"page_reload"),o=Rt({...p.pendingRun,resumeRequired:!0,resumeReason:r});if(p.pendingRun=o,o&&A?.siteId){let i=Po(p?.lastNavigationHandoff);x1(A.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||qe,resumeReason:r,handoffId:i?.handoffId,openIntent:p.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=Um();j?.broadcastClosing(qx(n)),p?.pendingRun&&j?.releaseWorkflowLock(p.pendingRun.id),Za(),zi(!0),Ym(),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1}),Yt?.stop(),j?.stop()},{capture:!0}),qi(window,"pageshow",n=>{n.persisted&&(j&&(j.reloadFromStorage(),j.registerCurrentTab(window.location.href,document.title||void 0),j.claimLease(!1)),Kr=!1,Vn=0,A&&pu(A),Xr(!0))})}function fC(e="implicit"){if(p)return p.activeTask||(p.activeTask=Gn(e),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1)),p.activeTask}function ui(e,t){if(!p)return;let n=p.activeTask?.status,r=$e(qe),o=Fk({task:p.activeTask,taskEpoch:p.taskEpoch},e,{createTask:(i,a,s)=>Gn(i,a,s)});if(p.activeTask=o.task,p.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(qe=Gr(),hr({forceReset:!0,persist:!1})):hr({persist:!1,appendSeed:!1}),o.clearPendingRun&&p.pendingRun&&Qt(void 0),o.clearWorkerState&&p.workerState&&(p.workerState=void 0,j?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Bt&&(clearTimeout(Bt),Bt=null),Jc()),t?.syncShared!==!1&&j?.syncTask({...o.task},p.taskEpoch),t?.persist!==!1){let i=$e(qe);n!==o.task.status?es("run_status_transition"):!!i&&i!==r?es("task_boundary_transition"):Qe()}if(Xr(),sw(),ie){let i=ie.toPersistedState();p.tasks=i.tasks,p.activeTaskId=i.activeTaskId,p.taskOrder=i.taskOrder}return o.task}function so(){if(!ie||!le)return;Yc();let e=ie.listTasks(),t=ie.getActiveTask()?.taskId;le.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&le.setActiveConversationId(t)}function xw(e){let t=Number(e.endedAt||e.lastAssistantAt||e.lastUserAt||e.startedAt||Date.now()),n=e.rootUserInput||e.summary||e.taskId;return{conversationId:e.taskId,title:Wo(n),preview:Wo(e.summary||e.rootUserInput||""," "),status:e.state,createdAt:Number(e.startedAt||t),updatedAt:t}}function pC(){if(!ie||!p)return null;Yc();let e=ie.getActiveTask();if(!e)return null;let t=p.pendingRun,n=Array.isArray(t?.files)?t.files:[];return{summary:xw(e),payload:{uiMessages:p.uiMessages||e.uiMessages||[],timeline:p.timeline||e.timeline||[],taskRecord:{...e,uiMessages:e.uiMessages||[],timeline:e.timeline||[]},runMeta:{activeTaskId:p.activeTaskId,pendingRun:p.pendingRun?{id:p.pendingRun.id,status:p.pendingRun.status,startedAt:p.pendingRun.startedAt}:void 0},attachments:n.map(r=>({id:String(r?.id||r?.fileId||""),displayName:String(r?.displayName||r?.name||"").slice(0,180),mimeType:String(r?.mimeType||"").slice(0,120),size:Number(r?.size||r?.sizeBytes||0)||void 0,storageRef:r?.storageRef||r?.uri||void 0}))}}}function mC(e="state_persist"){!Sr||!ie||!p||Hp||(Hp=setTimeout(()=>{Hp=null;let t=pC();t&&(Sr?.upsert(t),Hi?.upsert(t).then(n=>{n&&(Sr?.upsert({summary:n,payload:t.payload}),ym("cloud_upsert").catch(()=>{}))}).catch(()=>{rt("status",{event:"conversation_history_sync_failed",reason:e})}))},1e3))}async function ym(e="manual"){if(!le||!Sr)return;let t=await Sr.list();if(Hi)try{let o=await Hi.list();for(let i of o.tombstones||[])i?.conversationId&&Sr.remove(i.conversationId,i);for(let i of o.conversations||[])Sr.upsert({summary:i});t=await Sr.list()}catch{rt("status",{event:"conversation_history_list_offline",reason:e})}let n=ie?.getActiveTask()?.taskId||p?.activeTaskId,r=t.map(o=>({id:o.conversationId,summary:o.title||o.preview||o.conversationId,status:o.status||"completed",updatedAt:o.updatedAt||Date.now(),isActive:o.conversationId===n}));if(!r.some(o=>o.id===n)&&ie){let o=ie.getActiveTask();if(o){let i=xw(o);r.unshift({id:i.conversationId,summary:i.title,status:i.status||"running",updatedAt:i.updatedAt,isActive:!0})}}le.setConversations(r)}function ls(){if(ie)return ie.getActiveTask()}function hC(e=p,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=$e(Gi(e)),o=String(Rt(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function gC(){let e=Yr(ls()?.seedChatLog);return e.length?e:Yr(p?.workerState?.seedChatLog)}function bC(e,t){let n=t||Gn("task_record_sync");return di({taskId:e.taskId,status:Nk(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function vm(e,t){if(!p)return;let n=$e(e.boundaryId)||$e(e.pendingRun?.taskBoundaryId)||$e(e.workerState?.taskBoundaryId)||rr()||Gr(),r=Yr(e.seedChatLog??e.workerState?.seedChatLog),o=$r(vn(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),i=Rt(e.pendingRun),a=Gc(e.transientStatus,{runId:i?.id,taskId:e.taskId});p.activeTaskId=e.taskId,p.activeTask=bC(e,p.activeTask),p.uiMessages=Vr(e.uiMessages),p.timeline=Wr(e.timeline),p.workerState=o,p.pendingRun=i,p.taskTabScope=ms(e.tabScope,n),p.uiStatus=a?.text,p.transientStatus=a,qe=n,e.rootUserInput?.trim()&&(Cn=e.rootUserInput.trim()),t?.replayUi!==!1&&(eh(),hu(p.uiMessages,p.timeline),gu(p),ds(),le?.setRunning(!!p.pendingRun&&p.activeTask?.status==="running"),e.state==="paused"?le?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):le?.hidePausedTaskBanner())}function ww(e){let t=Yr(e),n=ls();n&&ie&&ie.updateTask(n.taskId,r=>({...r,seedChatLog:t})),p?.workerState&&(p.workerState=vn({...p.workerState,seedChatLog:t,updatedAt:Date.now()}),j?.setWorkerContext(Xc(p.workerState)))}function Yc(){if(!p||!ie)return;let e=ie.getActiveTask();if(!e)return;let t=pc(p.activeTask?.status||"running",p.activeTask?.boundaryReason),n=Vr(p.uiMessages),r=Wr(p.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),i=vn(p.workerState),a=Rt(p.pendingRun),s=$e(a?.taskBoundaryId)||$e(i?.taskBoundaryId)||$e(e.boundaryId)||rr()||Gr(),c=ms(p.taskTabScope,s),l=Gc(p.transientStatus,{runId:a?.id,taskId:e.taskId}),d=Yr(e.seedChatLog?.length?e.seedChatLog:i?.seedChatLog);ie.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(p?.activeTask?.startedAt)||m.startedAt,endedAt:Number(p?.activeTask?.endedAt)||void 0,lastUserAt:Number(p?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(p?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:i,pendingRun:a,tabScope:c,rootUserInput:i?.rootUserInput||a?.text||m.rootUserInput||Cn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function Zm(e){if(!p||!ie)return;let t=hC(p,e?.preferredTaskId),n=jk(ie.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Gr(),i=pc(p.activeTask?.status||"running",p.activeTask?.boundaryReason);n=ie.createTask("adopted_continuation",{taskId:t.taskId,state:i,boundaryId:o,startedAt:Number(p.activeTask?.startedAt)||Date.now(),endedAt:Number(p.activeTask?.endedAt)||void 0,lastUserAt:Number(p.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(p.activeTask?.lastAssistantAt)||void 0,rootUserInput:vn(p.workerState)?.rootUserInput||Rt(p.pendingRun)?.text||Cn,seedChatLog:Yr(p.workerState?.seedChatLog),tabIds:ms(p.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&ie.getActiveTaskId()!==n.taskId&&ie.switchActiveTask(n.taskId),p.activeTaskId=ie.getActiveTaskId()||n.taskId,p.activeTask=di({...p.activeTask||Gn("adopted_continuation"),taskId:p.activeTaskId},Gn("adopted_continuation",Date.now(),p.activeTaskId)),Yc();let r=ie.toPersistedState();return p.tasks=r.tasks,p.activeTaskId=r.activeTaskId,p.taskOrder=r.taskOrder,so(),ie.getTask(p.activeTaskId||n.taskId)}function yC(e,t=Date.now()){if(!p||e==="system")return;let n=fC("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var $p="[Rover]";function vC(e){if(!(A?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=Cc;r||(Rc=document.title),Cc=!0,$p=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||Rc||"":document.title;if(document.title=`${n} ${o}`,!Ja){let i=document.querySelector("title");i&&(Ja=new MutationObserver(()=>{if(Cc&&!document.title.startsWith($p)){let a=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${$p} ${a}`}}),Ja.observe(i,{childList:!0,characterData:!0,subtree:!0}))}A?.ui?.tabIndicator?.faviconBadge===!0&&Gk()}function mu(){Cc&&(Cc=!1,Ja&&(Ja.disconnect(),Ja=null),Rc!==void 0?(document.title=Rc,Rc=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),Xk())}function Sw(e="worker_task_active",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"START",reason:e})}ui({type:"ensure_running",reason:e,at:t}),vC()}function kC(e="worker_task_complete",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"COMPLETE"})}ui({type:"terminal",terminal:"completed",reason:e,at:t}),mu()}function Pd(e="worker_task_failed",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"FAIL",error:e})}ui({type:"terminal",terminal:"failed",reason:e,at:t}),mu()}function xC(e="worker_visit_ended",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}ui({type:"terminal",terminal:"ended",reason:e,at:t}),mu()}function Tw(e="worker_task_cancelled",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"CANCEL",reason:e})}ui({type:"terminal",terminal:"cancelled",reason:e,at:t}),mu()}function or(){ti=null,le?.setTaskSuggestion({visible:!1})}function wC(e){let t=String(e?.id||"").trim();if(!t||po())return!1;let n=String(e?.text||"").trim()||"Continue task";return ti?.kind==="resume_run"&&ti.runId===t?!1:(ti={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},le?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function Jc(){On=!1,Wn=!1,Xi(),A?.siteId&&(uc(A.siteId),Gx(A.siteId)),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1})}function eh(){le?.clearMessages(),le?.clearTimeline(),le?.setQuestionPrompt(void 0),or()}function th(e){if(!p)return;Bt&&(clearTimeout(Bt),Bt=null),Kr=!1,Vn=0,On=!1,Wn=!1,Jt&&(clearTimeout(Jt),Jt=null);let t=Rt(p.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(li(n),j?.releaseWorkflowLock(n),nh(n)||ai(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Qt(void 0),j?.setActiveRun(void 0),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),p.activeTask?.status==="running"?Tw(e.reason):Jc(),Gt(void 0),rt("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&Tt({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&gt("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function SC(e){if(e)return $e(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function $r(e,t){if(!e)return;let n=$e(t);if(!n)return e;let r=$e(e.taskBoundaryId);if(r&&r!==n)return;let o=$e(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function ds(){if(p?.activeTask?.status!=="running"){za="",le?.setQuestionPrompt(void 0);return}let e=rr(),t=SC(p?.workerState);if(e&&t&&t!==$e(e)){za="",le?.setQuestionPrompt(void 0);return}let n=qr(p?.workerState?.pendingAskUser?.questions);if(!n.length){za="",Ge&&(Ge.lastNeedsInputSignature=void 0),le?.setQuestionPrompt(void 0);return}let r=`${$e(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==za&&(za=r,es("question_prompt_boundary")),le?.setQuestionPrompt({questions:n}),zw(n)}function TC(){let e=p?.pendingRun;if(!e)return!1;if(!j)return!0;let t=j?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==Et)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=sR}function _C(){if(!p?.pendingRun||TC()||!j)return;let e=p.pendingRun;if(e.resumeRequired===!0&&Id(p.activeTask?.status))return;let t=String(Ie?.getActiveRunId()||"").trim();if(t&&t===e.id||po())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<cR||(li(e.id),ai(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Qt(void 0),j?.releaseWorkflowLock(e.id),j?.setActiveRun(void 0),Bt&&(clearTimeout(Bt),Bt=null))}function Rn(e,t,n=!0,r){let o=String(t||""),i=si(r?.blocks);if(!o&&(!i||i.length===0))return;let a={id:r?.id||Do("msg"),role:e,text:o,blocks:i,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return le?.addMessage(a.role,a.text,{blocks:a.blocks}),p&&n&&(p.uiMessages.push(a),p.uiMessages.length>qd&&(p.uiMessages=p.uiMessages.slice(-qd)),yC(a.role,a.ts),Qe()),j&&r?.publishShared!==!1&&(j.appendMessage({id:a.id,role:a.role,text:a.text,blocks:a.blocks,ts:a.ts}),j.markTaskActivity(a.role,a.ts)),a}function EC(e){for(let t of e)Rn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function Tt(e,t=!0){let n={id:e.id||Do("timeline"),kind:e.kind,title:Zt(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:si(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName,narration:e.narration,narrationActive:e.narrationActive,responseKind:e.responseKind,actionCue:e.actionCue};return le?.addTimelineEvent(n),p&&t&&(p.timeline.push(n),p.timeline.length>Vd&&(p.timeline=p.timeline.slice(-Vd)),Qe({markCheckpointDirty:!1})),j&&e.publishShared!==!1&&j.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts,elementId:n.elementId,toolName:n.toolName,narration:n.narration,narrationActive:n.narrationActive,responseKind:n.responseKind,actionCue:n.actionCue}),n}function IC(e=A){try{return ku(e)?.debugStreaming===!0?!0:Qc(e)?.discoverySurface?.mode==="debug"}catch{return!1}}function AC(e){Tt({kind:"debug",title:"Frame diagnostics",detail:`${e.frameCount} iframe${e.frameCount===1?"":"s"} inspected for child element availability.`,status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics",data:e}],publishShared:!1},!0)}function km(e){let t=Date.now();if(t-lx<jR)return;lx=t;let n=e instanceof Error?e.message:String(e||"Unknown upload failure");Tt({kind:"debug",title:"Frame diagnostics upload failed",detail:Zt(n,180),status:"error",publishShared:!1},!0)}function RC(e){try{if(!A||!p?.sessionId)return;new Td({apiBase:A.apiBase,getSessionToken:()=>Bn(A),siteId:A.siteId,sessionId:p.sessionId}).upload({diagnostics:e,runId:p.pendingRun?.id||p.activeTaskId}).then(n=>{n&&Tt({kind:"debug",title:"Frame diagnostics stored",detail:"Frame diagnostics artifact uploaded for support debugging.",status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics reference",data:n}],publishShared:!1},!0)}).catch(km)}catch(t){km(t)}}function jd(e,t){if(IC())try{let n=bk(e,{captureId:`${t}-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`});if(!n?.frames.length)return;let r=yk(n),o=Date.now();if(r===sx&&o-cx<HR)return;sx=r,cx=o,AC(n),RC(n)}catch(n){km(n)}}function CC(e){le?.clearTimeline();for(let t of e)Tt({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,elementId:t.elementId,toolName:t.toolName,narration:t.narration,narrationActive:t.narrationActive,responseKind:t.responseKind,actionCue:t.actionCue,publishShared:!1},!1)}function hu(e=p?.uiMessages||[],t=p?.timeline||[]){if(le){if(typeof le.setTranscript=="function"){le.setTranscript(e,t);return}le.clearMessages(),EC(e),CC(t)}}function _w(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),i=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(i&&o&&i!==o))return e.text}function Ew(e=p){let t=j?.getState();return $k({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function Gt(e,t){let n=Gc(e?{text:e,runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||ls()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||ls()?.taskId}),r=_w(n,{activeRunId:Ew(p),activeTaskId:p?.activeTask?.taskId,taskStatus:p?.activeTask?.status});r?le?.setStatus(r):le?.setStatus?.(void 0),p&&(p.uiStatus=n?.text,p.transientStatus=n,Yc(),Qe({markCheckpointDirty:!1})),j&&t?.publishShared!==!1&&j.setStatus(n)}function gu(e=p){let t=_w(e?.transientStatus,{activeRunId:Ew(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?le?.setStatus(t):le?.setStatus?.(void 0)}function Ji(e,t){let n=Kc(e);Ut=n;let r=t?.localLogicalTabId??j?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??j?.getActiveLogicalTabId(),i=t?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),a=n==="controller"&&!!(A?.allowActions??!0);At?.setAllowActions(a),At?.setActionGateContext?.({mode:n,controllerRuntimeId:i,activeLogicalTabId:o,localLogicalTabId:r,reason:Wc(n,a)}),p&&(p.executionMode=n,Qe()),Xr(),le?.setExecutionMode(n,{controllerRuntimeId:i,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:uw(),note:fw(n)}),gt("mode_change",{mode:n,rawMode:e,...t})}function Qt(e){p&&(e?p.pendingRun=Rt({...e,taskBoundaryId:e.taskBoundaryId||qe}):(p.pendingRun=void 0,p.uiStatus=void 0,p.transientStatus=void 0,ni(void 0),Hm(p)||Xi()),Vc(p),Xr(),Qe())}function qp(e){p&&(p.lastNavigationHandoff=Po(e),Qe())}function bu(){let e=Number(j?.getLocalLogicalTabId()||j?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function hr(e){if(!p)return;let t=$e(qe)||Gr();qe||(qe=t);let n=bu(),r=e?.appendSeed!==!1,o=ms(p.taskTabScope,t);if(!!e?.forceReset||!o||$e(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return p.taskTabScope=c,e?.persist!==!1&&Qe(),c}let a=mr(o.touchedTabIds);r&&!a.includes(n)&&a.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:a.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=s,e?.persist&&Qe(),s}function Iw(e,t){if(!p)return;let n=hr({persist:!1});if(!n)return;let r=mr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=o,t?.persist!==!1&&Qe(),o}function MC(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Qi(e){if(!p)return;let t=hr({persist:!1,appendSeed:!1});if(!t||!j)return t;let n=Date.now(),r=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],o=new Set;for(let b of r){let v=Number(b?.logicalTabId);if(!Number.isFinite(v)||v<=0)continue;let S=Math.max(Number(b?.updatedAt)||0,Number(b?.openedAt)||0,Number(b?.detachedAt)||0),k=n-S;if(b.runtimeId){o.add(v);continue}if(b.external){k<=SR&&o.add(v);continue}if(b.detachedReason==="navigation_handoff"){k<=TR&&o.add(v);continue}if(b.detachedReason==="opened_pending_attach"){k<=_R&&o.add(v);continue}}let i=Number(j.getLocalLogicalTabId()),a=Number(j.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):bu();Number.isFinite(i)&&i>0&&o.add(i),Number.isFinite(a)&&a>0&&o.add(a),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=mr(t.touchedTabIds),l=c.filter(b=>o.has(b)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(i)&&i>0?i:Number.isFinite(a)&&a>0?a:s;l.includes(d)||l.unshift(d);let m=mr(l).slice(0,24);if(!(d!==t.seedTabId||!MC(m,c)))return t;let u=c.filter(b=>!m.includes(b)),h={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return p.taskTabScope=h,e?.persist!==!1&&Qe(),rt("status",{event:"scoped_tab_reconciled",removedTabIds:u,scopedTabIds:h.touchedTabIds,seedTabId:h.seedTabId}),h}function qa(){let e=Qi({persist:!1})||hr({persist:!1,appendSeed:!1});if(!e)return[bu()];let t=mr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function Aw(){let e=Qi({persist:!1})||hr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:mr(e.touchedTabIds)}}function NC(e,t){let n=Ki,r=uo,o=is,i,a=t;if(ie){let l=ie.listTasks(),d=ie.getActiveTask()?.taskId,m=j?.getLocalLogicalTabId(),f=l.filter(b=>b.taskId!==d&&(b.state==="completed"||b.state==="cancelled")&&!!b.endedAt).sort((b,v)=>(Number(v.endedAt)||0)-(Number(b.endedAt)||0)),h=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(b=>Array.isArray(b.tabIds)&&b.tabIds.includes(Number(m))):f)[0];h&&(n=h.rootUserInput||n,r=h.summary||r,o=h.endedAt||o,i=h.uiMessages.map(b=>({role:b.role,text:b.text,ts:b.ts})),a=h.state)}let s=A?.task?.followup,c=nx({mode:s?.mode,previousTaskStatus:a,previousTaskMessages:i,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:Vm(s?.ttlMs),minLexicalOverlap:Wm(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var oo=new Map,xm=JR;async function LC(e){if(oo.has(e)){let o=oo.get(e);if(Date.now()-o.ts<xm)return;oo.delete(e)}let t=Date.now();for(let[o,i]of oo)t-i.ts>=xm&&oo.delete(o);let n=p?.pendingRun?.id;if(!n||!Ie)return;let r=await Ie.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(oo.set(e,{data:r,ts:Date.now()}),Jd(oo,YR))}function DC(e){let t=oo.get(e);if(t){if(Date.now()-t.ts>=xm){oo.delete(e);return}return t.data}}function PC(e){let t=String(e||"").trim();return t===sm.read||t===sm.act}function vc(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function OC(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===sm.act?"act":"read_context",o=Number(n.tab_id),i=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,a=j?.listTabs({scope:"all"})||[],s=i?a.find(u=>u.logicalTabId===i):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return vc({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Ie)return vc({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(p?.pendingRun?.id||Ie.getActiveRunId()||qc||"").trim()||void 0;if(!f)return vc({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let u=DC(l);if(u)return u;let h=await Ie.fetchExternalContext({runId:f,tabId:i,url:l,intent:r,message:d,source:m});if(!h)return vc({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let v=(h.pageData&&typeof h.pageData=="object"?h.pageData:void 0)||h;return{success:!0,output:{...v,metadata:{...v&&typeof v=="object"?v.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:i,sourceTool:t},intent:r}}}catch(u){let h=String(u?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",b=Number(u?.status),v=b>=500||h==="STALE_SEQ"||h==="STALE_EPOCH";return vc({code:h,message:String(u?.message||"External context request failed"),retryable:v,status:Number.isFinite(b)?b:void 0,details:u?.details})}}function Zi(e){let t=qa(),n=A?Qc(A):void 0,r=String(n?.siteUrl||A?.agentDiscovery?.siteUrl||(typeof window<"u"?`${window.location.origin}/`:"")).trim(),o=String(n?.siteName||A?.ui?.agent?.name||A?.ui?.experience?.presence?.assistantName||(typeof document<"u"?document.title:"")||"").trim();return{taskBoundaryId:qe,taskTabScope:Aw(),scopedTabIds:t,...o?{siteName:o.slice(0,120)}:{},...r?{siteUrl:r.slice(0,240)}:{},...e||{}}}var kx="";function Er(e){if(!ct)return;let t=Zi(e),n=JSON.stringify(t);n!==kx&&(kx=n,ct.postMessage({type:"update_config",config:t}))}function Rw(e,t){let n=String(e||"").trim();if(!n||!ct)return;if(Ut==="observer"){if(po()){Rn("system","This tab is read-only while another tab is actively running Rover.",!0),Tt({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(j?.requestControl()??!1)){Rn("system","Unable to take control right now because another tab is still running Rover actions.",!0),Tt({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let h=j?.getLocalLogicalTabId(),b=j?.getActiveLogicalTabId(),v=j?.getCurrentHolderRuntimeId()||Et;Ji("controller",{localLogicalTabId:h,activeLogicalTabId:b,holderRuntimeId:v});let S=!!(A?.allowActions??!0);At?.setAllowActions(S),At?.setActionGateContext?.({mode:"controller",controllerRuntimeId:v,activeLogicalTabId:b,localLogicalTabId:h,reason:Wc("controller",S)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,i=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?ru(r):void 0)||n;fm(r),i&&Rn("user",n,!0);let c=p?.pendingRun?.id===r?p.pendingRun.attempts:0,l=p?.pendingRun?.id===r&&p.pendingRun.taskBoundaryId||qe;Iw([bu()],{persist:!0});let d=qa(),m=Yr(Array.isArray(t?.seedChatLog)?t.seedChatLog:gC());io=!1,Qt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),Sw(o?"worker_task_resumed":"worker_task_active"),Cn=s,p&&(p.workerState=vn({...p.workerState||{},taskBoundaryId:l,rootUserInput:p.workerState?.rootUserInput||s,seedChatLog:m,history:p.workerState?.history||[],plannerHistory:p.workerState?.plannerHistory||[],agentPrevSteps:p.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),j?.setWorkerContext(Xc(p.workerState))),ww(m),j?.acquireWorkflowLock(r),j?.setActiveRun({runId:r,text:s}),ct.postMessage({type:"run",text:n,runId:r,trajectoryId:p?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:Jm(t?.files),narrationEnabledForRun:t?.narrationEnabledForRun===!0,narrationPreferenceSource:t?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:t?.narrationLanguage,scopedTabIds:d,taskTabScope:Aw()}),Jt&&clearTimeout(Jt);let f=r;Jt=setTimeout(()=>{p?.pendingRun?.id===f&&(th({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),Rn("system","Task timed out after 5 minutes with no response.",!0)),Jt=null},5*6e4)}async function BC(e,t){let n=H1(e,t?.askUserAnswers);if(!n)return;_C();let r=p?.activeTask?.status,o=qr(p?.workerState?.pendingAskUser?.questions).length,i=p?.workerState?.pendingAskUser?.boundaryId,a=ex({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:i,currentTaskBoundaryId:qe}),s=!a,c=s?t?.continueRunId||p?.pendingRun?.id||Ie?.getActiveRunId():void 0,l=a?NC(n,r):{reason:"mode_disabled",overlap:0},d=a?await e1({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(p?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:$e(qe),visitorId:Xt,visitor:jr}):[],m=Yr([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(x=>x instanceof File):[];if(rt("status",{event:"task_boundary_decision",startFreshTask:a,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),rt("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),j?.pruneTabs(a?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),a){let x=!!p?.pendingRun,C=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(rt("status",{event:"task_boundary_reset",reason:C,hadActiveRun:x}),ie&&r==="running"){let _=ie.getActiveTask();_&&(_.uiMessages=p?.uiMessages||[],_.timeline=p?.timeline||[],_.rootUserInput=_.rootUserInput||Cn)}if(wu({reason:C,clearUi:!0}),ie){let _=ie.getActiveTask();_&&(_.rootUserInput=n,_.seedChatLog=m),so()}x&&Ie&&await new Promise(_=>setTimeout(_,50))}or();let u=c,h=t?.routing,b=[];if(f.length>0)try{Tt({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(x=>x.name).join(", "),status:"pending"}),b=await K1(f),Tt({kind:"tool_result",title:b.length===1?"Attachment ready":`${b.length} attachments ready`,detail:b.map(x=>x.displayName).join(", "),status:"success"})}catch(x){let C=String(x?.message||"attachment upload failed");Tt({kind:"error",title:"Attachment upload failed",detail:C,status:"error"}),Rn("system",`Unable to attach files: ${C}`,!0),Gt(`Attachment upload failed (${C})`),gt("error",{message:C,scope:"attachment_upload"});return}if(Ie&&A)try{let x=await Ie.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:a,runId:s?c:void 0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});if(!x)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(x.epoch||x.currentEpoch))&&(Co=Math.max(1,Number(x.epoch||x.currentEpoch)));let C=typeof x.runId=="string"&&x.runId.trim()?x.runId.trim():"";if(!C){let _=String(x?.conflict?.type||"").trim();if(_==="active_run_exists"&&Ie&&a){let I=x?.conflict?.runId||x.runId;if(I){await Ie.controlRun({action:"cancel",runId:I,reason:"stale_run_cleanup"});let M=await Ie.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});M?.runId&&(u=M.runId.trim(),ni(u),(M.acceptedMode==="act"||M.acceptedMode==="planner")&&(h=M.acceptedMode))}}if(!u){let I=String(x.decisionReason||_||x.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${I}).`)}}u||(u=C),ni(u),(x.acceptedMode==="act"||x.acceptedMode==="planner")&&(h=x.acceptedMode)}catch(x){let C=String(x?.message||"server run submission failed");ni(void 0),Tt({kind:"error",title:"Run start failed",detail:C,status:"error"}),Rn("system",`Unable to start task: ${C}`,!0),Gt(`Task could not start (${C})`),gt("error",{message:C,scope:"run_input"});return}let v=t?.narrationEnabledForRun??em,S=t?.narrationPreferenceSource||tm,k=t?.narrationLanguage||rs;Rw(n,{runId:u,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:h,askUserAnswers:t?.askUserAnswers,files:b,narrationEnabledForRun:v===!0,narrationPreferenceSource:S==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:k})}function _r(e,t){BC(e,t)}function kc(e,t){th({reason:e,statusText:t||e,cancelReason:e})}function nh(e){let t=String(e||"").trim();if(!t)return!1;let n=j?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===Et||n.runId!==t)return!1;let r=j?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function xc(e=450,t){Bt||(Bt=setTimeout(()=>{Bt=null,lo(t)},Math.max(120,e)))}function UC(e,t){Kr=!0,On=!1,Wn=!1,or(),Gt("Resuming interrupted task...");let n=e.text?.trim()||p?.workerState?.rootUserInput?.trim()||Cn?.trim()||"Continue the current task on this page";rt("status",{event:"resume_dispatch",source:t,runId:e.id}),Rw(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function lo(e){if(!p?.pendingRun){Bt&&(clearTimeout(Bt),Bt=null),Vn=0;return}let t=Rt(p.pendingRun);if(!t||(Ut==="observer"&&!po()&&Ji("controller",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),Ut==="observer")||Kr)return;if(!Ir||!ct){xc(250,e);return}let n=p.activeTask?.status;if(Np(n)){kc("terminal_task","Previous task already ended.");return}if(!Id(n)||!t.autoResume)return;if($m(A?.task?.resume?.mode)!=="crash_only"){kc("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=Zd(A?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Qt(t);else{Bt&&(clearTimeout(Bt),Bt=null),Vn=0,or();return}}let o=jm(A?.task?.autoResumePolicy),i=nh(t.id),a=Dk({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:i});if(a==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(a="auto_resume"),e?.overridePolicyAction&&a!=="defer_remote_owner"&&a!=="noop"&&(a=e.overridePolicyAction),a==="defer_remote_owner"){xc(650,e);return}if(a==="cancel_resume"){kc("resume_policy_never","Previous task cancelled by resume policy."),Tt({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!Wn&&m1(t)&&(Wn=!0),!Wn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(Wn=!0),!Wn&&h1(t)){xc(320,e);return}if(Wn||(Wn=!0),i){xc(650,e);return}if(Bt&&(clearTimeout(Bt),Bt=null),!os&&!e?.overridePolicyAction){if(Vn+=1,rt("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:Vn,runId:t.id}),Vn<iR){Gt("Preparing secure resume...");let l=Math.min(2e3,240+Vn*160);xc(l,e);return}Vn=0,On=!1,os=!0}Vn=0;let s=Zd(A?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){kc("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=eR){kc("resume_attempt_limit","Previous task dismissed.");return}if(a==="prompt_resume"){wC(t)&&(Gt("Resume available. Choose Resume or Cancel."),rt("status",{event:"resume_prompt_shown",runId:t.id}));return}UC(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function Cw(e){if(!Pp({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&On}))return!1;if(!e.allowRicherIncomingOnResume||!On)return!0;let n=Dp({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function xx(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function Mw(e){return e.incomingWorkerState?e.localWorkerState?Pp({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:xx(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:xx(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&On}):!0:!1}function Nw(e){if(di(e.localState.activeTask,Gn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=$e(Gi(e.localState)),i=$e(Gi(e.incomingState));return o&&i?o===i:!(o&&!i||!o&&i)}async function FC(e,t){if(!p)return;let n=await tC(e,t);if(!n||!p)return;let r=Hc({...n,sessionId:p.sessionId,runtimeId:Et},p.sessionId,Et);if(!Cw({localState:p,incomingState:r,allowRicherIncomingOnResume:!0})||!Nw({localState:p,incomingState:r}))return;let o=Math.max(1,Number(p.taskEpoch)||1),i=Math.max(1,Number(r.taskEpoch)||1),a=Gi(r);Vi({source:"indexeddb_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:i>o,allowBootstrapAdoption:!0})&&(p=Hc({...p,...r,sessionId:p.sessionId,runtimeId:Et},p.sessionId,Et),Vc(p),as({rotateIfMissing:!qe}),Qi({persist:!1}),Zm({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Qe(),le&&(hu(p.uiMessages,p.timeline),gu(p),ds(),p.uiHidden?le.hide():(le.show(),p.uiOpen?le.open():le.close())),Ir&&ct&&Er(),Ir&&ct&&p.workerState&&Ut==="controller"&&(ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var Vp=!1;function rh(e,t){if(p&&!Vp){Vp=!0;try{if(t==="remote"){let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),i=o>r;p.taskEpoch=Math.max(r,o);let a=p.activeTask||Gn("shared_sync");p.activeTask=vw(e.task,a),i&&(p.uiMessages=[],p.timeline=[],eh(),Qt(void 0),p.workerState=void 0,qe=Gr(),p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),or());let s=Vr(e.uiMessages),c=new Set(s.map(x=>x.id)),l=p.uiMessages,d=p.uiMessages.filter(x=>x.role==="user"&&x.sourceRuntimeId===Et&&!c.has(x.id)).length;d>0&&rt("status",{event:"local_message_preserved",count:d});let m=aC(l,s),f=m.length!==l.length||m.some((x,C)=>{let _=l[C];return _?_.id!==x.id||_.ts!==x.ts||_.role!==x.role||_.text!==x.text:!0});f&&(p.uiMessages=m);let u=Wr(e.timeline),h=p.timeline,b=cC(h,u),v=b.length!==h.length||b.some((x,C)=>{let _=h[C];return _?_.id!==x.id||_.ts!==x.ts||_.kind!==x.kind||_.title!==x.title||_.detail!==x.detail:!0});v&&(p.timeline=b),(f||v)&&hu(p.uiMessages,p.timeline),Gt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let S=p.activeTask?.status,k=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==Et&&!Mp({localTaskStatus:S,remoteTaskStatus:k,mode:Ut,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||po()||Kc(Ut)==="observer")Qt(void 0);else{let _=Rt(p.pendingRun),I=$e(e.workerContext?.taskBoundaryId);Cp({taskStatus:S,localPendingRunId:_?.id,localPendingTaskBoundaryId:_?.taskBoundaryId,currentTaskBoundaryId:qe,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:I,ignoredRunIds:Tr})&&Qt(Rt({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:_?.attempts||0,autoResume:!0,taskBoundaryId:_?.taskBoundaryId||I||qe,resumeRequired:_?.resumeRequired===!0,resumeReason:_?.resumeReason}))}else{let x=Mp({localTaskStatus:S,remoteTaskStatus:k,mode:Ut,hasRemoteActiveRun:!!e.activeRun}),_=Rt(p.pendingRun)?.resumeRequired===!0&&Id(S);x&&!_&&(p.pendingRun?.id&&li(p.pendingRun.id),Qt(void 0),k&&k!=="running"&&Jc())}if(Ut==="observer"&&Ji("observer",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),e.workerContext){let x=vn(e.workerContext),C=Number(p.workerState?.updatedAt)||0,_=Number(x?.updatedAt)||0;x&&Mw({localWorkerState:p.workerState,incomingWorkerState:x,fallbackPendingRun:Rt(p.pendingRun),taskStatus:p.activeTask?.status,taskEpoch:p.taskEpoch,localUpdatedAt:C,incomingUpdatedAt:_,allowRicherIncomingOnResume:!0})&&Vi({source:"shared_worker_context",incomingBoundaryId:x.taskBoundaryId,taskEpochAdvanced:i,allowBootstrapAdoption:!0})&&(p.workerState=$r(x,rr()),as(),Ir&&ct&&Ut==="controller"&&(Er(),ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"shared_session",ts:Date.now()})))}}if(p.uiMessages=Vr(p.uiMessages),p.timeline=Wr(p.timeline),p.workerState=$r(vn(p.workerState),rr()),Vc(p),as(),Qi({persist:!1}),Ir&&ct&&Ut==="controller"&&Er(),Xr(),ds(),p.activeTask=di(p.activeTask,Gn("implicit")),Zm(),j&&ie){let r=new Map;for(let o of ie.listTasks())for(let i of o.tabIds)r.set(i,o.taskId);j.setTaskTabMapping(r)}let n=A?.ui?.tabIndicator?.widgetTabBar!==!1;if(le&&e.tabs&&n){let r=j?.getLocalLogicalTabId(),o=j?.getActiveLogicalTabId(),i=(e.tabs||[]).filter(a=>a&&typeof a.logicalTabId=="number").map(a=>({logicalTabId:a.logicalTabId,url:String(a.url||""),title:typeof a.title=="string"?a.title:void 0,isActive:a.logicalTabId===o,isCurrent:a.logicalTabId===r,external:!!a.external,taskId:ie?.getTaskForTab(a.logicalTabId)?.taskId}));i.length>1?le.setTabs(i):le.setTabs([])}else le&&le.setTabs([]);if(t==="local")return;Qe()}finally{Vp=!1}}}function oh(e){let t=Gn("checkpoint_clone");return{version:Im,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Zt(e.uiStatus,300):void 0,transientStatus:Gc(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Vr(e.uiMessages),timeline:Wr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:vn(e.workerState),pendingRun:Rt(e.pendingRun),taskTabScope:ms(e.taskTabScope,Rt(e.pendingRun)?.taskBoundaryId||vn(e.workerState)?.taskBoundaryId),lastNavigationHandoff:Po(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:di(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function zC(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Bn(e)||!Xt)}function HC(){if(!p||!A||!Xt)return null;let e=j?.getState(),t=oh(p),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:Cx,siteId:A.siteId,visitorId:Xt,sessionId:p.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function Lw(e){if(!e||typeof e!="object"||!p||!A||e.siteId&&e.siteId!==A.siteId||Xt&&e.visitorId&&e.visitorId!==Xt)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():p.sessionId;ns=!0;try{if(t&&p.sessionId!==t&&(p.sessionId=t,A={...A,sessionId:t},iu(A),Er({sessionId:t})),e.sharedState&&j&&j.hydrateExternalState(e.sharedState)&&(rh(j.getState(),"remote"),Ji(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=Hc({...e.runtimeState,sessionId:t,runtimeId:Et},t,Et);if(Cw({localState:p,incomingState:n,allowRicherIncomingOnResume:!0})){if(!Nw({localState:p,incomingState:n}))return;let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),i=Gi(n);if(!Vi({source:"cloud_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;p=Hc({...p,...n,sessionId:t,runtimeId:Et},t,Et),Vc(p),as(),p.workerState=$r(p.workerState,rr()),Qi({persist:!1}),Zm({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Qe(),gu(p),p.uiHidden?le?.hide():(le?.show(),p.uiOpen?le?.open():le?.close()),Ir&&Er(),Ir&&p.workerState&&(ct?.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Ut==="controller"&&lo(),On=!1}}}finally{ns=!1}}function ih(e){if(Yt?.stop(),Yt=null,!zC(e)||!Xt)return;let t=Bn(e);if(!t){gt("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{gt("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};Yt=new vd({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Bn(A),shouldSync:()=>Ut==="controller"&&!On&&!Yi(),siteId:e.siteId,visitorId:Xt,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:ss(e.stability?.maxSnapshotBytes,Vt.snapshotBytes),shouldWrite:()=>Ut==="controller"&&!On&&!Yi(),buildCheckpoint:()=>HC(),onCheckpoint:r=>{Lw(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&gt("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||gt("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),Yt.start(),Yt.markDirty(),sw()}catch{Yt=null}}function iu(e){if(!p)return;if(j?.stop(),j=null,e.sessionScope==="tab"){Ji("controller");return}j=new ad({siteId:e.siteId,sessionId:p.sessionId,runtimeId:Et,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let i=Kc(r);Ji(i,o);let a=Hr;Hr=i==="controller",a!==Hr&&(Hr?(Xr(!0),A&&fo(A)):Xr(!0));let s=i==="controller"&&(A?.allowActions??!0);if(At?.setAllowActions(s),At?.setActionGateContext?.({mode:i,controllerRuntimeId:o?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??j?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??j?.getLocalLogicalTabId(),reason:Wc(i,s)}),i==="controller"){hr({persist:!0,appendSeed:!1}),Qi({persist:!0});let c=j?.getWorkerContext();if(c){let l=vn(c),d=Number(p?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Vi({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(p&&(p.workerState=$r(l,rr()),as(),Qe()),Ir&&ct&&(Er(),ct.postMessage({type:"hydrate_state",state:p?.workerState}),gt("context_restored",{source:"controller_handoff",ts:Date.now()})))}lo()}},onStateChange:(r,o)=>{rh(r,o)},onSwitchRequested:r=>{r>0&&(Un(),Tt({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{ie&&(ie.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),so(),Qe(),le?.showPausedTaskBanner({taskId:r,rootUserInput:ie.getTask(r)?.rootUserInput||"Task"}))}}),j.onSessionTokenReceived=(r,o)=>{Hr||tu(r,o)},j.onProjectionReceived=r=>{!Hr&&r&&um(r)};let t=Um();j.start(qx(t)),hr({persist:!0,appendSeed:!1}),Qi({persist:!0}),Rt(p?.pendingRun)?.resumeRequired===!0&&j.requestControl(),p?.lastNavigationHandoff&&t&&(p.lastNavigationHandoff=Po({...p.lastNavigationHandoff,consumed:!0}),Qe()),j.setRpcRequestHandler(async r=>{if(!At)throw new Error("Bridge not available");if(r.method==="getPageData"){let o=await At.getPageData(r.params);return jd(o,"rpc-local"),o}if(r.method==="executeTool")return At.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),p?.activeTask&&j.syncTask({...p.activeTask,taskId:p.activeTask.taskId},p.taskEpoch),p?.workerState&&j.setWorkerContext(Xc(p.workerState))}function jC(e){e&&ao.delete(e),le?.clearTimeline(),p&&(p.timeline=[]),j?.clearTimeline()}function wm(e){return e==="checkpoint"||e==="final"||e==="question"||e==="error"?e:void 0}function wx(e){return e==="question"?"Needs input":e==="error"?"Response error":e==="final"?"Final response":"Step response"}function $C(e){if(!(!e||typeof e!="object")&&(typeof e.executionId=="string"&&e.executionId.trim()&&!e.runId&&(e={...e,runId:e.executionId.trim()}),!z1(e))){if(e.type==="assistant"){let t=si(e.blocks),n=String(e.text||mw(t)||""),r=wm(e.responseKind);typeof e.runId=="string"&&e.runId&&(ao.set(e.runId,n),Jd(ao,GR)),Rn("assistant",n,!0,{blocks:t}),Tt({kind:r?"assistant_response":"tool_result",title:r?wx(r):"Assistant update",detail:n,detailBlocks:t,status:r==="error"?"error":"success",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:r}),zr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="assistant_response"){let t=wm(e.responseKind)||"checkpoint",n=String(e.text||e.narration||"").trim();Tt({kind:"assistant_response",title:typeof e.title=="string"&&e.title.trim()?e.title.trim():wx(t),detail:n||void 0,status:t==="error"?"error":t==="final"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:t}),zr("assistant_output",{text:n,responseKind:t,narration:typeof e.narration=="string"?e.narration:void 0},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=aw(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=M1(n,t,r);if(n&&Gt(n,{runId:typeof e.runId=="string"?e.runId:p?.pendingRun?.id,taskId:p?.activeTask?.taskId,stage:t}),o&&o!==Md&&(Md=o,n)){let i=!!(e.thought||r),a=r||(e.thought?String(e.thought):"");if(i&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!N1(a,Cn))Tt({kind:"thought",title:a,detail:e.thought?String(e.thought):r,status:"pending",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0});else{let c=t?`${C1(t)}: ${n}`:n;Tt({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0})}}gt("status",e),zr("status_update",nM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=mr(t.keptScopedTabIds||[]),r=mr(t.listedTabIds||[]),o=mr(t.resolvedTabOrder||[]),i=n.filter(a=>!r.includes(a));i.length>0&&(Tt({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${i.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),rt("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:i,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=ou(e),n=dc(e.call,e.toolCallId,{logicalTabId:t}),r=n?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Tt({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detailBlocks:Tk(e.call),status:"pending",elementId:r,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:n}),gt("tool_start",e),zr("tool_start",rM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!eC(e.result)){let i=mr([...hw(e.call?.args),...Q1(e.result)]);i.length&&(Iw(i,{persist:!0}),Er())}let t=si(e.detailBlocks)||J1(e.result),n=ou(e),r=dc(e.call,e.toolCallId,{logicalTabId:n}),o=r?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Tt({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:o,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:r}),gt("tool_result",e),zr("tool_result",oM(e),{runId:typeof e.runId=="string"?e.runId:void 0}),Z1(e);return}if(e.type==="auth_required"){gt("auth_required",e.error),e.error?.message&&(Rn("system",`Auth required: ${e.error.message}`,!0),Tt({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){gt("navigation_guardrail",e),Tt({kind:"status",title:"Navigation guardrail",detail:Xx(e),status:"info"});return}if(e.type==="error"){Rn("system",`Error: ${e.message||"unknown"}`,!0),Tt({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),gt("error",e),zr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(p){let t=vn({...e.state||{},updatedAt:Date.now()});if(!t||!Vi({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;p.workerState=$r(t,rr());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=Rt(p.pendingRun),i=Cp({taskStatus:p.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:qe,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:Tr});if(i&&Qt(Rt({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||qe,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&i?j?.setActiveRun({runId:n,text:r}):n&&(!Ko()||Tr.has(n)||o?.id!==n)&&j?.setActiveRun(void 0),!Ko()&&p.pendingRun&&Qt(void 0),p.workerState&&j?.setWorkerContext(Xc(p.workerState)),ie&&t?.taskBoundaryId){let a=ie.getTaskByBoundaryId(t.taskBoundaryId);a&&(a.workerState=p.workerState,n&&(a.pendingRun=p.pendingRun))}ds(),Qe()}return}if(e.type==="execution_started"){if(Md="",or(),typeof e.runId=="string"&&e.runId&&ao.delete(e.runId),!Ko()){j?.setActiveRun(void 0);return}let t=p?.pendingRun,n=typeof e?.runBoundaryId=="string"?$e(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?$e(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&fm(e.runId),Qt(Rt({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||qe,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),j?.setActiveRun({runId:e.runId,text:String(e.text||"")}),le?.setRunning(!0),le?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(p?.timeline.some(o=>o.id===r)||Tt({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),ie&&n){let o=ie.getTaskByBoundaryId(n);o&&(o.pendingRun=p?.pendingRun,ie.dispatch(o.taskId,{type:"START"}))}zr("state_transition",{status:"running",mode:p?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Ge&&(Ge.status="running",Ge.runId=typeof e.runId=="string"&&e.runId?e.runId:Ge.runId,Ge.promptDispatchState="started",$i()),gt("run_started",Bx(e));return}if(e.type==="execution_completed"||e.type==="execution_state_transition"){Md="",Kr=!1,Vn=0;let t=G1(e),n=Ux(e,t),r=t.terminalState,o=t.continuationReason,i=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",a=e?.ok===!1||r==="completed"||r==="failed",s=!a&&r==="in_progress"&&o!=="awaiting_user";le?.setRunning(s),Jt&&(clearTimeout(Jt),Jt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.runBoundaryId=="string"?$e(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?$e(e.taskBoundaryId):void 0;if(a){let d=Rt(p?.pendingRun),m=String(d?.text||Cn||"").trim(),f=String((c?ao.get(c):"")||"").trim();Ki=m||Ki,uo=f||uo,is=Date.now(),d?.id&&j?.releaseWorkflowLock(d.id),c&&j?.releaseWorkflowLock(c),Qt(void 0),ni(void 0),j?.setActiveRun(void 0),or(),c&&li(c)}else if(Ko()&&c){fm(c),ni(c);let d=p?.pendingRun,m=d?.id===c&&d?.text?d.text:Cn||d?.text||"Continue task";Qt(Rt({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||qe,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),j?.setActiveRun({runId:c,text:m})}if(p&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(p.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?Zt(e.route.reason,200):void 0,ts:Date.now()},Qe()),!e.ok&&e.error){if(c&&ao.delete(c),c&&(ai(c,"worker_run_failed",{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Ko())return;le?.setQuestionPrompt(void 0),t.contextResetRecommended?(Pd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0)):(Pd("worker_run_failed_terminal"),Gt(void 0)),c&&ao.delete(c),Tt({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Ko())return;let d=t.runComplete,m=t.needsUserInput,f=t.questions||qr(e.questions),u=qr(p?.workerState?.pendingAskUser?.questions),h=f.length?f:m?u:[];if(r==="failed")c&&(ai(c,"worker_terminal_failed",{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),le?.setQuestionPrompt(void 0),t.contextResetRecommended?(Pd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0)):(Pd("worker_run_failed_terminal"),Gt(void 0)),Tt({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Ie?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),le?.setQuestionPrompt(void 0),kC("worker_task_complete"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0),jC(typeof e.runId=="string"?e.runId:void 0);else{let b=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(ie){let v=ie.getActiveTask();v&&ie.dispatch(v.taskId,{type:"ASK_USER"})}ui({type:"awaiting_user",reason:b,at:Date.now()})}else Sw(b);m&&h.length>0?le?.setQuestionPrompt({questions:h}):m?ds():le?.setQuestionPrompt(void 0),m?(Gt(void 0),Tt({kind:"status",title:"Waiting for your input",detail:h.length?`Please answer: ${h.map(v=>`${v.key} (${v.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(Gt("Navigating to continue task..."),Tt({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):Gt("Working...")}}if(ie&&l){let d=ie.getTaskByBoundaryId(l);if(d)if(a){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};ie.dispatch(d.taskId,m),ie.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&ie.dispatch(d.taskId,{type:"ASK_USER"})}if(zr("state_transition",{status:i,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:p?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:a||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||qr(e.questions);d.length&&zw(d)}Ge&&(Ge.status=i,Ge.runId=c||Ge.runId,i==="failed"?Ge.promptDispatchState="failed":(i==="running"||i==="awaiting_user"||i==="completed")&&(Ge.promptDispatchState="started"),$i()),a&&aM(c),gt("run_state_transition",n),(e.type==="execution_completed"||a)&&gt("run_completed",n),so();return}if(e.type==="ready"){Ir=!0,Gt(void 0),gt("ready"),A&&Kw(A);let t=j?.getWorkerContext(),n=$r(vn(t),rr()),r=n&&Vi({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=$r(vn(p?.workerState),rr()),i=o&&Vi({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,a=Number(i?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&Mw({localWorkerState:i,incomingWorkerState:r,fallbackPendingRun:Rt(p?.pendingRun),taskStatus:p?.activeTask?.status,taskEpoch:p?.taskEpoch,localUpdatedAt:a,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:i;p&&(c&&c!==p.workerState?(p.workerState=$r(c,rr()),Qe()):!c&&p.workerState&&(p.workerState=void 0,Qe())),c?(ct?.postMessage({type:"hydrate_state",state:c}),gt("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Kr||lo()},500)):On&&Yt?(rt("status",{event:"checkpoint_pull_first"}),Yt.syncPullFirst()):lo();return}if(e.type==="hydrated"){lo();return}e.type==="updated"&&gt("updated")}}function Sm(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function yu(e){if(!e||typeof e!="object")return;let t=Sm(e.shortcutMaxStored,{min:1,max:Kd,fallback:Kd}),n=Sm(e.shortcutMaxRendered,{min:1,max:Gd,fallback:Gd});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function Lo(e){return Nl(e)}function qC(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function VC(e){let t=Number(e);if(Number.isFinite(t))return Math.max(yR,Math.min(vR,Math.floor(t)))}function us(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,gR);r&&(n.language=r);let o=VC(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function fs(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function Wi(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},i=String(r.assistantName||"").trim();i&&(o.assistantName=i.slice(0,160));let a=String(r.ctaText||"").trim();a&&(o.ctaText=a.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let i=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(a=>a==="images"||a==="pdfs"||a==="office"||a==="text"):[];i.length&&(o.acceptedMimeGroups=Array.from(new Set(i))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.audio&&typeof t.audio=="object"){let r=t.audio,o=r.narration&&typeof r.narration=="object"?r.narration:void 0;if(o){let i={};typeof o.enabled=="boolean"&&(i.enabled=o.enabled),(o.defaultMode==="guided"||o.defaultMode==="always"||o.defaultMode==="off")&&(i.defaultMode=o.defaultMode),Number.isFinite(Number(o.rate))&&(i.rate=Math.max(.85,Math.min(1.15,Number(o.rate))));let a=String(o.language||"").trim();a&&(i.language=a.slice(0,24)),(o.voicePreference==="auto"||o.voicePreference==="system"||o.voicePreference==="natural")&&(i.voicePreference=o.voicePreference),Object.keys(i).length&&(n.audio={narration:i})}}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),typeof r.actionSpotlight=="boolean"&&(o.actionSpotlight=r.actionSpotlight);let i=qC(r.actionSpotlightColor);i&&(o.actionSpotlightColor=i),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let i=String(r.accentColor||"").trim();i&&(o.accentColor=i.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let a=String(r.fontFamily||"").trim();a&&(o.fontFamily=a.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function vu(e){if(!e)return;let t=Wi(wn?.experience),n=Wi(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=ea(wn?.greeting||e.ui?.greeting),i=ch(e),a=Qc(e),s={};return(a?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...a?.discoverySurface?.beaconLabel?{ctaText:a.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),i?.enabled===!1&&(s.inputs={voice:!1}),Wi({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function Qc(e){if(!e)return;let t=Ra(wn?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function jc(e){if(!e)return;let t=Lo(wn?.pageConfig),n=Lo(e.pageConfig);return Lo({...t||{},...n||{}})}function ku(e){if(!e)return;let t=fs(wn?.aiAccess),n=fs(e.agentDiscovery?.aiAccess);if(!(!t&&!n))return{...t||{},...n||{}}}function Dw(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function WC(e){if(!ct||!e)return;let t=jc(e),n=JSON.stringify(t||null);n!==Zp&&(Zp=n,ct.postMessage({type:"update_config",config:{...Zi(),pageConfig:t}}))}function Zc(){Ec&&(clearTimeout(Ec),Ec=null),Ic&&(clearTimeout(Ic),Ic=null)}function KC(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>rx?null:{shortcuts:ci(n.data.shortcuts),businessType:nl(n.data.businessType),experience:Wi(n.data.experience),greeting:ea(n.data.greeting),voice:us(n.data.voice),aiAccess:fs(n.data.aiAccess),limits:yu(n.data.limits),pageConfig:Lo(n.data.pageConfig),agentDiscovery:Ra(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>rx?null:{shortcuts:ci(n.data)}}catch{return null}}function Pw(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:ci(t.shortcuts),businessType:nl(t.businessType),experience:Wi(t.experience),greeting:ea(t.greeting),voice:us(t.voice),aiAccess:fs(t.aiAccess),limits:yu(t.limits),pageConfig:Lo(t.pageConfig),agentDiscovery:Ra(t.agentDiscovery)}}))}catch{}}function ea(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,hR));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function Sx(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let i=String(o||"").trim().slice(0,t.maxChars);if(!i)continue;let a=i.toLowerCase();if(!r.has(a)&&(r.add(a),n.push(i),n.length>=t.maxItems))break}return n.length?n:void 0}function GC(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,uR),r=String(e.prompt||"").trim().slice(0,pR);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,fR)),e.icon&&(o.icon=String(e.icon).trim().slice(0,mR)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing),(e.runKind==="guide"||e.runKind==="task")&&(o.runKind=e.runKind);let i=Number(e.order);Number.isFinite(i)&&(o.order=Math.trunc(i));let a=Sx(e.tags,{maxItems:16,maxChars:40});a&&(o.tags=a);let s=Sx(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="run"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function ci(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=Kd)break;let o=GC(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function XC(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function YC(e,t){let n=new Map;for(let r of t)n.set(r.id,r);for(let r of e){let o=n.get(r.id);n.set(r.id,o?{...o,...r}:r)}return XC(Array.from(n.values())).slice(0,Kd)}function ah(e){if(!e)return[];let t=ci(e.ui?.shortcuts||[]),n=ci(wn?.shortcuts||[]),r=YC(t,n);if(r.length>=3)return r;let o=TM(wn?.businessType);if(!o.length)return r;let i=new Set(r.map(d=>d.id)),a=new Set(r.map(d=>d.label.trim().toLowerCase())),s=new Set(r.map(d=>d.prompt.trim().toLowerCase())),c=Math.max(0,3-r.length),l=o.filter(d=>{let m=d.label.trim().toLowerCase(),f=d.prompt.trim().toLowerCase();return i.has(d.id)||a.has(m)||s.has(f)?!1:(i.add(d.id),a.add(m),s.add(f),!0)}).slice(0,c);return[...r,...l]}function Ow(e){let t=Sm(wn?.limits?.shortcutMaxRendered,{min:1,max:Gd,fallback:Gd});return e.filter(n=>n.enabled!==!1).slice(0,t)}function Nc(){Yo&&(clearTimeout(Yo),Yo=null),Pc=null}function JC(e){return`${window.location.href}::${e.signature}`}function Bw(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Pv(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),rt("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function Wp(e,t,n){let r=Pc;r?.handleKey===e&&r.deadlineAt===n&&Yo||(Yo&&clearTimeout(Yo),Pc={handleKey:e,request:t,deadlineAt:n},Yo=setTimeout(()=>{Yo=null,el("attach_retry")},NR))}function Uw(){Xa&&(clearTimeout(Xa),Xa=null)}function QC(){Uw(),Ge=null}function Tc(e=0){Ge?.pendingEvents.length&&(Xa||(Xa=setTimeout(()=>{Xa=null,sh()},Math.max(0,e))))}async function sh(e=!1){let t=Ge;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Ie)return;if(!e&&Yi()){Tc(zp);return}let n=t.pendingEvents.splice(0,Fp);if(n.length){t.ingestInFlight=!0;try{await Ie.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-Fp*4),Tc(zp))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-Fp*4),Tc(zp)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&Tc(0)}}function zr(e,t,n){let r=Ge;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){Uw(),sh(!0);return}Tc(0)}}function ZC(e){let t=String(e||"").trim();if(t){let o=String(ao.get(t)||"").trim();if(o)return o}let n=[...p?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function eM(){let e=String(Oc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function Fw(){return Ge?.detail==="full"||Ge?.detail==="debug"}function tM(){return Ge?.detail==="debug"}function nM(e){let t={stage:aw(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return tM()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function rM(e){let t=ou(e),n=dc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted,narration:typeof e?.narration=="string"?Zt(e.narration.replace(/\s+/g," ").trim(),220):void 0};return Fw()&&(r.args=e?.call?.args),r}function oM(e){let t=ou(e),n=dc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1,actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted};return Fw()?r.result=e?.result:typeof e?.result?.message=="string"&&(r.message=e.result.message),r}function iM(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=ZC(e),i=eM();return{url:t,title:n,host:r,summary:o,snapshotDigest:i}}function zw(e){let t=Ge;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,zr("needs_input",{questions:e},{immediate:!0}))}function aM(e){let t=Ge;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),zr("page_observation",iM(n),{immediate:!0,runId:n}))}function Kp(e,t,n,r){Nc(),Ui="",r?.openWidget!==!1&&(Un(),Rn("system",`Rover couldn't start the AI launch: ${n}`,!0)),rt("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),Ac=t,r?.consume!==!1&&Bw(e)}function au(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=Px();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function Hw(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&rt("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Ge&&(Ge.status=e.status||Ge.status,Ge.executionTarget=e.executionTarget||Ge.executionTarget,Ge.runId=String(e.runId||Ge.runId||"").trim()||void 0,Ge.promptDispatchState="pending",$i()),Un();try{t.kind==="shortcut"?_r(t.prompt,{reason:"launch_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:rs}):_r(t.prompt,{reason:"launch_prompt"}),n&&rt("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Ge&&(Ge.promptDispatchState="started",Ge.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Ge.runId=String(e.runId||Ge.runId||"").trim()||void 0,$i())}catch(r){throw n&&rt("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Ge&&(Ge.promptDispatchState="failed",Ge.status="failed",$i()),r}}function el(e){if(!A||typeof window>"u")return;let t=Dv(window.location.href);if(!t){Nc(),Ac="",wc="",Ui="";return}let n=JC(t);if(n===Ac||Ge?.handleKey===n||Ui===n)return;let r=ku(A);if(r&&r.enabled===!1){Nc(),wc!==n&&(rt("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),wc=n),Kp(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}wc="";let o=Pc?.handleKey===n?Pc.deadlineAt:Date.now()+MR;if(Date.now()>=o){Kp(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}Ui=n,fo(A).then(async()=>{if(!Ie){Wp(n,t,o);return}let i=await Ie.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!i){Wp(n,t,o);return}Nc(),Ge={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:i.status,detail:i.detail,executionTarget:i.executionTarget,runId:i.runId,promptDispatchState:au(i)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},$i(),au(i)?Hw(i):Un(),zr("state_transition",{status:i.status==="awaiting_user"?"awaiting_user":"running",executionTarget:i.executionTarget,detail:i.detail,source:"launch_attach"},{immediate:!0,runId:i.runId}),rt("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:i.executionTarget,detail:i.detail}),Ac=n,Bw(t)}).catch(i=>{if(Date.now()<o){Wp(n,t,o);return}Kp(t,n,i?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{Ui===n&&(Ui="")})}function Fi(){Xo&&(clearTimeout(Xo),Xo=null),Ga=null}function sM(e){return`${window.location.href}::${e.signature}`}function cM(e){return e?!!(eu(e)||Bn(e)):!1}function Tm(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=cp(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),rt("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function lM(e,t,n){let r=Ga;r?.handleKey===e&&r.deadlineAt===n&&Xo||(Xo&&clearTimeout(Xo),Ga={handleKey:e,request:t,deadlineAt:n},Xo=setTimeout(()=>{Xo=null,hs("shortcut_retry")},CR))}function dM(e,t,n){Fi(),Un(),Rn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),rt("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),$a=t,Tm(n,e)}function jw(){let e=String(A?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function ps(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function uM(e,t){let n=new URL(`${jw()}/v1/a2w/runs/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function fM(e,t){let n=new URL(`${jw()}/v1/a2w/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function $w(e){let t=String(e.runId||"").trim();if(!t)return;let n=String(e.runAccessToken||ps(e.runUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||ps(e.workflowUrl)||"").trim()||void 0;Jo={runId:t,runUrl:String(e.runUrl||uM(t,n)).trim(),runAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||fM(r,o)).trim():void 0,workflowAccessToken:o,runBoundaryId:$e(qe||p?.workerState?.taskBoundaryId),executionId:String(e.executionId||p?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Kn(A)}function pM(){return $e(qe||p?.workerState?.taskBoundaryId)||""}function mM(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function $d(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function qw(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("runs");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let i=r.lastIndexOf("tasks");if(i>=0&&r[i+1])return decodeURIComponent(r[i+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function hM(){let e=String(uo||p?.uiStatus||p?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function gM(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function bM(){let e=pM(),t=Jo;if(t&&t.runId&&t.runAccessToken&&(!e||t.runBoundaryId===e))return t.executionId=String(p?.pendingRun?.id||t.executionId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!A)throw new Error("Rover is not booted.");if(await fo(A),!Ie)throw new Error("Rover server runtime is unavailable.");let n=ru(p?.pendingRun?.id)||gM(),r=await Ie.createSessionRootRun({url:window.location.href,prompt:n,executionId:String(p?.pendingRun?.id||"").trim()||void 0}),o=String(r?.run||"").trim();if(!r?.id||!o)throw new Error("Failed to create the root A2W workflow run.");if($w({runId:String(r.runId||r.id||"").trim(),runUrl:o,runAccessToken:ps(o),workflowId:qw(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:ps(r.workflow),executionId:String(p?.pendingRun?.id||"").trim()||void 0}),!Jo?.runAccessToken)throw new Error("Root A2W workflow run is missing an access token.");return rt("status",{event:"handoff_root_run_created",runId:Jo.runId,workflowId:Jo.workflowId}),Jo}async function Tx(e,t,n=Dc){if(!A)return null;if(await fo(A),!Ie)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let i=r-Date.now(),a=i>0?Math.max(1,Math.min(PR,Math.ceil(i/1e3))):0;if(o=await Ie.getPublicRun(e,{accessToken:t,waitSeconds:a}),!o||$d(o.status)||o.status==="input_required"||i<=0)return o}}function _x(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function Ex(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.run||"").trim(),o=String(e.workflow||"").trim(),i=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),a=qr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,run:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||i||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,runStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,runComplete:!0,terminalState:"completed",message:i||"Delegated A2W run completed."};if(n==="input_required")return{...c,success:!1,runComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:a.length?a:e.input?.questions,input:e.input,message:String(e.input?.message||i||"Delegated A2W run needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||i||`Delegated A2W run ${n}.`).trim();return{...c,success:!1,runComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,runComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated A2W run is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated A2W run is still running. Call handoff_to_rover_site again with the returned run URL to keep following it."}}async function yM(e){let t=e&&typeof e=="object"?e:{};if(!A)throw new Error("Rover is not booted.");if(await fo(A),!Ie)throw new Error("Rover server runtime is unavailable.");let n=mM(t.execution),r=String(t.answer||"").trim(),o=String(t.run||"").trim();if(o){let b=ps(o),v=r?await Ie.continuePublicRun(o,r,{accessToken:b}):await Ie.getPublicRun(o,{accessToken:b});if(!v)throw new Error("Delegated A2W run could not be loaded.");let S;return!$d(v.status)&&v.status!=="input_required"&&(S=_x(v,n),v=await Tx(o,b,Dc)||v),Ex(v,S?{browserOpen:S}:void 0)}let i=String(t.url||"").trim(),a=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!i)throw new Error("handoff_to_rover_site requires url or run.");if(!a&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await bM(),d=await Ie.createRunHandoff({parentRunId:l.runId,runAccessToken:String(l.runAccessToken||"").trim(),url:i,...a?{shortcutId:a}:{},...!a&&s?{instruction:s}:{},...!a&&!s&&c?{prompt:c}:{},...String(t.contextSummary||uo||"").trim()?{contextSummary:String(t.contextSummary||uo).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(ru(p?.pendingRun?.id)||"").trim()?{originalGoal:String(ru(p?.pendingRun?.id)||"").trim()}:{},lastObservation:hM(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!$d(d.status)&&d.status!=="input_required"&&(m=_x(d,n));let f=String(d.run||"").trim(),u=ps(f),h=!$d(d.status)&&d.status!=="input_required"&&await Tx(f,u,Dc)||d;return rt("status",{event:"handoff_run_created",parentRunId:l.runId,childRunId:String(h.runId||h.id||"").trim(),workflowId:qw(h.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(i).hostname}catch{return}})()}),Ex(h,m?{browserOpen:m}:void 0)}var vM={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated A2W run."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},run:{type:"string",description:"Existing delegated A2W run URL or run ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated run that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated A2W run completed or reached a stable state."},status:{type:"string",description:"Current delegated run status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},run:{type:"string",description:"Canonical delegated A2W run URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child runs."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function kM(){am||!At||!ct||(Fm({def:vM,handler:yM}),am=!0)}function su(){Qo&&(clearTimeout(Qo),Qo=null),Uc=null}function xM(e){return`${window.location.href}::${e.signature}`}function Vw(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=Uv(window.location.href);if(t?.consumeDeepLink&&A){let o=new URL(r,window.location.origin).toString();r=cp(o,dd(A.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),rt("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function Gp(e,t){let n=Uc;n?.handleKey===e&&n.deadlineAt===t&&Qo||(Qo&&clearTimeout(Qo),Uc={handleKey:e,deadlineAt:t},Qo=setTimeout(()=>{Qo=null,tl("receipt_retry")},LR))}function wM(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(Un(),t.kind==="shortcut"){_r(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:rs});return}_r(t.prompt,{reason:"browser_receipt_prompt"})}function Ix(e,t,n,r){su(),r?.openWidget&&(Un(),Rn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),rt("status",{event:"browser_receipt_claim_failed",message:n}),Mc=t,Vw(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&hs("receipt_fallback")}function tl(e){if(!A||typeof window>"u")return!1;let t=mp(window.location.href);if(!t)return su(),Mc="",ja="",!1;let n=xM(t);if(n===Mc||ja===n)return!0;let r=Uc?.handleKey===n?Uc.deadlineAt:Date.now()+DR;return Date.now()>=r?(Ix(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(ja=n,fo(A).then(async()=>{if(!Ie){Gp(n,r);return}let o=await Ie.claimBrowserRunReceipt({receipt:t.receipt});if(!o){Gp(n,r);return}su(),$w({runId:o.runId,runAccessToken:o.runAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,executionId:o.executionId}),wM(o),rt("status",{event:"browser_receipt_claimed",source:e,runId:o.runId,executionId:o.executionId}),Mc=n,Vw(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){Gp(n,r);return}Ix(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{ja===n&&(ja="")}),!0)}function hs(e){if(!A||typeof window>"u")return;let t=Rv(A.deepLink,wn?.aiAccess);if(e!=="receipt_fallback"&&mp(window.location.href))return;let n=Cv(window.location.href,t);if(!n){Fi(),$a="",Bi="";return}let r=sM(n);if(!t.enabled){Fi(),Bi!==r&&(rt("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Bi=r);return}if(Bi="",r===$a)return;if(!t.enabled){Fi(),Bi!==r&&(rt("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Bi=r);return}if(Ga?.handleKey===r||rt("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){Fi(),Un(),_r(n.value,{reason:"deep_link_prompt"}),rt("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),$a=r,Tm(t,n);return}let i=ah(A).find(s=>s.enabled!==!1&&s.id===n.value);if(i){Fi(),Un(),_r(i.prompt,{reason:"deep_link_shortcut",routing:i.routing,narrationRunKind:i.runKind,narrationLanguage:rs}),rt("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:i.id,routing:i.routing}),$a=r,Tm(t,n);return}let a=Ga?.handleKey===r?Ga.deadlineAt:Date.now()+RR;if(Date.now()<a&&cM(A)){lM(r,n,a);return}dM(n,r,t)}function xu(e){if(!e)return;let t=ea(wn?.greeting),n=ea(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function ch(e){if(!e)return;let t=us(wn?.voice),n=us(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=bR),r}function lh(e){let t=jr?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function $c(){if(ri||!le||!A||p?.uiOpen)return;let e=xu(A);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${A.siteId}`;try{if(sessionStorage.getItem(t)){ji=!0;return}}catch{}if(ji)return;Zc();let n=e?.delay??3e3,r=e?.duration??8e3,o=lh(e);Ec=setTimeout(()=>{if(Ec=null,!(ri||p?.uiOpen)){le?.showGreeting(o),ji=!0;try{sessionStorage.setItem(t,"1")}catch{}Ic=setTimeout(()=>{Ic=null,le?.dismissGreeting()},r)}},n)}function nl(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var Ww={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},SM=Ww.general,Ax={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function TM(e){let t=nl(e)||"general";return(Ax[t]||Ax.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"run"}))}function _M(){let e=wn?.businessType;return(e&&Ww[e])??SM}function cu(e){let t=ah(e);le?.setShortcuts(Ow(t)),le?.setExperience?.(vu(e)),le?.setVoiceConfig(ch(e)),le?.setPlaceholders?.(_M()),WC(e),Kn(e),tl("site_config"),el("site_config"),hs("site_config")}async function EM(e){let t=null,n=eu(e)||Bn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:p?.sessionId||e.sessionId,requestedSessionId:p?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=Ri(e.apiBase);for(let i of o)try{let a=await fetch(`${i}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await a.json().catch(()=>{});if(!a.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:ci(t.shortcuts),businessType:nl(t.businessType),experience:Wi(t.experience),greeting:ea(t.greeting),voice:us(t.voice),aiAccess:fs(t.aiAccess),limits:yu(t.limits),pageConfig:Lo(t.pageConfig),agentDiscovery:Ra(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function Kw(e){let t=KC(e.siteId);t&&(wn=t),cu(e),$c(),EM(e).then(n=>{if(n&&(wn=n,Pw(e.siteId,n),cu(e),!ri)){let r=xu(e);ji&&!p?.uiOpen?le?.showGreeting(lh(r)):$c()}}).catch(()=>{})}function Gw(e){if(!A)return;let t={...jr,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),jr=t,Wx(A.siteId,jr),le?.setVisitorName(jr.name||""),ri||(ji&&!p?.uiOpen?le?.showGreeting(lh(xu(A))):$c())}function IM(e){if(iu(e),typeof window<"u"&&qi(window,zR,()=>{Lm(A)}),j){let f=Kc(j.getRole());Ut=f,Hr=f==="controller",p&&(p.executionMode=f)}ih(e),pu(e),Xr(!0);let t=(e.allowActions??!0)&&(j?j.isController():!0),n=f=>{if(!p)return;let u=Rt(p.pendingRun);if(u){let k=Rt({...u,taskBoundaryId:u.taskBoundaryId||qe,resumeRequired:!0,resumeReason:f});return p.pendingRun=k,k&&j?.setActiveRun({runId:k.id,text:k.text}),k}let h=j?.getState().activeRun,b=String(Ie?.getActiveRunId()||qc||h?.runId||"").trim();if(!b)return;let v=String(h?.text||Cn||"Continue task").trim()||"Continue task",S=Rt({id:b,text:v,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:qe,resumeRequired:!0,resumeReason:f});return p.pendingRun=S,S&&j?.setActiveRun({runId:S.id,text:S.text}),S};At=new Gl({allowActions:t,runtimeId:Et,allowedDomains:e.allowedDomains,domainScopeMode:zc(e.domainScopeMode),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:bn(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:bn(e.timing?.domSettleMaxWaitMs,80,5e3),retries:bn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:bn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:bn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>j?.registerOpenedTab(f),switchToLogicalTab:f=>j?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(j?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(gt("navigation_guardrail",f),Tt({kind:"status",title:"Navigation guardrail",detail:Xx(f),status:"info"}),Ie&&f?.blockedUrl){let u=yx();if(!u)return;let h=String(window.location.hostname||"").toLowerCase(),b=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Ie.sendTabEvent({runId:u,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:h||void 0,targetHost:b,isCrossHost:!!b&&!!h&&b!==h}).then(v=>{v&&(v.retryAttempted&&gt("tab_event_conflict_retry",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}),v.retryExhausted&&gt("tab_event_conflict_exhausted",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let u=yx(),h=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&Wk(f.targetUrl,h)){let O=Bp(f.targetUrl,h);return rt("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:O.score,reasons:O.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${O.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let O=Date.now();for(Di.push(O);Di.length>0&&Di[0]<O-fx;)Di.shift();if(Di.length>WR)return rt("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:Di.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${Di.length} in ${fx/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let b=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),v=!!h&&!!b&&pr(h)!==pr(b),S=!!h&&!!b&&h!==b,k=Hs({host:b,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),x=Zk({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode,preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(j?.listTabs({scope:"all"})||[]).map(O=>({logicalTabId:O.logicalTabId,url:O.url,external:!!O.external})),taskScopedTabIds:qa(),sourceLogicalTabId:f?.sourceLogicalTabId}),C=S1(),_=x==="allow_same_tab";if(_&&p){if(io=!0,qp(jp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),An&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:An,e:co}))}catch{}if(ie){let O=ie.getActiveTask();O&&ie.dispatch(O.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}es("same_tab_navigation_handoff_early")}let I=null;if(f?.targetUrl&&Ie&&u){let O=!!b&&!!h&&b!==h;I=await Ie.sendTabEvent({runId:u,currentUrl:window.location.href,targetUrl:f.targetUrl,message:C,currentHost:h||void 0,targetHost:b,isCrossHost:O}).catch(()=>null),I?.retryAttempted&&gt("tab_event_conflict_retry",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl}),I?.retryExhausted&&gt("tab_event_conflict_exhausted",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl})}let M=Yk({crossRegistrableDomain:v,fallbackDecision:x,serverDecision:I?.decision,serverAvailable:!!I}),G=M.decision;if(G==="block")return _&&(io=!1),{decision:"block",reason:M.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":I?.reason||"Navigation blocked by policy.",decisionReason:M.failSafeBlocked?"preflight_unavailable_block":I?.decisionReason||"policy_blocked"};if(G==="open_new_tab"){_&&(io=!1),A?.tools?.web?.scrapeMode==="on_demand"&&Ie&&f?.targetUrl&&LC(f.targetUrl).catch(()=>{});let Y=M.decisionReason==="preflight_unavailable_fallback"&&!I;return{decision:"open_new_tab",reason:I?.reason||(Y?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:I?.decisionReason||M.decisionReason||"open_new_tab"}}return!_&&p?(io=!0,qp(jp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),es("same_tab_navigation_handoff")):_||(io=!0),{decision:"allow_same_tab",reason:I?.reason||(M.decisionReason==="preflight_unavailable_fallback"&&!I?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:I?.decisionReason||M.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(io=!0,!p||!A)return;qp(jp(f));let u=Um(),h=n("cross_host_navigation");Ck(A.siteId,{sessionId:p.sessionId,sessionToken:An,sessionTokenExpiresAt:co,openIntent:p.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:u?.handoffId||f?.handoffId,pendingRun:h?{id:h.id,text:h.text,startedAt:h.startedAt,attempts:h.attempts,taskBoundaryId:h.taskBoundaryId||qe}:void 0,handoff:u?{handoffId:u.handoffId,sourceLogicalTabId:u.sourceLogicalTabId,runId:u.runId,targetUrl:u.targetUrl,createdAt:u.createdAt}:void 0,activeTask:p.activeTask?{taskId:p.activeTask.taskId,status:p.activeTask.status}:void 0,taskEpoch:p.taskEpoch,timestamp:Date.now()}),es("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Ut==="observer"?"observer":"controller";At?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Wc(r,t)});let o=new MessageChannel;qb(o.port1,{getSnapshot:()=>At.getSnapshot(),getPageData:async f=>{let u=A||e,h=Number(f?.tabId),b=j?.getLocalLogicalTabId();if(!Number.isFinite(h)||h<=0||h===b||!j){let k=await At.getPageData(f);return jd(k,"local"),k}let S=j.listTabs().find(k=>k.logicalTabId===h);if(!S){let k=qa().includes(h);return gc({logicalTabId:h,external:!1},k?"detached_runtime_placeholder":"target_tab_missing")}if(S.runtimeId===Et){let k=await At.getPageData(f);return jd(k,"local-target"),k}if(S.external)return gc(S,"external_domain_inaccessible");if(!S.runtimeId||!j.isTabAlive(h))return gc(S,"target_tab_inactive");try{let k=await j.sendCrossTabRpc(S.runtimeId,"getPageData",f,15e3);return jd(k,"cross-tab"),k}catch{return gc(S,"cross_tab_rpc_failed")}},executeTool:async f=>{let u=A||e,h=f?.payload?.forceLocal===!0,b=String(f?.call?.name||"").trim(),v=Number(f?.call?.args?.tab_id),S=j?.getActiveLogicalTabId(),k=Number.isFinite(v)&&v>0?v:S;if(PC(b)){let I=f?.call?.serverResult;return I?I.success?{success:!0,output:I.data}:{success:!1,error:I.error||"Server-side execution failed"}:OC({call:f?.call,routeTabId:Number.isFinite(Number(k))?Number(k):void 0,runtimeCfg:u})}if(h)return At.executeTool(f.call,f.payload);let x=j?.getLocalLogicalTabId();if(!k||k===x||!j)return At.executeTool(f.call,f.payload);let _=j.listTabs().find(I=>I.logicalTabId===k);if(!_){let I=qa().includes(k);return bc(u,{logicalTabId:k,external:!1},I?"detached_runtime_placeholder":"target_tab_missing")}if(_.external)return bc(u,_,"external_tab_action_blocked");if(_.runtimeId===Et)return At.executeTool(f.call,f.payload);if(!_.runtimeId||!j.isTabAlive(k))return bc(u,_,"target_tab_inactive");try{return await j.sendCrossTabRpc(_.runtimeId,"executeTool",f,2e4)}catch{return bc(u,_,"cross_tab_execute_failed")}},executeClientTool:f=>At.executeClientTool(f.name,f.args),listClientTools:()=>At.listClientTools(),getTabContext:()=>{let f=j?.getLocalLogicalTabId(),u=j?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:u||f||1,runtimeId:Et,mode:Ut,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!j)return[];let f=j.listTabs({scope:"all"}),u=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],h=new Set(qa()),b=new Map,v=S=>{let k=Number(S?.logicalTabId||S?.id);!Number.isFinite(k)||k<=0||b.set(k,{...b.get(k)||{},...S,logicalTabId:k,id:k})};for(let S of f)v(S);for(let S of u){let k=Number(S?.logicalTabId);!Number.isFinite(k)||k<=0||(S.runtimeId||S.external||h.has(k))&&v(S)}return[...b.values()].sort((S,k)=>Number(S.logicalTabId)-Number(k.logicalTabId))}}),o.port1.start?.();let i=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",import.meta.url).toString(),a=i;try{let f=window.location.origin,u=new URL(i).origin;if(f!==u){let h=new Blob([`import '${i}';`],{type:"application/javascript"});a=URL.createObjectURL(h)}}catch{}ct=new Worker(a,{type:"module"}),ct.postMessage({type:"init",config:{...e,...Zi(),pageConfig:jc(A),publicKey:void 0,authToken:Bn(e),sessionToken:An,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!p)return;let u=p.pendingRun;if(u){li(u.id),ct?.postMessage({type:"cancel_run",runId:u.id}),ai(u.id,f,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:u.id,reason:f}).catch(()=>{}),j?.releaseWorkflowLock(u.id),j?.setActiveRun(void 0),Qt(void 0),p.workerState=void 0,j?.setWorkerContext(void 0),qe=Gr(),p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),Tw(f),Gt(void 0),Tt({kind:"info",title:"Run cancelled",status:"info"}),Rn("system","Task cancelled.",!0),Ki=void 0,uo=void 0,is=0,Qe();return}let h=qr(p.workerState?.pendingAskUser?.questions).length>0,b=p.activeTask?.status;!h&&b!=="running"||(qe=Gr(),p.workerState=void 0,p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),Qt(void 0),xC(f),j?.endTask(f),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Gt(void 0),Ki=void 0,uo=void 0,is=0,Tt({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Qe())},c={siteId:e.siteId,resolveElement:f=>_k(f),getLocalLogicalTabId:()=>j?.getLocalLogicalTabId(),panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:Ow(ci(e.ui?.shortcuts||[])),experience:vu(e),greeting:xu(e),voice:ch(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:jr?.name,onVoiceTelemetry:(f,u)=>{R1(f,u)},onShortcutClick:f=>{let u=String(f.prompt||"").trim();u&&_r(u,{routing:f.routing,narrationEnabledForRun:em,narrationPreferenceSource:tm,narrationRunKind:f.runKind,narrationLanguage:rs})},onSend:(f,u)=>{_r(f,{askUserAnswers:u?.askUserAnswers,attachments:u?.attachments,narrationEnabledForRun:u?.narrationEnabledForRun===!0,narrationPreferenceSource:u?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:u?.narrationRunKind,narrationLanguage:u?.narrationLanguage})},onOpenConversations:()=>{ym("drawer_open").catch(()=>{})},onNarrationPreferenceChange:(f,u,h,b)=>{em=u&&f,tm=h==="visitor"?"visitor":"default",rs=b},onRequestControl:()=>{F1()?Tt({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):Rn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{wu({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{uh({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=ti;if(f){if(f.kind==="resume_run"){let u=Rt(p?.pendingRun);if(or(),!u||u.id!==f.runId){Gt("Previous task is no longer resumable.");return}lo({overridePolicyAction:"auto_resume"});return}_r(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=ti;if(f){if(f.kind==="resume_run"){let u=String(p?.pendingRun?.id||"").trim();if(or(),!u||u!==f.runId)return;th({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}_r(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!ie||!p)return;let u=ie.getActiveTask();u&&le&&(u.scrollPosition=le.getScrollPosition());let h=String(j?.getState()?.activeRun?.runId||"").trim(),v=!!(String(p.pendingRun?.id||"").trim()||h);if(u&&u.taskId!==f&&v){Rn("system","Finish the active run before switching conversations.",!0);return}let S=ie.switchActiveTask(f);if(!S){(async()=>{let k=await Sr?.get(f);!k&&Hi&&(k=await Hi.get(f).catch(()=>null),k&&Sr?.upsert(k));let x=k?.payload?.taskRecord;if(!x)return;ie?.createTask("conversation_history_restore",x);let C=ie?.switchActiveTask(x.taskId);C&&(vm(C,{replayUi:!0}),p.activeTaskId=C.taskId,le?.setActiveConversationId(C.taskId),so(),Qe())})().catch(()=>{});return}vm(S,{replayUi:!0}),p.activeTaskId=f,le&&(requestAnimationFrame(()=>{S.scrollPosition!=null&&le.setScrollPosition(S.scrollPosition)}),le.setActiveConversationId(f)),so(),Qe()},onDeleteConversation:f=>{ie&&(ie.deleteTask(f),Sr?.remove(f,{deletedAt:Date.now()}),Hi?.delete(f).catch(()=>{}),so(),Qe())},onResumeTask:f=>{if(!ie)return;ie.dispatch(f,{type:"RESUME"}).accepted&&(le?.hidePausedTaskBanner(),ie.assignWorker(f,{}),so(),Qe())},onCancelPausedTask:f=>{if(!ie)return;ie.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(le?.hidePausedTaskBanner(),ie.archiveTask(f),so(),Qe())},onTabClick:f=>{j?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{ri=!0,Zc(),p&&(p.uiOpen=!0,p.uiHidden=!1,Qe()),Kn(A),gt("open")},onClose:()=>{p&&(p.uiOpen=!1,Qe()),Kn(A),gt("close")}};le=gv(c),or(),hu(p?.uiMessages||[],p?.timeline||[]),gu(p),ds(),so(),ym("boot").catch(()=>{}),p?.executionMode&&le.setExecutionMode(p.executionMode,{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),controllerRuntimeId:j?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:uw(),note:fw(p.executionMode)}),ct.onmessage=f=>{$C(f.data||{})};let l=()=>{j?.registerCurrentTab(window.location.href,document.title),j?.broadcastNavigation(window.location.href,document.title),tl("navigation"),el("navigation"),hs("navigation")};Wa||(Wa=History.prototype.pushState),Ka||(Ka=History.prototype.replaceState);let d=Wa.bind(history),m=Ka.bind(history);history.pushState=function(...f){let u=d(...f);return setTimeout(l,0),u},history.replaceState=function(...f){let u=m(...f);return setTimeout(l,0),u},qi(window,"popstate",l),p?.uiHidden?le.hide():(le.show(),p?.uiOpen??!!e.openOnInit?le.open():le.close()),p&&(p.uiHidden=!!p.uiHidden,p.uiOpen=!!p.uiOpen,Qe()),j&&(rh(j.getState(),"remote"),Ji(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),$c()}function lu(e){if(e=Dw(e),Zo)return _m(e),Zo;om&&Em(),om=!0,Mo=xd(),Et=g1(e.siteId),Xt=Kx(e),Sr=hk({siteId:e.siteId,visitorId:Xt||Et}),Hi=new wd({apiBase:e.apiBase,getSessionToken:()=>Bn(A),siteId:e.siteId,visitorId:Xt||Et}),jr=e.visitor||v1(e.siteId),ri=!1,ji=!1,Zc(),Xi(),wn=null,Wn=!1;let t=e.sessionId?.trim(),n=k1(e.siteId),r=!t&&e.sessionScope!=="tab"&&Xt?hx(e.siteId,Xt):void 0,o=Hd(e.siteId,t||r),i=Qa(e.siteId),a=Array.from(new Set([t?o:n,o,n,r?Hd(e.siteId,r):void 0,i].filter(x=>!!x))),s=null,c=null;for(let x of a){let C=X1(x);if(C){s=C,c=x;break}}qn=c||o,Ro=i!==qn?i:null;let l=a.filter(x=>x!==qn);lm(e.siteId,qn);let d=s?null:Ip(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&Ip(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(rt("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),uc(e.siteId)),d&&(uc(e.siteId),On=!0,Wn=!0,d.openIntent==="preserve_if_running"&&gx({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&tu(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&Xt?hx(e.siteId,Xt):void 0,u=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),h=s;if(!s&&d){let x=dm(d.sessionId,Et),C=String(d.activeTask?.status||"").trim().toLowerCase(),_=!C||C==="running";d.pendingRun&&_&&(x.pendingRun=Rt({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(x.lastNavigationHandoff=Po({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(x.activeTask={...Gn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),x.taskEpoch=d.taskEpoch||1,Op(d.openIntent)&&(x.uiHidden=!1,x.uiOpen=!0),h=x}p=Hc(h,u,Et),m&&p.sessionId!==m&&(p=dm(m,Et));let b=w1(e.siteId);qe=p1(p),b&&p.activeTask?.status==="running"&&(Wn=!0,Op(b.openIntent)&&(p.uiHidden=!1,p.uiOpen=!0,gx({runId:b.runId,taskId:p.activeTask?.taskId})),p.pendingRun=Rt({...p.pendingRun||{},id:p.pendingRun?.id||b.runId,text:p.pendingRun?.text||b.text||Cn||"Continue task",startedAt:p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||b.taskBoundaryId||qe,resumeRequired:!0,resumeReason:b.resumeReason||p.pendingRun?.resumeReason||"agent_navigation"})),p.pendingRun&&!p.pendingRun.taskBoundaryId&&(p.pendingRun=Rt({...p.pendingRun,taskBoundaryId:qe})),p.workerState&&!p.workerState.taskBoundaryId&&(p.workerState=$r(vn({...p.workerState,taskBoundaryId:qe}),qe)),Vc(p),A={...e,deepLink:Zs(e.deepLink),pageConfig:Lo(e.pageConfig),visitorId:Xt||e.visitorId,sessionId:m||p.sessionId,domainScopeMode:zc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},timing:{navigationDelayMs:bn(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:bn(e.timing?.actionTimeoutMs,Dc,12e4),domSettleDebounceMs:bn(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:bn(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:bn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:bn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:bn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:Km(e.transport?.activation),idleCloseMs:Gm(e.transport?.idleCloseMs)},stability:{maxPersistBytes:ss(e.stability?.maxPersistBytes,Vt.localPersistBytes),maxSnapshotBytes:ss(e.stability?.maxSnapshotBytes,Vt.snapshotBytes)},task:{singleActiveScope:Yx(e.task?.singleActiveScope),tabScope:Jx(e.task?.tabScope),resume:{mode:$m(e.task?.resume?.mode),ttlMs:Zd(e.task?.resume?.ttlMs)},followup:{mode:Qx(e.task?.followup?.mode),ttlMs:Vm(e.task?.followup?.ttlMs),minLexicalOverlap:Wm(e.task?.followup?.minLexicalOverlap)},observerInput:qm(e.task?.observerInput),autoResumePolicy:jm(e.task?.autoResumePolicy)},chat:{inRun:Zx(e.chat?.inRun),resumeFollowup:{mode:ew(e.chat?.resumeFollowup?.mode),maxTurns:tw(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:nw(e.external?.intentSelection),requireUserConfirm:rw(e.external?.requireUserConfirm),adversarialGate:ow(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:iw(e.features?.rover_v2_kernel_runtime)}},p.sessionId=A.sessionId,p.runtimeId=Et,qn=Hd(e.siteId,p.sessionId),Ro=qn!==Qa(e.siteId)?Qa(e.siteId):null,lm(e.siteId,qn),p.executionMode=p.executionMode||"controller",p.timeline=Wr(p.timeline),p.uiMessages=Vr(p.uiMessages),p.activeTask=di(p.activeTask,Gn("boot")),Np(p.activeTask?.status)&&(p.pendingRun=void 0,p.workerState=void 0,On=!1,Wn=!1,Xi(),uc(e.siteId),Gx(e.siteId)),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1),Ut=p.executionMode,jr&&Wx(e.siteId,jr);let v={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(p.tasks&&Object.keys(p.tasks).length>0)ie=Oa.fromPersistedState({tasks:p.tasks,activeTaskId:p.activeTaskId,taskOrder:p.taskOrder},v);else{ie=Oa.fromV1State(p,v);let{tasks:x,activeTaskId:C,taskOrder:_}=ie.toPersistedState();p.tasks=x,p.activeTaskId=C,p.taskOrder=_}let S=ie.getActiveTask();S&&vm(S,{replayUi:!1}),Qe();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}Ir=!1,os=!1,Kr=!1,Vn=0,Yd=null;try{let x=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(x){let{t:C,e:_}=JSON.parse(x);C&&typeof C=="string"&&C.startsWith("rvrsess_")&&Number(_)>Date.now()+2e3&&tu(C,Number(_))}}catch{}IM(A),fo(A),tl("boot"),el("boot"),hs("boot");let k=!!(An&&co>Date.now()+2e3);if((!Ie||k)&&(os=!0),qn&&FC(qn,l.length?l:Ro?[Ro]:void 0),uC(),Xr(!0),On&&setTimeout(()=>{On&&!Kr&&(On=!1,lo())},wR),Zo={boot:lu,init:Xw,update:_m,shutdown:Em,open:Un,close:dh,show:Yw,hide:Jw,send:Qw,newTask:wu,endTask:uh,getState:n0,getAgentCard:zx,requestSigned:e0,attachLaunch:Zw,registerPromptContextProvider:t0,registerTool:r0,identify:Gw,on:Fx},kM(),Fd.length){for(let x of Fd)Fm(x);Fd.length=0}return Zo}function Xw(e){return lu(e)}function _m(e){if(!Zo||!ct||!A)return;e=Dw(e),A={...A,...e,deepLink:Zs({...A.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?Lo(e.pageConfig):A.pageConfig,domainScopeMode:zc(e.domainScopeMode??A.domainScopeMode),taskRouting:{...A.taskRouting,...e.taskRouting},timing:{...A.timing,...e.timing,navigationDelayMs:bn(e.timing?.navigationDelayMs??A.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:bn(e.timing?.actionTimeoutMs??A.timing?.actionTimeoutMs,Dc,12e4),domSettleDebounceMs:bn(e.timing?.domSettleDebounceMs??A.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:bn(e.timing?.domSettleMaxWaitMs??A.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:bn(e.timing?.domSettleRetries??A.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:bn(e.timing?.sparseTreeRetryDelayMs??A.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:bn(e.timing?.sparseTreeRetryMaxAttempts??A.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...A.transport,...e.transport,activation:Km(e.transport?.activation??A.transport?.activation),idleCloseMs:Gm(e.transport?.idleCloseMs??A.transport?.idleCloseMs)},agentDiscovery:{...A.agentDiscovery,...e.agentDiscovery},stability:{...A.stability,...e.stability,maxPersistBytes:ss(e.stability?.maxPersistBytes??A.stability?.maxPersistBytes,Vt.localPersistBytes),maxSnapshotBytes:ss(e.stability?.maxSnapshotBytes??A.stability?.maxSnapshotBytes,Vt.snapshotBytes)},task:{...A.task,...e.task,singleActiveScope:Yx(e.task?.singleActiveScope??A.task?.singleActiveScope),tabScope:Jx(e.task?.tabScope??A.task?.tabScope),resume:{mode:$m(e.task?.resume?.mode??A.task?.resume?.mode),ttlMs:Zd(e.task?.resume?.ttlMs??A.task?.resume?.ttlMs)},followup:{mode:Qx(e.task?.followup?.mode??A.task?.followup?.mode),ttlMs:Vm(e.task?.followup?.ttlMs??A.task?.followup?.ttlMs),minLexicalOverlap:Wm(e.task?.followup?.minLexicalOverlap??A.task?.followup?.minLexicalOverlap)},observerInput:qm(e.task?.observerInput??A.task?.observerInput),autoResumePolicy:jm(e.task?.autoResumePolicy??A.task?.autoResumePolicy)},chat:{...A.chat,...e.chat,inRun:Zx(e.chat?.inRun??A.chat?.inRun),resumeFollowup:{mode:ew(e.chat?.resumeFollowup?.mode??A.chat?.resumeFollowup?.mode),maxTurns:tw(e.chat?.resumeFollowup?.maxTurns??A.chat?.resumeFollowup?.maxTurns)}},external:{...A.external,...e.external,intentSelection:nw(e.external?.intentSelection??A.external?.intentSelection),requireUserConfirm:rw(e.external?.requireUserConfirm??A.external?.requireUserConfirm),adversarialGate:ow(e.external?.adversarialGate??A.external?.adversarialGate)},taskContext:{...A.taskContext,...e.taskContext},features:{...A.features,...e.features,rover_v2_kernel_runtime:iw(e.features?.rover_v2_kernel_runtime??A.features?.rover_v2_kernel_runtime)},ui:{...A.ui,...e.ui,agent:{...A.ui?.agent,...e.ui?.agent},experience:{...A.ui?.experience,...e.ui?.experience},panel:{...A.ui?.panel,...e.ui?.panel},voice:{...A.ui?.voice,...e.ui?.voice}},tools:{...A.tools,...e.tools,client:e.tools?.client??A.tools?.client,web:{...A.tools?.web,...e.tools?.web}}},Xt=Kx(A),Xt&&(A.visitorId=Xt),e.sessionId&&p?(p.sessionId=e.sessionId,qn=Hd(A.siteId,p.sessionId),Ro=qn!==Qa(A.siteId)?Qa(A.siteId):null,lm(A.siteId,qn),Qe(),iu(A)):(e.sessionScope||e.tabPolicy)&&iu(A),ih(A),pu(A),fo(A);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(At){typeof e.allowActions=="boolean"&&At.setAllowActions(e.allowActions&&Ut==="controller");let n=Ut==="controller"&&(A?.allowActions??!0),r=Ut==="observer"?"observer":"controller";At?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Wc(r,n)}),(e.allowedDomains||e.domainScopeMode)&&At.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:zc(e.domainScopeMode??A.domainScopeMode)})}ct.postMessage({type:"update_config",config:{...e,...Zi(),pageConfig:jc(A),publicKey:void 0,authToken:Bn(A),sessionToken:An,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Co,sessionSeq:Ie?.getLastSeq?.()??0}}),cu(A),t?Kw(A):$c(),e.visitor&&Gw(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||Hm(p)?Un():dh()),tl("update"),el("update"),hs("update"),Xr()}function Em(){Om(),Bm(),$x(),Dm(),Qd(),Xi(),or(),Za(),sh(!0),zi(!0),Ym(),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1}),Yt?.stop(),Yt=null,Ie?.stop(),Ie=null,An=void 0,co=0,Co=1,ni(void 0),Oc="",j?.stop(),j=null,ie?.shutdown(),ie=null,ct?.terminate(),ct=null,le?.destroy(),le=null,At=null,A=null,Ir=!1,Kr=!1,Vn=0,Bt&&(clearTimeout(Bt),Bt=null),Go&&(clearTimeout(Go),Go=null),Ud=!1,Pn.clear(),ao.clear(),Tr.clear(),oo.clear(),Nc(),Fi(),Ui="",Ac="",wc="",QC(),$a="",Bi="",su(),Mc="",ja="",Jo=null,yn=!1,oi=!1,Bc.clear(),am=!1,io=!1,qe="",Et="",Xt=void 0,jr=void 0,ri=!1,ji=!1,Zc(),wn=null,Zp="",ns=!1,Bd=!1,Va=!1,tr=[],Nx=0,Jp=0,Qp=0,Xd=0,_c=!1,No&&(clearTimeout(No),No=null),gm="",za="",Ut="controller",Hr=!0,ti=null,Mo=null,Yd=null,Sc=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}Zo=null;for(let e of ei)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(ei.length=0,Wa){try{History.prototype.pushState=Wa}catch{}Wa=null}if(Ka){try{History.prototype.replaceState=Ka}catch{}Ka=null}nm=!1,rm=!1,im=!1,yn=!1,oi=!1,om=!1}function Un(){ri=!0,Zc(),oi=!0,le?.show(),le?.open(),p&&(p.uiHidden=!1,p.uiOpen=!0,Qe()),Kn(A)}function dh(){le?.close(),Xi(),p&&(p.uiOpen=!1,Qe()),Kn(A)}function Yw(){le?.show(),p&&(p.uiHidden=!1,Qe()),Kn(A)}function Jw(){le?.hide(),Xi(),p&&(p.uiHidden=!0,p.uiOpen=!1,Qe()),Kn(A)}function Qw(e){e?.trim()&&_r(e)}async function Zw(e){if(!A)return null;await fo(A);let t=await Ie?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Ge?.requestId===t.requestId?Ge:null;return Ge={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:au(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},$i(),au(t)?Hw(t):Un(),t}async function e0(e,t={}){if(!A)throw new Error("Rover is not booted.");await fo(A),await Ie?.ensureSession(!1);let n=Ie?.getSessionToken()||An||Bn(A);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),p?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",p.sessionId),A.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",A.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function t0(e){return typeof e!="function"?()=>{}:(Bc.add(e),()=>{Bc.delete(e)})}function wu(e){if(!p)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Ki=void 0,uo=void 0,is=0,p.pendingRun&&(li(p.pendingRun.id),ct?.postMessage({type:"cancel_run",runId:p.pendingRun.id}),ai(p.pendingRun.id,t,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:p.pendingRun.id,reason:t}),j?.releaseWorkflowLock(p.pendingRun.id)),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),Kr=!1,Vn=0,Jc(),ie){let i=ie.createTask(t);ie.switchActiveTask(i.taskId),ie.dispatch(i.taskId,{type:"START",reason:t})}let r=ui({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(p.taskEpoch)||1);n&&(p.uiMessages=[],p.timeline=[],p.uiStatus=void 0,p.transientStatus=void 0,eh()),j?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),hr({forceReset:!0,persist:!1}),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),ww([]),Gt(void 0),Qe(),ct?.postMessage({type:"start_new_task",taskId:r.taskId,...Zi()}),Ie?.controlRun({action:"new_task",reason:t}),gt("visit_started",{visitId:r.taskId,reason:t,taskEpoch:o})}function uh(e){if(!p)return;let t=e?.reason||"manual_end_task";if(Ki=void 0,uo=void 0,is=0,Kr=!1,Vn=0,Wn=!1,Jc(),ie){let o=ie.getActiveTask();o&&ie.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=p.pendingRun?.id,r=ui({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(li(n),ct?.postMessage({type:"cancel_run",runId:n}),ai(n,t,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:n,reason:t}),j?.releaseWorkflowLock(n)),Qt(void 0),qe=Gr(),p.workerState=void 0,p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),Gt(void 0),Ie?.controlRun({action:"end_task",runId:n,reason:t}),j?.endTask(t),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Qe(),Tt({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),gt("visit_ended",{visitId:r.taskId,reason:t,endedAt:r.endedAt}))}function n0(){let e=I1(Bn()),t=p?oh(p):null,n=Px();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Ut,runtimeId:Et,runtimeState:t,sharedState:j?.getState()||null,launchBinding:n,pendingTaskSuggestion:ti,currentAgentAttribution:e}}function r0(e,t){let n=t1(e);if(!Zo||!At||!ct){Fd.push({def:n,handler:t});return}Fm({def:n,handler:t})}function AM(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var _B={normalizePendingRunResumeReason:ec,sanitizeWorkerState:vn,cloneRuntimeStateForCheckpoint:oh,getPersistGovernorConfig:()=>({minPersistIntervalMs:bm,maxCoalesceDelayMs:kw}),getTelemetryFastLaneEvents:()=>Array.from(Lx.values()),normalizePromptContextEntry:Ox,buildPublicRunStartedPayload:Bx,buildPublicRunLifecyclePayload:Ux};function RM(){let e=window,t=e.rover,n=((r,...o)=>{let i=AM(r),a=i?n[i]:void 0;if(typeof a=="function")return a(...o)});if(n.boot=lu,n.init=Xw,n.update=_m,n.shutdown=Em,n.open=Un,n.close=dh,n.show=Yw,n.hide=Jw,n.send=Qw,n.attachLaunch=Zw,n.newTask=wu,n.endTask=uh,n.getState=n0,n.getAgentCard=zx,n.requestSigned=e0,n.registerPromptContextProvider=t0,n.registerTool=r0,n.on=Fx,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...i]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...i)}if(!Zo){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=qv(r);o&&lu(o)}}}RM();export{_B as __roverInternalsForTests,Zw as attachLaunch,lu as boot,dh as close,Mi as createRoverAgentCard,lc as createRoverAgentCardJson,RI as createRoverAgentDiscoveryTags,tI as createRoverBookmarklet,eI as createRoverConsoleSnippet,jI as createRoverOwnerInstallBundle,nI as createRoverScriptTagSnippet,yp as createRoverServiceDescLinkHeader,cc as createRoverSiteProfile,bd as createRoverSiteProfileJson,II as createRoverWellKnownAgentCard,AI as createRoverWellKnownSiteProfile,uh as endTask,zx as getAgentCard,n0 as getState,Jw as hide,Gw as identify,Xw as init,RM as installGlobal,wu as newTask,Un as open,qv as readRoverScriptDataAttributes,t0 as registerPromptContextProvider,r0 as registerTool,e0 as requestSigned,Qw as send,Yw as show,Em as shutdown,_m as update};
4593
+ `);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function Q1(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=hw(li([{type:"tool_output",data:n}]));if(J1(n,r))return li([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function er(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function gw(e){if(!e||typeof e!="object")return[];let t=e,n=[er(t.tab_id),er(t.logical_tab_id),er(t.tabId),er(t.logicalTabId)].filter(r=>!!r);return mr(n)}function Z1(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[er(t.tab_id),er(t.logical_tab_id),er(t.tabId),er(t.logicalTabId),er(n?.tab_id),er(n?.logical_tab_id),er(n?.tabId),er(n?.logicalTabId)].filter(o=>!!o);return mr(r)}function bw(e){return(typeof e?.toolCallId=="string"&&e.toolCallId.trim()?e.toolCallId.trim():typeof e?.call?.id=="string"&&e.call.id.trim()?e.call.id.trim():"").slice(0,128)}function au(e){let t=bw(e),n=er(e?.logicalTabId)??er(e?.logical_tab_id)??gw(e?.call?.args)[0];if(n)return t&&(qa.set(t,n),Zd(qa,80)),n;let r=t?qa.get(t):void 0;if(r)return r;let o=j?.getActiveLogicalTabId()??j?.getLocalLogicalTabId();return o&&t&&(qa.set(t,o),Zd(qa,80)),o}function eC(e){let t=bw(e);t&&qa.delete(t)}function tC(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function yw(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function us(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=eh(o);i!==void 0&&r.push(i)}return r}function vw(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let i=t[o]?.accTreeId;typeof i=="string"&&i.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function nC(e,t){if(!No)return null;try{let n=await No.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await No.readAsync(r);if(o)return o}return null}catch{return null}}function Vr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Kd)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:Do("msg"),role:r,text:String(n?.text||""),blocks:li(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}var rC=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function oC(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function iC(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!rC.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=oC(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?Zt(t.toolCallId.trim(),128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?Zt(t.targetLabel.trim(),64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Wr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Gd)){let r=Zt(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),i=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:Do("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:li(n?.detailBlocks),status:i==="pending"||i==="success"||i==="error"||i==="info"?i:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(n?.elementId))?Math.trunc(Number(n.elementId)):void 0,toolName:typeof n?.toolName=="string"?Zt(n.toolName,120):void 0,narration:typeof n?.narration=="string"?Zt(n.narration.replace(/\s+/g," ").trim(),220):void 0,narrationActive:typeof n?.narrationActive=="boolean"?n.narrationActive:void 0,responseKind:Tm(n?.responseKind),actionCue:iC(n?.actionCue)})}return t}function Yr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-ZA)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=Zt(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Yc(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=Zt(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,a=typeof e?.stage=="string"&&e.stage.trim()?Zt(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:i,stage:a}}function aC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,i=Array.isArray(t.blocks)?t.blocks.length:0;return o!==i?o-i:String(e.text||"").length-String(t.text||"").length}function sC(e,t){let n=new Map;for(let r of Vr(e))n.set(r.id,r);for(let r of Vr(t)){let o=n.get(r.id);(!o||aC(r,o)>0)&&n.set(r.id,r)}return Vr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function cC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,i=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==i?o-i:String(e.detail||"").length-String(t.detail||"").length}function lC(e,t){let n=new Map;for(let r of Wr(e))n.set(r.id,r);for(let r of Wr(t)){let o=n.get(r.id);(!o||cC(r,o)>0)&&n.set(r.id,r)}return Wr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function kn(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],i=n.slice(-Cm).map(b=>yw(b)).filter(b=>!!b),a=us(r,Mm),s=us(vw(o),Nm),c=qr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=$e(t||void 0),u=$e(m?.boundaryId||f);m&&f&&u&&u!==f&&(m=void 0);let h=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:h||void 0,seedChatLog:Yr(e.seedChatLog),files:Zm(e.files),history:i,plannerHistory:a,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function $c(e,t,n){if(!e||typeof e!="object")return fm(t,n);let r=Gn(),o=fi(e.activeTask,r),i=Rt(e.pendingRun),a=o.status==="running"?i:void 0,s=a?.taskBoundaryId&&String(a.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=hs(e.taskTabScope,s),l={version:Rm,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Zt(e.uiStatus,300):void 0,transientStatus:Yc(e.transientStatus??e.uiStatus,{runId:i?.id,taskId:o?.taskId}),uiMessages:Vr(e.uiMessages),timeline:Wr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:kn(e.workerState),pendingRun:a,taskTabScope:c,lastNavigationHandoff:Oo(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?Zt(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:Lm(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=Fa.fromV1State(l),{tasks:f,activeTaskId:u,taskOrder:h}=m.toPersistedState();l.tasks=f,l.activeTaskId=u,l.taskOrder=h,m.shutdown()}return l}function fi(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?Zt(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function kw(e,t){return fi(e,t)}function Jc(e){if(!e)return;let t=qr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Yr(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Cm).map(n=>yw(n)).filter(n=>!!n):[],plannerHistory:us(e.plannerHistory,Mm),agentPrevSteps:us(vw(e.agentPrevSteps),Nm),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function mr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function hs(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=mr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function Rt(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Cn=="string"&&Cn.trim()?Cn.trim():"Continue task",o=n||r,i=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:i,resumeRequired:e.resumeRequired===!0,resumeReason:nc(e.resumeReason)}}function dC(){return ds(A?.stability?.maxPersistBytes,Vt.localPersistBytes)}function uC(e,t){let n={...e,uiMessages:Vr(e.uiMessages).slice(-Kd),timeline:Wr(e.timeline).slice(-Gd),workerState:kn(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Cm):[],plannerHistory:us(n.workerState.plannerHistory,Mm),agentPrevSteps:us(n.workerState.agentPrevSteps,Nm)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:Gn("persist_trim")}}function ns(e){if(!(!p||!qn))try{if(ie){Qc(),ie.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:i}=ie.toPersistedState();p.tasks=r,p.activeTaskId=o,p.taskOrder=i}let t=dC();p=uC(p,t);let n=JSON.stringify({s:p.sessionId,p:p.pendingRun?.id,pa:p.pendingRun?.autoResume,t:p.activeTask?.status,te:p.taskEpoch,m:p.uiMessages?.length,tl:p.timeline?.length,o:p.uiOpen,h:p.uiHidden,e:p.executionMode,at:p.activeTaskId});if(n===ym&&!e?.markCheckpointDirty)return;ym=n,p.updatedAt=Date.now(),No?.write(qn,p),Co&&Co!==qn&&(No?.remove(Co),Co=null),!is&&e?.markCheckpointDirty!==!1&&Yt?.markDirty(),hC("runtime_persist")}catch{}}var Ui=!1,Fi=!1,ym="",kc=0,ja=0,vm=2e3,xw=2e3;function rs(e){ns({markCheckpointDirty:!0}),Yt?.syncNow({push:!0,pull:!1}),rt("checkpoint_state",{event:"critical_flush",reason:e})}function Qe(e){e?.markCheckpointDirty!==!1&&(Fi=!0);let t=Date.now();if(!Ui)ja=t;else if(ja>0&&t-ja>=xw){Ui=!1,ja=0;let n=Fi;Fi=!1,kc=t,ns({markCheckpointDirty:n});return}Ui||(Ui=!0,setTimeout(()=>{Ui=!1,ja=0;let n=Fi;Fi=!1;let r=Date.now();if(r-kc<vm){Ui=!0,setTimeout(()=>{Ui=!1,ja=0,kc=Date.now(),ns({markCheckpointDirty:Fi||n}),Fi=!1},vm-(r-kc));return}kc=r,ns({markCheckpointDirty:n})},0))}function fC(){if(om)return;om=!0,im||(im=!0,Gi(document,"visibilitychange",()=>{Xr()},{passive:!0})),Gi(window,"pagehide",()=>{if(An&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:An,e:co}))}catch{}if(p?.pendingRun?.autoResume){let r=p.pendingRun.resumeReason||(io?"agent_navigation":"page_reload"),o=Rt({...p.pendingRun,resumeRequired:!0,resumeReason:r});if(p.pendingRun=o,o&&A?.siteId){let i=Oo(p?.lastNavigationHandoff);w1(A.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||qe,resumeReason:r,handoffId:i?.handoffId,openIntent:p.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=zm();j?.broadcastClosing(Vx(n)),p?.pendingRun&&j?.releaseWorkflowLock(p.pendingRun.id),ns(),qi(!0),Qm(),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1}),Yt?.stop(),j?.stop()},{capture:!0}),Gi(window,"pageshow",n=>{n.persisted&&(j&&(j.reloadFromStorage(),j.registerCurrentTab(window.location.href,document.title||void 0),j.claimLease(!1)),Kr=!1,Vn=0,A&&hu(A),Xr(!0))})}function pC(e="implicit"){if(p)return p.activeTask||(p.activeTask=Gn(e),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1)),p.activeTask}function pi(e,t){if(!p)return;let n=p.activeTask?.status,r=$e(qe),o=zk({task:p.activeTask,taskEpoch:p.taskEpoch},e,{createTask:(i,a,s)=>Gn(i,a,s)});if(p.activeTask=o.task,p.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(qe=Gr(),hr({forceReset:!0,persist:!1})):hr({persist:!1,appendSeed:!1}),o.clearPendingRun&&p.pendingRun&&Qt(void 0),o.clearWorkerState&&p.workerState&&(p.workerState=void 0,j?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Bt&&(clearTimeout(Bt),Bt=null),Zc()),t?.syncShared!==!1&&j?.syncTask({...o.task},p.taskEpoch),t?.persist!==!1){let i=$e(qe);n!==o.task.status?rs("run_status_transition"):!!i&&i!==r?rs("task_boundary_transition"):Qe()}if(Xr(),cw(),ie){let i=ie.toPersistedState();p.tasks=i.tasks,p.activeTaskId=i.activeTaskId,p.taskOrder=i.taskOrder}return o.task}function so(){if(!ie||!le)return;Qc();let e=ie.listTasks(),t=ie.getActiveTask()?.taskId;le.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&le.setActiveConversationId(t)}function ww(e){let t=Number(e.endedAt||e.lastAssistantAt||e.lastUserAt||e.startedAt||Date.now()),n=e.rootUserInput||e.summary||e.taskId;return{conversationId:e.taskId,title:Ko(n),preview:Ko(e.summary||e.rootUserInput||""," "),status:e.state,createdAt:Number(e.startedAt||t),updatedAt:t}}function mC(){if(!ie||!p)return null;Qc();let e=ie.getActiveTask();if(!e)return null;let t=p.pendingRun,n=Array.isArray(t?.files)?t.files:[];return{summary:ww(e),payload:{uiMessages:p.uiMessages||e.uiMessages||[],timeline:p.timeline||e.timeline||[],taskRecord:{...e,uiMessages:e.uiMessages||[],timeline:e.timeline||[]},runMeta:{activeTaskId:p.activeTaskId,pendingRun:p.pendingRun?{id:p.pendingRun.id,status:p.pendingRun.status,startedAt:p.pendingRun.startedAt}:void 0},attachments:n.map(r=>({id:String(r?.id||r?.fileId||""),displayName:String(r?.displayName||r?.name||"").slice(0,180),mimeType:String(r?.mimeType||"").slice(0,120),size:Number(r?.size||r?.sizeBytes||0)||void 0,storageRef:r?.storageRef||r?.uri||void 0}))}}}function hC(e="state_persist"){!Sr||!ie||!p||$p||($p=setTimeout(()=>{$p=null;let t=mC();t&&(Sr?.upsert(t),Vi?.upsert(t).then(n=>{n&&(Sr?.upsert({summary:n,payload:t.payload}),km("cloud_upsert").catch(()=>{}))}).catch(()=>{rt("status",{event:"conversation_history_sync_failed",reason:e})}))},1e3))}async function km(e="manual"){if(!le||!Sr)return;let t=await Sr.list();if(Vi)try{let o=await Vi.list();for(let i of o.tombstones||[])i?.conversationId&&Sr.remove(i.conversationId,i);for(let i of o.conversations||[])Sr.upsert({summary:i});t=await Sr.list()}catch{rt("status",{event:"conversation_history_list_offline",reason:e})}let n=ie?.getActiveTask()?.taskId||p?.activeTaskId,r=t.map(o=>({id:o.conversationId,summary:o.title||o.preview||o.conversationId,status:o.status||"completed",updatedAt:o.updatedAt||Date.now(),isActive:o.conversationId===n}));if(!r.some(o=>o.id===n)&&ie){let o=ie.getActiveTask();if(o){let i=ww(o);r.unshift({id:i.conversationId,summary:i.title,status:i.status||"running",updatedAt:i.updatedAt,isActive:!0})}}le.setConversations(r)}function fs(){if(ie)return ie.getActiveTask()}function gC(e=p,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=$e(Ji(e)),o=String(Rt(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function bC(){let e=Yr(fs()?.seedChatLog);return e.length?e:Yr(p?.workerState?.seedChatLog)}function yC(e,t){let n=t||Gn("task_record_sync");return fi({taskId:e.taskId,status:Lk(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function xm(e,t){if(!p)return;let n=$e(e.boundaryId)||$e(e.pendingRun?.taskBoundaryId)||$e(e.workerState?.taskBoundaryId)||rr()||Gr(),r=Yr(e.seedChatLog??e.workerState?.seedChatLog),o=$r(kn(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),i=Rt(e.pendingRun),a=Yc(e.transientStatus,{runId:i?.id,taskId:e.taskId});p.activeTaskId=e.taskId,p.activeTask=yC(e,p.activeTask),p.uiMessages=Vr(e.uiMessages),p.timeline=Wr(e.timeline),p.workerState=o,p.pendingRun=i,p.taskTabScope=hs(e.tabScope,n),p.uiStatus=a?.text,p.transientStatus=a,qe=n,e.rootUserInput?.trim()&&(Cn=e.rootUserInput.trim()),t?.replayUi!==!1&&(nh(),bu(p.uiMessages,p.timeline),yu(p),ps(),le?.setRunning(!!p.pendingRun&&p.activeTask?.status==="running"),e.state==="paused"?le?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):le?.hidePausedTaskBanner())}function Sw(e){let t=Yr(e),n=fs();n&&ie&&ie.updateTask(n.taskId,r=>({...r,seedChatLog:t})),p?.workerState&&(p.workerState=kn({...p.workerState,seedChatLog:t,updatedAt:Date.now()}),j?.setWorkerContext(Jc(p.workerState)))}function Qc(){if(!p||!ie)return;let e=ie.getActiveTask();if(!e)return;let t=hc(p.activeTask?.status||"running",p.activeTask?.boundaryReason),n=Vr(p.uiMessages),r=Wr(p.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),i=kn(p.workerState),a=Rt(p.pendingRun),s=$e(a?.taskBoundaryId)||$e(i?.taskBoundaryId)||$e(e.boundaryId)||rr()||Gr(),c=hs(p.taskTabScope,s),l=Yc(p.transientStatus,{runId:a?.id,taskId:e.taskId}),d=Yr(e.seedChatLog?.length?e.seedChatLog:i?.seedChatLog);ie.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(p?.activeTask?.startedAt)||m.startedAt,endedAt:Number(p?.activeTask?.endedAt)||void 0,lastUserAt:Number(p?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(p?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:i,pendingRun:a,tabScope:c,rootUserInput:i?.rootUserInput||a?.text||m.rootUserInput||Cn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function th(e){if(!p||!ie)return;let t=gC(p,e?.preferredTaskId),n=$k(ie.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Gr(),i=hc(p.activeTask?.status||"running",p.activeTask?.boundaryReason);n=ie.createTask("adopted_continuation",{taskId:t.taskId,state:i,boundaryId:o,startedAt:Number(p.activeTask?.startedAt)||Date.now(),endedAt:Number(p.activeTask?.endedAt)||void 0,lastUserAt:Number(p.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(p.activeTask?.lastAssistantAt)||void 0,rootUserInput:kn(p.workerState)?.rootUserInput||Rt(p.pendingRun)?.text||Cn,seedChatLog:Yr(p.workerState?.seedChatLog),tabIds:hs(p.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&ie.getActiveTaskId()!==n.taskId&&ie.switchActiveTask(n.taskId),p.activeTaskId=ie.getActiveTaskId()||n.taskId,p.activeTask=fi({...p.activeTask||Gn("adopted_continuation"),taskId:p.activeTaskId},Gn("adopted_continuation",Date.now(),p.activeTaskId)),Qc();let r=ie.toPersistedState();return p.tasks=r.tasks,p.activeTaskId=r.activeTaskId,p.taskOrder=r.taskOrder,so(),ie.getTask(p.activeTaskId||n.taskId)}function vC(e,t=Date.now()){if(!p||e==="system")return;let n=pC("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var Vp="[Rover]";function kC(e){if(!(A?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=Nc;r||(Mc=document.title),Nc=!0,Vp=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||Mc||"":document.title;if(document.title=`${n} ${o}`,!es){let i=document.querySelector("title");i&&(es=new MutationObserver(()=>{if(Nc&&!document.title.startsWith(Vp)){let a=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${Vp} ${a}`}}),es.observe(i,{childList:!0,characterData:!0,subtree:!0}))}A?.ui?.tabIndicator?.faviconBadge===!0&&Xk()}function gu(){Nc&&(Nc=!1,es&&(es.disconnect(),es=null),Mc!==void 0?(document.title=Mc,Mc=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),Yk())}function Tw(e="worker_task_active",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"START",reason:e})}pi({type:"ensure_running",reason:e,at:t}),kC()}function xC(e="worker_task_complete",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"COMPLETE"})}pi({type:"terminal",terminal:"completed",reason:e,at:t}),gu()}function Bd(e="worker_task_failed",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"FAIL",error:e})}pi({type:"terminal",terminal:"failed",reason:e,at:t}),gu()}function wC(e="worker_visit_ended",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}pi({type:"terminal",terminal:"ended",reason:e,at:t}),gu()}function _w(e="worker_task_cancelled",t=Date.now()){if(ie){let n=ie.getActiveTask();n&&ie.dispatch(n.taskId,{type:"CANCEL",reason:e})}pi({type:"terminal",terminal:"cancelled",reason:e,at:t}),gu()}function or(){ni=null,le?.setTaskSuggestion({visible:!1})}function SC(e){let t=String(e?.id||"").trim();if(!t||mo())return!1;let n=String(e?.text||"").trim()||"Continue task";return ni?.kind==="resume_run"&&ni.runId===t?!1:(ni={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},le?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function Zc(){On=!1,Wn=!1,Qi(),A?.siteId&&(pc(A.siteId),Xx(A.siteId)),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1})}function nh(){le?.clearMessages(),le?.clearTimeline(),le?.setQuestionPrompt(void 0),or()}function rh(e){if(!p)return;Bt&&(clearTimeout(Bt),Bt=null),Kr=!1,Vn=0,On=!1,Wn=!1,Jt&&(clearTimeout(Jt),Jt=null);let t=Rt(p.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(ui(n),j?.releaseWorkflowLock(n),oh(n)||ci(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Qt(void 0),j?.setActiveRun(void 0),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),p.activeTask?.status==="running"?_w(e.reason):Zc(),Gt(void 0),rt("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&Tt({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&gt("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function TC(e){if(e)return $e(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function $r(e,t){if(!e)return;let n=$e(t);if(!n)return e;let r=$e(e.taskBoundaryId);if(r&&r!==n)return;let o=$e(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function ps(){if(p?.activeTask?.status!=="running"){$a="",le?.setQuestionPrompt(void 0);return}let e=rr(),t=TC(p?.workerState);if(e&&t&&t!==$e(e)){$a="",le?.setQuestionPrompt(void 0);return}let n=qr(p?.workerState?.pendingAskUser?.questions);if(!n.length){$a="",Ge&&(Ge.lastNeedsInputSignature=void 0),le?.setQuestionPrompt(void 0);return}let r=`${$e(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==$a&&($a=r,rs("question_prompt_boundary")),le?.setQuestionPrompt({questions:n}),Hw(n)}function _C(){let e=p?.pendingRun;if(!e)return!1;if(!j)return!0;let t=j?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==Et)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=cR}function EC(){if(!p?.pendingRun||_C()||!j)return;let e=p.pendingRun;if(e.resumeRequired===!0&&Rd(p.activeTask?.status))return;let t=String(Ie?.getActiveRunId()||"").trim();if(t&&t===e.id||mo())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<lR||(ui(e.id),ci(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Qt(void 0),j?.releaseWorkflowLock(e.id),j?.setActiveRun(void 0),Bt&&(clearTimeout(Bt),Bt=null))}function Rn(e,t,n=!0,r){let o=String(t||""),i=li(r?.blocks);if(!o&&(!i||i.length===0))return;let a={id:r?.id||Do("msg"),role:e,text:o,blocks:i,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return le?.addMessage(a.role,a.text,{blocks:a.blocks}),p&&n&&(p.uiMessages.push(a),p.uiMessages.length>Kd&&(p.uiMessages=p.uiMessages.slice(-Kd)),vC(a.role,a.ts),Qe()),j&&r?.publishShared!==!1&&(j.appendMessage({id:a.id,role:a.role,text:a.text,blocks:a.blocks,ts:a.ts}),j.markTaskActivity(a.role,a.ts)),a}function IC(e){for(let t of e)Rn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function Tt(e,t=!0){let n={id:e.id||Do("timeline"),kind:e.kind,title:Zt(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:li(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName,narration:e.narration,narrationActive:e.narrationActive,responseKind:e.responseKind,actionCue:e.actionCue};return le?.addTimelineEvent(n),p&&t&&(p.timeline.push(n),p.timeline.length>Gd&&(p.timeline=p.timeline.slice(-Gd)),Qe({markCheckpointDirty:!1})),j&&e.publishShared!==!1&&j.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts,elementId:n.elementId,toolName:n.toolName,narration:n.narration,narrationActive:n.narrationActive,responseKind:n.responseKind,actionCue:n.actionCue}),n}function AC(e=A){try{return xu(e)?.debugStreaming===!0?!0:tl(e)?.discoverySurface?.mode==="debug"}catch{return!1}}function RC(e){Tt({kind:"debug",title:"Frame diagnostics",detail:`${e.frameCount} iframe${e.frameCount===1?"":"s"} inspected for child element availability.`,status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics",data:e}],publishShared:!1},!0)}function wm(e){let t=Date.now();if(t-dx<$R)return;dx=t;let n=e instanceof Error?e.message:String(e||"Unknown upload failure");Tt({kind:"debug",title:"Frame diagnostics upload failed",detail:Zt(n,180),status:"error",publishShared:!1},!0)}function CC(e){try{if(!A||!p?.sessionId)return;new Ed({apiBase:A.apiBase,getSessionToken:()=>Bn(A),siteId:A.siteId,sessionId:p.sessionId}).upload({diagnostics:e,runId:p.pendingRun?.id||p.activeTaskId}).then(n=>{n&&Tt({kind:"debug",title:"Frame diagnostics stored",detail:"Frame diagnostics artifact uploaded for support debugging.",status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics reference",data:n}],publishShared:!1},!0)}).catch(wm)}catch(t){wm(t)}}function Vd(e,t){if(AC())try{let n=yk(e,{captureId:`${t}-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`});if(!n?.frames.length)return;let r=vk(n),o=Date.now();if(r===cx&&o-lx<jR)return;cx=r,lx=o,RC(n),CC(n)}catch(n){wm(n)}}function MC(e){le?.clearTimeline();for(let t of e)Tt({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,elementId:t.elementId,toolName:t.toolName,narration:t.narration,narrationActive:t.narrationActive,responseKind:t.responseKind,actionCue:t.actionCue,publishShared:!1},!1)}function bu(e=p?.uiMessages||[],t=p?.timeline||[]){if(le){if(typeof le.setTranscript=="function"){le.setTranscript(e,t);return}le.clearMessages(),IC(e),MC(t)}}function Ew(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),i=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(i&&o&&i!==o))return e.text}function Iw(e=p){let t=j?.getState();return qk({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function Gt(e,t){let n=Yc(e?{text:e,runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||fs()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||fs()?.taskId}),r=Ew(n,{activeRunId:Iw(p),activeTaskId:p?.activeTask?.taskId,taskStatus:p?.activeTask?.status});r?le?.setStatus(r):le?.setStatus?.(void 0),p&&(p.uiStatus=n?.text,p.transientStatus=n,Qc(),Qe({markCheckpointDirty:!1})),j&&t?.publishShared!==!1&&j.setStatus(n)}function yu(e=p){let t=Ew(e?.transientStatus,{activeRunId:Iw(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?le?.setStatus(t):le?.setStatus?.(void 0)}function ea(e,t){let n=Xc(e);Ut=n;let r=t?.localLogicalTabId??j?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??j?.getActiveLogicalTabId(),i=t?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),a=n==="controller"&&!!(A?.allowActions??!0);At?.setAllowActions(a),At?.setActionGateContext?.({mode:n,controllerRuntimeId:i,activeLogicalTabId:o,localLogicalTabId:r,reason:Gc(n,a)}),p&&(p.executionMode=n,Qe()),Xr(),le?.setExecutionMode(n,{controllerRuntimeId:i,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:fw(),note:pw(n)}),gt("mode_change",{mode:n,rawMode:e,...t})}function Qt(e){p&&(e?p.pendingRun=Rt({...e,taskBoundaryId:e.taskBoundaryId||qe}):(p.pendingRun=void 0,p.uiStatus=void 0,p.transientStatus=void 0,ri(void 0),$m(p)||Qi()),Kc(p),Xr(),Qe())}function Wp(e){p&&(p.lastNavigationHandoff=Oo(e),Qe())}function vu(){let e=Number(j?.getLocalLogicalTabId()||j?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function hr(e){if(!p)return;let t=$e(qe)||Gr();qe||(qe=t);let n=vu(),r=e?.appendSeed!==!1,o=hs(p.taskTabScope,t);if(!!e?.forceReset||!o||$e(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return p.taskTabScope=c,e?.persist!==!1&&Qe(),c}let a=mr(o.touchedTabIds);r&&!a.includes(n)&&a.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:a.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=s,e?.persist&&Qe(),s}function Aw(e,t){if(!p)return;let n=hr({persist:!1});if(!n)return;let r=mr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=o,t?.persist!==!1&&Qe(),o}function NC(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function ta(e){if(!p)return;let t=hr({persist:!1,appendSeed:!1});if(!t||!j)return t;let n=Date.now(),r=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],o=new Set;for(let b of r){let v=Number(b?.logicalTabId);if(!Number.isFinite(v)||v<=0)continue;let S=Math.max(Number(b?.updatedAt)||0,Number(b?.openedAt)||0,Number(b?.detachedAt)||0),k=n-S;if(b.runtimeId){o.add(v);continue}if(b.external){k<=TR&&o.add(v);continue}if(b.detachedReason==="navigation_handoff"){k<=_R&&o.add(v);continue}if(b.detachedReason==="opened_pending_attach"){k<=ER&&o.add(v);continue}}let i=Number(j.getLocalLogicalTabId()),a=Number(j.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):vu();Number.isFinite(i)&&i>0&&o.add(i),Number.isFinite(a)&&a>0&&o.add(a),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=mr(t.touchedTabIds),l=c.filter(b=>o.has(b)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(i)&&i>0?i:Number.isFinite(a)&&a>0?a:s;l.includes(d)||l.unshift(d);let m=mr(l).slice(0,24);if(!(d!==t.seedTabId||!NC(m,c)))return t;let u=c.filter(b=>!m.includes(b)),h={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return p.taskTabScope=h,e?.persist!==!1&&Qe(),rt("status",{event:"scoped_tab_reconciled",removedTabIds:u,scopedTabIds:h.touchedTabIds,seedTabId:h.seedTabId}),h}function Ka(){let e=ta({persist:!1})||hr({persist:!1,appendSeed:!1});if(!e)return[vu()];let t=mr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function Rw(){let e=ta({persist:!1})||hr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:mr(e.touchedTabIds)}}function LC(e,t){let n=Yi,r=fo,o=cs,i,a=t;if(ie){let l=ie.listTasks(),d=ie.getActiveTask()?.taskId,m=j?.getLocalLogicalTabId(),f=l.filter(b=>b.taskId!==d&&(b.state==="completed"||b.state==="cancelled")&&!!b.endedAt).sort((b,v)=>(Number(v.endedAt)||0)-(Number(b.endedAt)||0)),h=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(b=>Array.isArray(b.tabIds)&&b.tabIds.includes(Number(m))):f)[0];h&&(n=h.rootUserInput||n,r=h.summary||r,o=h.endedAt||o,i=h.uiMessages.map(b=>({role:b.role,text:b.text,ts:b.ts})),a=h.state)}let s=A?.task?.followup,c=rx({mode:s?.mode,previousTaskStatus:a,previousTaskMessages:i,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:Km(s?.ttlMs),minLexicalOverlap:Gm(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var oo=new Map,Sm=QR;async function DC(e){if(oo.has(e)){let o=oo.get(e);if(Date.now()-o.ts<Sm)return;oo.delete(e)}let t=Date.now();for(let[o,i]of oo)t-i.ts>=Sm&&oo.delete(o);let n=p?.pendingRun?.id;if(!n||!Ie)return;let r=await Ie.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(oo.set(e,{data:r,ts:Date.now()}),Zd(oo,JR))}function PC(e){let t=oo.get(e);if(t){if(Date.now()-t.ts>=Sm){oo.delete(e);return}return t.data}}function OC(e){let t=String(e||"").trim();return t===lm.read||t===lm.act}function xc(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function BC(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===lm.act?"act":"read_context",o=Number(n.tab_id),i=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,a=j?.listTabs({scope:"all"})||[],s=i?a.find(u=>u.logicalTabId===i):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return xc({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Ie)return xc({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(p?.pendingRun?.id||Ie.getActiveRunId()||Wc||"").trim()||void 0;if(!f)return xc({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let u=PC(l);if(u)return u;let h=await Ie.fetchExternalContext({runId:f,tabId:i,url:l,intent:r,message:d,source:m});if(!h)return xc({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let v=(h.pageData&&typeof h.pageData=="object"?h.pageData:void 0)||h;return{success:!0,output:{...v,metadata:{...v&&typeof v=="object"?v.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:i,sourceTool:t},intent:r}}}catch(u){let h=String(u?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",b=Number(u?.status),v=b>=500||h==="STALE_SEQ"||h==="STALE_EPOCH";return xc({code:h,message:String(u?.message||"External context request failed"),retryable:v,status:Number.isFinite(b)?b:void 0,details:u?.details})}}function na(e){let t=Ka(),n=A?tl(A):void 0,r=String(n?.siteUrl||A?.agentDiscovery?.siteUrl||(typeof window<"u"?`${window.location.origin}/`:"")).trim(),o=String(n?.siteName||A?.ui?.agent?.name||A?.ui?.experience?.presence?.assistantName||(typeof document<"u"?document.title:"")||"").trim();return{taskBoundaryId:qe,taskTabScope:Rw(),scopedTabIds:t,...o?{siteName:o.slice(0,120)}:{},...r?{siteUrl:r.slice(0,240)}:{},...e||{}}}var xx="";function Er(e){if(!ct)return;let t=na(e),n=JSON.stringify(t);n!==xx&&(xx=n,ct.postMessage({type:"update_config",config:t}))}function Cw(e,t){let n=String(e||"").trim();if(!n||!ct)return;if(Ut==="observer"){if(mo()){Rn("system","This tab is read-only while another tab is actively running Rover.",!0),Tt({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(j?.requestControl()??!1)){Rn("system","Unable to take control right now because another tab is still running Rover actions.",!0),Tt({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let h=j?.getLocalLogicalTabId(),b=j?.getActiveLogicalTabId(),v=j?.getCurrentHolderRuntimeId()||Et;ea("controller",{localLogicalTabId:h,activeLogicalTabId:b,holderRuntimeId:v});let S=!!(A?.allowActions??!0);At?.setAllowActions(S),At?.setActionGateContext?.({mode:"controller",controllerRuntimeId:v,activeLogicalTabId:b,localLogicalTabId:h,reason:Gc("controller",S)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,i=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?iu(r):void 0)||n;mm(r),i&&Rn("user",n,!0);let c=p?.pendingRun?.id===r?p.pendingRun.attempts:0,l=p?.pendingRun?.id===r&&p.pendingRun.taskBoundaryId||qe;Aw([vu()],{persist:!0});let d=Ka(),m=Yr(Array.isArray(t?.seedChatLog)?t.seedChatLog:bC());io=!1,Qt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),Tw(o?"worker_task_resumed":"worker_task_active"),Cn=s,p&&(p.workerState=kn({...p.workerState||{},taskBoundaryId:l,rootUserInput:p.workerState?.rootUserInput||s,seedChatLog:m,history:p.workerState?.history||[],plannerHistory:p.workerState?.plannerHistory||[],agentPrevSteps:p.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),j?.setWorkerContext(Jc(p.workerState))),Sw(m),j?.acquireWorkflowLock(r),j?.setActiveRun({runId:r,text:s}),ct.postMessage({type:"run",text:n,runId:r,trajectoryId:p?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:Zm(t?.files),narrationEnabledForRun:t?.narrationEnabledForRun===!0,narrationPreferenceSource:t?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:t?.narrationLanguage,scopedTabIds:d,taskTabScope:Rw()}),Jt&&clearTimeout(Jt);let f=r;Jt=setTimeout(()=>{p?.pendingRun?.id===f&&(rh({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),Rn("system","Task timed out after 5 minutes with no response.",!0)),Jt=null},5*6e4)}async function UC(e,t){let n=j1(e,t?.askUserAnswers);if(!n)return;EC();let r=p?.activeTask?.status,o=qr(p?.workerState?.pendingAskUser?.questions).length,i=p?.workerState?.pendingAskUser?.boundaryId,a=tx({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:i,currentTaskBoundaryId:qe}),s=!a,c=s?t?.continueRunId||p?.pendingRun?.id||Ie?.getActiveRunId():void 0,l=a?LC(n,r):{reason:"mode_disabled",overlap:0},d=a?await t1({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(p?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:$e(qe),visitorId:Xt,visitor:jr}):[],m=Yr([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(x=>x instanceof File):[];if(rt("status",{event:"task_boundary_decision",startFreshTask:a,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),rt("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),j?.pruneTabs(a?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),a){let x=!!p?.pendingRun,C=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(rt("status",{event:"task_boundary_reset",reason:C,hadActiveRun:x}),ie&&r==="running"){let _=ie.getActiveTask();_&&(_.uiMessages=p?.uiMessages||[],_.timeline=p?.timeline||[],_.rootUserInput=_.rootUserInput||Cn)}if(Tu({reason:C,clearUi:!0}),ie){let _=ie.getActiveTask();_&&(_.rootUserInput=n,_.seedChatLog=m),so()}x&&Ie&&await new Promise(_=>setTimeout(_,50))}or();let u=c,h=t?.routing,b=[];if(f.length>0)try{Tt({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(x=>x.name).join(", "),status:"pending"}),b=await G1(f),Tt({kind:"tool_result",title:b.length===1?"Attachment ready":`${b.length} attachments ready`,detail:b.map(x=>x.displayName).join(", "),status:"success"})}catch(x){let C=String(x?.message||"attachment upload failed");Tt({kind:"error",title:"Attachment upload failed",detail:C,status:"error"}),Rn("system",`Unable to attach files: ${C}`,!0),Gt(`Attachment upload failed (${C})`),gt("error",{message:C,scope:"attachment_upload"});return}if(Ie&&A)try{let x=await Ie.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:a,runId:s?c:void 0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});if(!x)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(x.epoch||x.currentEpoch))&&(Mo=Math.max(1,Number(x.epoch||x.currentEpoch)));let C=typeof x.runId=="string"&&x.runId.trim()?x.runId.trim():"";if(!C){let _=String(x?.conflict?.type||"").trim();if(_==="active_run_exists"&&Ie&&a){let I=x?.conflict?.runId||x.runId;if(I){await Ie.controlRun({action:"cancel",runId:I,reason:"stale_run_cleanup"});let M=await Ie.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});M?.runId&&(u=M.runId.trim(),ri(u),(M.acceptedMode==="act"||M.acceptedMode==="planner")&&(h=M.acceptedMode))}}if(!u){let I=String(x.decisionReason||_||x.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${I}).`)}}u||(u=C),ri(u),(x.acceptedMode==="act"||x.acceptedMode==="planner")&&(h=x.acceptedMode)}catch(x){let C=String(x?.message||"server run submission failed");ri(void 0),Tt({kind:"error",title:"Run start failed",detail:C,status:"error"}),Rn("system",`Unable to start task: ${C}`,!0),Gt(`Task could not start (${C})`),gt("error",{message:C,scope:"run_input"});return}let v=t?.narrationEnabledForRun??nm,S=t?.narrationPreferenceSource||rm,k=t?.narrationLanguage||as;Cw(n,{runId:u,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:h,askUserAnswers:t?.askUserAnswers,files:b,narrationEnabledForRun:v===!0,narrationPreferenceSource:S==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:k})}function _r(e,t){UC(e,t)}function wc(e,t){rh({reason:e,statusText:t||e,cancelReason:e})}function oh(e){let t=String(e||"").trim();if(!t)return!1;let n=j?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===Et||n.runId!==t)return!1;let r=j?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function Sc(e=450,t){Bt||(Bt=setTimeout(()=>{Bt=null,lo(t)},Math.max(120,e)))}function FC(e,t){Kr=!0,On=!1,Wn=!1,or(),Gt("Resuming interrupted task...");let n=e.text?.trim()||p?.workerState?.rootUserInput?.trim()||Cn?.trim()||"Continue the current task on this page";rt("status",{event:"resume_dispatch",source:t,runId:e.id}),Cw(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function lo(e){if(!p?.pendingRun){Bt&&(clearTimeout(Bt),Bt=null),Vn=0;return}let t=Rt(p.pendingRun);if(!t||(Ut==="observer"&&!mo()&&ea("controller",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),Ut==="observer")||Kr)return;if(!Ir||!ct){Sc(250,e);return}let n=p.activeTask?.status;if(Dp(n)){wc("terminal_task","Previous task already ended.");return}if(!Rd(n)||!t.autoResume)return;if(Vm(A?.task?.resume?.mode)!=="crash_only"){wc("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=tu(A?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Qt(t);else{Bt&&(clearTimeout(Bt),Bt=null),Vn=0,or();return}}let o=qm(A?.task?.autoResumePolicy),i=oh(t.id),a=Pk({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:i});if(a==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(a="auto_resume"),e?.overridePolicyAction&&a!=="defer_remote_owner"&&a!=="noop"&&(a=e.overridePolicyAction),a==="defer_remote_owner"){Sc(650,e);return}if(a==="cancel_resume"){wc("resume_policy_never","Previous task cancelled by resume policy."),Tt({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!Wn&&h1(t)&&(Wn=!0),!Wn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(Wn=!0),!Wn&&g1(t)){Sc(320,e);return}if(Wn||(Wn=!0),i){Sc(650,e);return}if(Bt&&(clearTimeout(Bt),Bt=null),!ss&&!e?.overridePolicyAction){if(Vn+=1,rt("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:Vn,runId:t.id}),Vn<aR){Gt("Preparing secure resume...");let l=Math.min(2e3,240+Vn*160);Sc(l,e);return}Vn=0,On=!1,ss=!0}Vn=0;let s=tu(A?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){wc("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=tR){wc("resume_attempt_limit","Previous task dismissed.");return}if(a==="prompt_resume"){SC(t)&&(Gt("Resume available. Choose Resume or Cancel."),rt("status",{event:"resume_prompt_shown",runId:t.id}));return}FC(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function Mw(e){if(!Bp({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&On}))return!1;if(!e.allowRicherIncomingOnResume||!On)return!0;let n=Op({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function wx(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function Nw(e){return e.incomingWorkerState?e.localWorkerState?Bp({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:wx(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:wx(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&On}):!0:!1}function Lw(e){if(fi(e.localState.activeTask,Gn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=$e(Ji(e.localState)),i=$e(Ji(e.incomingState));return o&&i?o===i:!(o&&!i||!o&&i)}async function zC(e,t){if(!p)return;let n=await nC(e,t);if(!n||!p)return;let r=$c({...n,sessionId:p.sessionId,runtimeId:Et},p.sessionId,Et);if(!Mw({localState:p,incomingState:r,allowRicherIncomingOnResume:!0})||!Lw({localState:p,incomingState:r}))return;let o=Math.max(1,Number(p.taskEpoch)||1),i=Math.max(1,Number(r.taskEpoch)||1),a=Ji(r);Xi({source:"indexeddb_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:i>o,allowBootstrapAdoption:!0})&&(p=$c({...p,...r,sessionId:p.sessionId,runtimeId:Et},p.sessionId,Et),Kc(p),ls({rotateIfMissing:!qe}),ta({persist:!1}),th({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Qe(),le&&(bu(p.uiMessages,p.timeline),yu(p),ps(),p.uiHidden?le.hide():(le.show(),p.uiOpen?le.open():le.close())),Ir&&ct&&Er(),Ir&&ct&&p.workerState&&Ut==="controller"&&(ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var Kp=!1;function ih(e,t){if(p&&!Kp){Kp=!0;try{if(t==="remote"){let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),i=o>r;p.taskEpoch=Math.max(r,o);let a=p.activeTask||Gn("shared_sync");p.activeTask=kw(e.task,a),i&&(p.uiMessages=[],p.timeline=[],nh(),Qt(void 0),p.workerState=void 0,qe=Gr(),p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),or());let s=Vr(e.uiMessages),c=new Set(s.map(x=>x.id)),l=p.uiMessages,d=p.uiMessages.filter(x=>x.role==="user"&&x.sourceRuntimeId===Et&&!c.has(x.id)).length;d>0&&rt("status",{event:"local_message_preserved",count:d});let m=sC(l,s),f=m.length!==l.length||m.some((x,C)=>{let _=l[C];return _?_.id!==x.id||_.ts!==x.ts||_.role!==x.role||_.text!==x.text:!0});f&&(p.uiMessages=m);let u=Wr(e.timeline),h=p.timeline,b=lC(h,u),v=b.length!==h.length||b.some((x,C)=>{let _=h[C];return _?_.id!==x.id||_.ts!==x.ts||_.kind!==x.kind||_.title!==x.title||_.detail!==x.detail:!0});v&&(p.timeline=b),(f||v)&&bu(p.uiMessages,p.timeline),Gt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let S=p.activeTask?.status,k=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==Et&&!Lp({localTaskStatus:S,remoteTaskStatus:k,mode:Ut,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||mo()||Xc(Ut)==="observer")Qt(void 0);else{let _=Rt(p.pendingRun),I=$e(e.workerContext?.taskBoundaryId);Np({taskStatus:S,localPendingRunId:_?.id,localPendingTaskBoundaryId:_?.taskBoundaryId,currentTaskBoundaryId:qe,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:I,ignoredRunIds:Tr})&&Qt(Rt({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:_?.attempts||0,autoResume:!0,taskBoundaryId:_?.taskBoundaryId||I||qe,resumeRequired:_?.resumeRequired===!0,resumeReason:_?.resumeReason}))}else{let x=Lp({localTaskStatus:S,remoteTaskStatus:k,mode:Ut,hasRemoteActiveRun:!!e.activeRun}),_=Rt(p.pendingRun)?.resumeRequired===!0&&Rd(S);x&&!_&&(p.pendingRun?.id&&ui(p.pendingRun.id),Qt(void 0),k&&k!=="running"&&Zc())}if(Ut==="observer"&&ea("observer",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),e.workerContext){let x=kn(e.workerContext),C=Number(p.workerState?.updatedAt)||0,_=Number(x?.updatedAt)||0;x&&Nw({localWorkerState:p.workerState,incomingWorkerState:x,fallbackPendingRun:Rt(p.pendingRun),taskStatus:p.activeTask?.status,taskEpoch:p.taskEpoch,localUpdatedAt:C,incomingUpdatedAt:_,allowRicherIncomingOnResume:!0})&&Xi({source:"shared_worker_context",incomingBoundaryId:x.taskBoundaryId,taskEpochAdvanced:i,allowBootstrapAdoption:!0})&&(p.workerState=$r(x,rr()),ls(),Ir&&ct&&Ut==="controller"&&(Er(),ct.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"shared_session",ts:Date.now()})))}}if(p.uiMessages=Vr(p.uiMessages),p.timeline=Wr(p.timeline),p.workerState=$r(kn(p.workerState),rr()),Kc(p),ls(),ta({persist:!1}),Ir&&ct&&Ut==="controller"&&Er(),Xr(),ps(),p.activeTask=fi(p.activeTask,Gn("implicit")),th(),j&&ie){let r=new Map;for(let o of ie.listTasks())for(let i of o.tabIds)r.set(i,o.taskId);j.setTaskTabMapping(r)}let n=A?.ui?.tabIndicator?.widgetTabBar!==!1;if(le&&e.tabs&&n){let r=j?.getLocalLogicalTabId(),o=j?.getActiveLogicalTabId(),i=(e.tabs||[]).filter(a=>a&&typeof a.logicalTabId=="number").map(a=>({logicalTabId:a.logicalTabId,url:String(a.url||""),title:typeof a.title=="string"?a.title:void 0,isActive:a.logicalTabId===o,isCurrent:a.logicalTabId===r,external:!!a.external,taskId:ie?.getTaskForTab(a.logicalTabId)?.taskId}));i.length>1?le.setTabs(i):le.setTabs([])}else le&&le.setTabs([]);if(t==="local")return;Qe()}finally{Kp=!1}}}function ah(e){let t=Gn("checkpoint_clone");return{version:Rm,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Zt(e.uiStatus,300):void 0,transientStatus:Yc(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Vr(e.uiMessages),timeline:Wr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:kn(e.workerState),pendingRun:Rt(e.pendingRun),taskTabScope:hs(e.taskTabScope,Rt(e.pendingRun)?.taskBoundaryId||kn(e.workerState)?.taskBoundaryId),lastNavigationHandoff:Oo(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:fi(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function HC(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Bn(e)||!Xt)}function jC(){if(!p||!A||!Xt)return null;let e=j?.getState(),t=ah(p),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:Mx,siteId:A.siteId,visitorId:Xt,sessionId:p.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function Dw(e){if(!e||typeof e!="object"||!p||!A||e.siteId&&e.siteId!==A.siteId||Xt&&e.visitorId&&e.visitorId!==Xt)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():p.sessionId;is=!0;try{if(t&&p.sessionId!==t&&(p.sessionId=t,A={...A,sessionId:t},su(A),Er({sessionId:t})),e.sharedState&&j&&j.hydrateExternalState(e.sharedState)&&(ih(j.getState(),"remote"),ea(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=$c({...e.runtimeState,sessionId:t,runtimeId:Et},t,Et);if(Mw({localState:p,incomingState:n,allowRicherIncomingOnResume:!0})){if(!Lw({localState:p,incomingState:n}))return;let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),i=Ji(n);if(!Xi({source:"cloud_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;p=$c({...p,...n,sessionId:t,runtimeId:Et},t,Et),Kc(p),ls(),p.workerState=$r(p.workerState,rr()),ta({persist:!1}),th({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Qe(),yu(p),p.uiHidden?le?.hide():(le?.show(),p.uiOpen?le?.open():le?.close()),Ir&&Er(),Ir&&p.workerState&&(ct?.postMessage({type:"hydrate_state",state:p.workerState}),gt("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Ut==="controller"&&lo(),On=!1}}}finally{is=!1}}function sh(e){if(Yt?.stop(),Yt=null,!HC(e)||!Xt)return;let t=Bn(e);if(!t){gt("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{gt("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};Yt=new xd({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Bn(A),shouldSync:()=>Ut==="controller"&&!On&&!Zi(),siteId:e.siteId,visitorId:Xt,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:ds(e.stability?.maxSnapshotBytes,Vt.snapshotBytes),shouldWrite:()=>Ut==="controller"&&!On&&!Zi(),buildCheckpoint:()=>jC(),onCheckpoint:r=>{Dw(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&gt("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||gt("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),Yt.start(),Yt.markDirty(),cw()}catch{Yt=null}}function su(e){if(!p)return;if(j?.stop(),j=null,e.sessionScope==="tab"){ea("controller");return}j=new cd({siteId:e.siteId,sessionId:p.sessionId,runtimeId:Et,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let i=Xc(r);ea(i,o);let a=Hr;Hr=i==="controller",a!==Hr&&(Hr?(Xr(!0),A&&po(A)):Xr(!0));let s=i==="controller"&&(A?.allowActions??!0);if(At?.setAllowActions(s),At?.setActionGateContext?.({mode:i,controllerRuntimeId:o?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??j?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??j?.getLocalLogicalTabId(),reason:Gc(i,s)}),i==="controller"){hr({persist:!0,appendSeed:!1}),ta({persist:!0});let c=j?.getWorkerContext();if(c){let l=kn(c),d=Number(p?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Xi({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(p&&(p.workerState=$r(l,rr()),ls(),Qe()),Ir&&ct&&(Er(),ct.postMessage({type:"hydrate_state",state:p?.workerState}),gt("context_restored",{source:"controller_handoff",ts:Date.now()})))}lo()}},onStateChange:(r,o)=>{ih(r,o)},onSwitchRequested:r=>{r>0&&(Un(),Tt({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{ie&&(ie.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),so(),Qe(),le?.showPausedTaskBanner({taskId:r,rootUserInput:ie.getTask(r)?.rootUserInput||"Task"}))}}),j.onSessionTokenReceived=(r,o)=>{Hr||ru(r,o)},j.onProjectionReceived=r=>{!Hr&&r&&pm(r)};let t=zm();j.start(Vx(t)),hr({persist:!0,appendSeed:!1}),ta({persist:!0}),Rt(p?.pendingRun)?.resumeRequired===!0&&j.requestControl(),p?.lastNavigationHandoff&&t&&(p.lastNavigationHandoff=Oo({...p.lastNavigationHandoff,consumed:!0}),Qe()),j.setRpcRequestHandler(async r=>{if(!At)throw new Error("Bridge not available");if(r.method==="getPageData"){let o=await At.getPageData(r.params);return Vd(o,"rpc-local"),o}if(r.method==="executeTool")return At.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),p?.activeTask&&j.syncTask({...p.activeTask,taskId:p.activeTask.taskId},p.taskEpoch),p?.workerState&&j.setWorkerContext(Jc(p.workerState))}function $C(e){e&&ao.delete(e),le?.clearTimeline(),p&&(p.timeline=[]),j?.clearTimeline()}function Tm(e){return e==="checkpoint"||e==="final"||e==="question"||e==="error"?e:void 0}function Sx(e){return e==="question"?"Needs input":e==="error"?"Response error":e==="final"?"Final response":"Step response"}function qC(e){if(!(!e||typeof e!="object")&&(typeof e.executionId=="string"&&e.executionId.trim()&&!e.runId&&(e={...e,runId:e.executionId.trim()}),!H1(e))){if(e.type==="assistant"){let t=li(e.blocks),n=String(e.text||hw(t)||""),r=Tm(e.responseKind);typeof e.runId=="string"&&e.runId&&(ao.set(e.runId,n),Zd(ao,XR)),Rn("assistant",n,!0,{blocks:t}),Tt({kind:r?"assistant_response":"tool_result",title:r?Sx(r):"Assistant update",detail:n,detailBlocks:t,status:r==="error"?"error":"success",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:r}),zr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="assistant_response"){let t=Tm(e.responseKind)||"checkpoint",n=String(e.text||e.narration||"").trim();Tt({kind:"assistant_response",title:typeof e.title=="string"&&e.title.trim()?e.title.trim():Sx(t),detail:n||void 0,status:t==="error"?"error":t==="final"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:t}),zr("assistant_output",{text:n,responseKind:t,narration:typeof e.narration=="string"?e.narration:void 0},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=sw(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=N1(n,t,r);if(n&&Gt(n,{runId:typeof e.runId=="string"?e.runId:p?.pendingRun?.id,taskId:p?.activeTask?.taskId,stage:t}),o&&o!==Ld&&(Ld=o,n)){let i=!!(e.thought||r),a=r||(e.thought?String(e.thought):"");if(i&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!L1(a,Cn))Tt({kind:"thought",title:a,detail:e.thought?String(e.thought):r,status:"pending",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0});else{let c=t?`${M1(t)}: ${n}`:n;Tt({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0})}}gt("status",e),zr("status_update",nM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=mr(t.keptScopedTabIds||[]),r=mr(t.listedTabIds||[]),o=mr(t.resolvedTabOrder||[]),i=n.filter(a=>!r.includes(a));i.length>0&&(Tt({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${i.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),rt("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:i,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=au(e),n=fc(e.call,e.toolCallId,{logicalTabId:t}),r=n?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Tt({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detailBlocks:_k(e.call),status:"pending",elementId:r,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:n}),gt("tool_start",e),zr("tool_start",rM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!tC(e.result)){let i=mr([...gw(e.call?.args),...Z1(e.result)]);i.length&&(Aw(i,{persist:!0}),Er())}let t=li(e.detailBlocks)||Q1(e.result),n=au(e),r=fc(e.call,e.toolCallId,{logicalTabId:n}),o=r?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Tt({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:o,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:r}),gt("tool_result",e),zr("tool_result",oM(e),{runId:typeof e.runId=="string"?e.runId:void 0}),eC(e);return}if(e.type==="auth_required"){gt("auth_required",e.error),e.error?.message&&(Rn("system",`Auth required: ${e.error.message}`,!0),Tt({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){gt("navigation_guardrail",e),Tt({kind:"status",title:"Navigation guardrail",detail:Yx(e),status:"info"});return}if(e.type==="error"){Rn("system",`Error: ${e.message||"unknown"}`,!0),Tt({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),gt("error",e),zr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(p){let t=kn({...e.state||{},updatedAt:Date.now()});if(!t||!Xi({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;p.workerState=$r(t,rr());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=Rt(p.pendingRun),i=Np({taskStatus:p.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:qe,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:Tr});if(i&&Qt(Rt({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||qe,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&i?j?.setActiveRun({runId:n,text:r}):n&&(!Go()||Tr.has(n)||o?.id!==n)&&j?.setActiveRun(void 0),!Go()&&p.pendingRun&&Qt(void 0),p.workerState&&j?.setWorkerContext(Jc(p.workerState)),ie&&t?.taskBoundaryId){let a=ie.getTaskByBoundaryId(t.taskBoundaryId);a&&(a.workerState=p.workerState,n&&(a.pendingRun=p.pendingRun))}ps(),Qe()}return}if(e.type==="execution_started"){if(Ld="",or(),typeof e.runId=="string"&&e.runId&&ao.delete(e.runId),!Go()){j?.setActiveRun(void 0);return}let t=p?.pendingRun,n=typeof e?.runBoundaryId=="string"?$e(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?$e(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&mm(e.runId),Qt(Rt({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||qe,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),j?.setActiveRun({runId:e.runId,text:String(e.text||"")}),le?.setRunning(!0),le?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(p?.timeline.some(o=>o.id===r)||Tt({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),ie&&n){let o=ie.getTaskByBoundaryId(n);o&&(o.pendingRun=p?.pendingRun,ie.dispatch(o.taskId,{type:"START"}))}zr("state_transition",{status:"running",mode:p?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Ge&&(Ge.status="running",Ge.runId=typeof e.runId=="string"&&e.runId?e.runId:Ge.runId,Ge.promptDispatchState="started",Ki()),gt("run_started",Ux(e));return}if(e.type==="execution_completed"||e.type==="execution_state_transition"){Ld="",Kr=!1,Vn=0;let t=X1(e),n=Fx(e,t),r=t.terminalState,o=t.continuationReason,i=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",a=e?.ok===!1||r==="completed"||r==="failed",s=!a&&r==="in_progress"&&o!=="awaiting_user";le?.setRunning(s),Jt&&(clearTimeout(Jt),Jt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.runBoundaryId=="string"?$e(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?$e(e.taskBoundaryId):void 0;if(a){let d=Rt(p?.pendingRun),m=String(d?.text||Cn||"").trim(),f=String((c?ao.get(c):"")||"").trim();Yi=m||Yi,fo=f||fo,cs=Date.now(),d?.id&&j?.releaseWorkflowLock(d.id),c&&j?.releaseWorkflowLock(c),Qt(void 0),ri(void 0),j?.setActiveRun(void 0),or(),c&&ui(c)}else if(Go()&&c){mm(c),ri(c);let d=p?.pendingRun,m=d?.id===c&&d?.text?d.text:Cn||d?.text||"Continue task";Qt(Rt({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||qe,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),j?.setActiveRun({runId:c,text:m})}if(p&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(p.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?Zt(e.route.reason,200):void 0,ts:Date.now()},Qe()),!e.ok&&e.error){if(c&&ao.delete(c),c&&(ci(c,"worker_run_failed",{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Go())return;le?.setQuestionPrompt(void 0),t.contextResetRecommended?(Bd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0)):(Bd("worker_run_failed_terminal"),Gt(void 0)),c&&ao.delete(c),Tt({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Go())return;let d=t.runComplete,m=t.needsUserInput,f=t.questions||qr(e.questions),u=qr(p?.workerState?.pendingAskUser?.questions),h=f.length?f:m?u:[];if(r==="failed")c&&(ci(c,"worker_terminal_failed",{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),le?.setQuestionPrompt(void 0),t.contextResetRecommended?(Bd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0)):(Bd("worker_run_failed_terminal"),Gt(void 0)),Tt({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Ie?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),le?.setQuestionPrompt(void 0),xC("worker_task_complete"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Gt(void 0),$C(typeof e.runId=="string"?e.runId:void 0);else{let b=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(ie){let v=ie.getActiveTask();v&&ie.dispatch(v.taskId,{type:"ASK_USER"})}pi({type:"awaiting_user",reason:b,at:Date.now()})}else Tw(b);m&&h.length>0?le?.setQuestionPrompt({questions:h}):m?ps():le?.setQuestionPrompt(void 0),m?(Gt(void 0),Tt({kind:"status",title:"Waiting for your input",detail:h.length?`Please answer: ${h.map(v=>`${v.key} (${v.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(Gt("Navigating to continue task..."),Tt({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):Gt("Working...")}}if(ie&&l){let d=ie.getTaskByBoundaryId(l);if(d)if(a){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};ie.dispatch(d.taskId,m),ie.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&ie.dispatch(d.taskId,{type:"ASK_USER"})}if(zr("state_transition",{status:i,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:p?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:a||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||qr(e.questions);d.length&&Hw(d)}Ge&&(Ge.status=i,Ge.runId=c||Ge.runId,i==="failed"?Ge.promptDispatchState="failed":(i==="running"||i==="awaiting_user"||i==="completed")&&(Ge.promptDispatchState="started"),Ki()),a&&aM(c),gt("run_state_transition",n),(e.type==="execution_completed"||a)&&gt("run_completed",n),so();return}if(e.type==="ready"){Ir=!0,Gt(void 0),gt("ready"),A&&Gw(A);let t=j?.getWorkerContext(),n=$r(kn(t),rr()),r=n&&Xi({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=$r(kn(p?.workerState),rr()),i=o&&Xi({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,a=Number(i?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&Nw({localWorkerState:i,incomingWorkerState:r,fallbackPendingRun:Rt(p?.pendingRun),taskStatus:p?.activeTask?.status,taskEpoch:p?.taskEpoch,localUpdatedAt:a,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:i;p&&(c&&c!==p.workerState?(p.workerState=$r(c,rr()),Qe()):!c&&p.workerState&&(p.workerState=void 0,Qe())),c?(ct?.postMessage({type:"hydrate_state",state:c}),gt("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Kr||lo()},500)):On&&Yt?(rt("status",{event:"checkpoint_pull_first"}),Yt.syncPullFirst()):lo();return}if(e.type==="hydrated"){lo();return}e.type==="updated"&&gt("updated")}}function _m(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function el(e){if(!e||typeof e!="object")return;let t=_m(e.shortcutMaxStored,{min:1,max:$i,fallback:$i}),n=_m(e.shortcutMaxRendered,{min:1,max:Yd,fallback:Yd});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function uo(e){return Dl(e)}function VC(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function WC(e){let t=Number(e);if(Number.isFinite(t))return Math.max(vR,Math.min(kR,Math.floor(t)))}function ra(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,bR);r&&(n.language=r);let o=WC(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function oa(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function oi(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},i=String(r.assistantName||"").trim();i&&(o.assistantName=i.slice(0,160));let a=String(r.ctaText||"").trim();a&&(o.ctaText=a.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let i=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(a=>a==="images"||a==="pdfs"||a==="office"||a==="text"):[];i.length&&(o.acceptedMimeGroups=Array.from(new Set(i))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.audio&&typeof t.audio=="object"){let r=t.audio,o=r.narration&&typeof r.narration=="object"?r.narration:void 0;if(o){let i={};typeof o.enabled=="boolean"&&(i.enabled=o.enabled),(o.defaultMode==="guided"||o.defaultMode==="always"||o.defaultMode==="off")&&(i.defaultMode=o.defaultMode),Number.isFinite(Number(o.rate))&&(i.rate=Math.max(.85,Math.min(1.15,Number(o.rate))));let a=String(o.language||"").trim();a&&(i.language=a.slice(0,24)),(o.voicePreference==="auto"||o.voicePreference==="system"||o.voicePreference==="natural")&&(i.voicePreference=o.voicePreference),Object.keys(i).length&&(n.audio={narration:i})}}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),typeof r.actionSpotlight=="boolean"&&(o.actionSpotlight=r.actionSpotlight);let i=VC(r.actionSpotlightColor);i&&(o.actionSpotlightColor=i),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let i=String(r.accentColor||"").trim();i&&(o.accentColor=i.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let a=String(r.fontFamily||"").trim();a&&(o.fontFamily=a.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function ku(e){if(!e)return;let t=oi(an?.experience),n=oi(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=di(an?.greeting||e.ui?.greeting),i=lh(e),a=tl(e),s={};return(a?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...a?.discoverySurface?.beaconLabel?{ctaText:a.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),i?.enabled===!1&&(s.inputs={voice:!1}),oi({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function tl(e){if(!e)return;let t=Li(an?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function qc(e){if(!e)return;let t=uo(an?.pageConfig),n=uo(e.pageConfig);return uo({...t||{},...n||{}})}function xu(e){if(!e)return;let t=oa(an?.aiAccess),n=oa(e.agentDiscovery?.aiAccess);if(!(!t&&!n))return{...t||{},...n||{}}}function Pw(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function KC(e){if(!ct||!e)return;let t=qc(e),n=JSON.stringify(t||null);n!==tm&&(tm=n,ct.postMessage({type:"update_config",config:{...na(),pageConfig:t}}))}function nl(){Ac&&(clearTimeout(Ac),Ac=null),Rc&&(clearTimeout(Rc),Rc=null)}function GC(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>ox?null:{shortcuts:Po(n.data.shortcuts),businessType:bs(n.data.businessType),experience:oi(n.data.experience),greeting:di(n.data.greeting),voice:ra(n.data.voice),aiAccess:oa(n.data.aiAccess),limits:el(n.data.limits),pageConfig:uo(n.data.pageConfig),agentDiscovery:Li(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>ox?null:{shortcuts:Po(n.data)}}catch{return null}}function Ow(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:Po(t.shortcuts),businessType:bs(t.businessType),experience:oi(t.experience),greeting:di(t.greeting),voice:ra(t.voice),aiAccess:oa(t.aiAccess),limits:el(t.limits),pageConfig:uo(t.pageConfig),agentDiscovery:Li(t.agentDiscovery)}}))}catch{}}function di(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,gR));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function Tx(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let i=String(o||"").trim().slice(0,t.maxChars);if(!i)continue;let a=i.toLowerCase();if(!r.has(a)&&(r.add(a),n.push(i),n.length>=t.maxItems))break}return n.length?n:void 0}function XC(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,fR),r=String(e.prompt||"").trim().slice(0,mR);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,pR)),e.icon&&(o.icon=String(e.icon).trim().slice(0,hR)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing),(e.runKind==="guide"||e.runKind==="task")&&(o.runKind=e.runKind);let i=Number(e.order);Number.isFinite(i)&&(o.order=Math.trunc(i));let a=Tx(e.tags,{maxItems:16,maxChars:40});a&&(o.tags=a);let s=Tx(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="run"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function Po(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=$i)break;let o=XC(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function Ud(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function YC(e){return!!e?.ui&&Object.prototype.hasOwnProperty.call(e.ui,"shortcuts")}function wu(e){if(!e)return[];let t=YC(e),n=Po(t?e.ui?.shortcuts||[]:an?.shortcuts||[]);if(t||n.length>0)return Ud(n).slice(0,$i);let r=TM(an?.businessType);if(!r.length)return Ud(n).slice(0,$i);let o=new Set,i=new Set,a=new Set,c=r.filter(l=>{let d=l.label.trim().toLowerCase(),m=l.prompt.trim().toLowerCase();return o.has(l.id)||i.has(d)||a.has(m)?!1:(o.add(l.id),i.add(d),a.add(m),!0)}).slice(0,3);return Ud(c).slice(0,$i)}function Bw(e){let t=_m(an?.limits?.shortcutMaxRendered,{min:1,max:Yd,fallback:Yd});return e.filter(n=>n.enabled!==!1).slice(0,t)}function Dc(){Jo&&(clearTimeout(Jo),Jo=null),Bc=null}function JC(e){return`${window.location.href}::${e.signature}`}function Uw(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Ov(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),rt("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function Gp(e,t,n){let r=Bc;r?.handleKey===e&&r.deadlineAt===n&&Jo||(Jo&&clearTimeout(Jo),Bc={handleKey:e,request:t,deadlineAt:n},Jo=setTimeout(()=>{Jo=null,rl("attach_retry")},LR))}function Fw(){Qa&&(clearTimeout(Qa),Qa=null)}function QC(){Fw(),Ge=null}function Ec(e=0){Ge?.pendingEvents.length&&(Qa||(Qa=setTimeout(()=>{Qa=null,ch()},Math.max(0,e))))}async function ch(e=!1){let t=Ge;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Ie)return;if(!e&&Zi()){Ec(jp);return}let n=t.pendingEvents.splice(0,Hp);if(n.length){t.ingestInFlight=!0;try{await Ie.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-Hp*4),Ec(jp))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-Hp*4),Ec(jp)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&Ec(0)}}function zr(e,t,n){let r=Ge;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){Fw(),ch(!0);return}Ec(0)}}function ZC(e){let t=String(e||"").trim();if(t){let o=String(ao.get(t)||"").trim();if(o)return o}let n=[...p?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function eM(){let e=String(Uc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function zw(){return Ge?.detail==="full"||Ge?.detail==="debug"}function tM(){return Ge?.detail==="debug"}function nM(e){let t={stage:sw(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return tM()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function rM(e){let t=au(e),n=fc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted,narration:typeof e?.narration=="string"?Zt(e.narration.replace(/\s+/g," ").trim(),220):void 0};return zw()&&(r.args=e?.call?.args),r}function oM(e){let t=au(e),n=fc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1,actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted};return zw()?r.result=e?.result:typeof e?.result?.message=="string"&&(r.message=e.result.message),r}function iM(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=ZC(e),i=eM();return{url:t,title:n,host:r,summary:o,snapshotDigest:i}}function Hw(e){let t=Ge;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,zr("needs_input",{questions:e},{immediate:!0}))}function aM(e){let t=Ge;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),zr("page_observation",iM(n),{immediate:!0,runId:n}))}function Xp(e,t,n,r){Dc(),Hi="",r?.openWidget!==!1&&(Un(),Rn("system",`Rover couldn't start the AI launch: ${n}`,!0)),rt("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),Cc=t,r?.consume!==!1&&Uw(e)}function cu(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=Ox();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function jw(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&rt("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Ge&&(Ge.status=e.status||Ge.status,Ge.executionTarget=e.executionTarget||Ge.executionTarget,Ge.runId=String(e.runId||Ge.runId||"").trim()||void 0,Ge.promptDispatchState="pending",Ki()),Un();try{t.kind==="shortcut"?_r(t.prompt,{reason:"launch_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:as}):_r(t.prompt,{reason:"launch_prompt"}),n&&rt("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Ge&&(Ge.promptDispatchState="started",Ge.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Ge.runId=String(e.runId||Ge.runId||"").trim()||void 0,Ki())}catch(r){throw n&&rt("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Ge&&(Ge.promptDispatchState="failed",Ge.status="failed",Ki()),r}}function rl(e){if(!A||typeof window>"u")return;let t=Pv(window.location.href);if(!t){Dc(),Cc="",Tc="",Hi="";return}let n=JC(t);if(n===Cc||Ge?.handleKey===n||Hi===n)return;let r=xu(A);if(r&&r.enabled===!1){Dc(),Tc!==n&&(rt("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),Tc=n),Xp(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}Tc="";let o=Bc?.handleKey===n?Bc.deadlineAt:Date.now()+NR;if(Date.now()>=o){Xp(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}Hi=n,po(A).then(async()=>{if(!Ie){Gp(n,t,o);return}let i=await Ie.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!i){Gp(n,t,o);return}Dc(),Ge={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:i.status,detail:i.detail,executionTarget:i.executionTarget,runId:i.runId,promptDispatchState:cu(i)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},Ki(),cu(i)?jw(i):Un(),zr("state_transition",{status:i.status==="awaiting_user"?"awaiting_user":"running",executionTarget:i.executionTarget,detail:i.detail,source:"launch_attach"},{immediate:!0,runId:i.runId}),rt("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:i.executionTarget,detail:i.detail}),Cc=n,Uw(t)}).catch(i=>{if(Date.now()<o){Gp(n,t,o);return}Xp(t,n,i?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{Hi===n&&(Hi="")})}function ji(){Yo&&(clearTimeout(Yo),Yo=null),Ja=null}function sM(e){return`${window.location.href}::${e.signature}`}function cM(e){return e?!!(nu(e)||Bn(e)):!1}function Em(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=dp(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),rt("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function lM(e,t,n){let r=Ja;r?.handleKey===e&&r.deadlineAt===n&&Yo||(Yo&&clearTimeout(Yo),Ja={handleKey:e,request:t,deadlineAt:n},Yo=setTimeout(()=>{Yo=null,gs("shortcut_retry")},MR))}function dM(e,t,n){ji(),Un(),Rn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),rt("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),Wa=t,Em(n,e)}function $w(){let e=String(A?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function ms(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function uM(e,t){let n=new URL(`${$w()}/v1/a2w/runs/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function fM(e,t){let n=new URL(`${$w()}/v1/a2w/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function qw(e){let t=String(e.runId||"").trim();if(!t)return;let n=String(e.runAccessToken||ms(e.runUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||ms(e.workflowUrl)||"").trim()||void 0;Qo={runId:t,runUrl:String(e.runUrl||uM(t,n)).trim(),runAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||fM(r,o)).trim():void 0,workflowAccessToken:o,runBoundaryId:$e(qe||p?.workerState?.taskBoundaryId),executionId:String(e.executionId||p?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Kn(A)}function pM(){return $e(qe||p?.workerState?.taskBoundaryId)||""}function mM(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function Wd(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function Vw(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("runs");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let i=r.lastIndexOf("tasks");if(i>=0&&r[i+1])return decodeURIComponent(r[i+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function hM(){let e=String(fo||p?.uiStatus||p?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function gM(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function bM(){let e=pM(),t=Qo;if(t&&t.runId&&t.runAccessToken&&(!e||t.runBoundaryId===e))return t.executionId=String(p?.pendingRun?.id||t.executionId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!A)throw new Error("Rover is not booted.");if(await po(A),!Ie)throw new Error("Rover server runtime is unavailable.");let n=iu(p?.pendingRun?.id)||gM(),r=await Ie.createSessionRootRun({url:window.location.href,prompt:n,executionId:String(p?.pendingRun?.id||"").trim()||void 0}),o=String(r?.run||"").trim();if(!r?.id||!o)throw new Error("Failed to create the root A2W workflow run.");if(qw({runId:String(r.runId||r.id||"").trim(),runUrl:o,runAccessToken:ms(o),workflowId:Vw(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:ms(r.workflow),executionId:String(p?.pendingRun?.id||"").trim()||void 0}),!Qo?.runAccessToken)throw new Error("Root A2W workflow run is missing an access token.");return rt("status",{event:"handoff_root_run_created",runId:Qo.runId,workflowId:Qo.workflowId}),Qo}async function _x(e,t,n=Oc){if(!A)return null;if(await po(A),!Ie)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let i=r-Date.now(),a=i>0?Math.max(1,Math.min(OR,Math.ceil(i/1e3))):0;if(o=await Ie.getPublicRun(e,{accessToken:t,waitSeconds:a}),!o||Wd(o.status)||o.status==="input_required"||i<=0)return o}}function Ex(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function Ix(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.run||"").trim(),o=String(e.workflow||"").trim(),i=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),a=qr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,run:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||i||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,runStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,runComplete:!0,terminalState:"completed",message:i||"Delegated A2W run completed."};if(n==="input_required")return{...c,success:!1,runComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:a.length?a:e.input?.questions,input:e.input,message:String(e.input?.message||i||"Delegated A2W run needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||i||`Delegated A2W run ${n}.`).trim();return{...c,success:!1,runComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,runComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated A2W run is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated A2W run is still running. Call handoff_to_rover_site again with the returned run URL to keep following it."}}async function yM(e){let t=e&&typeof e=="object"?e:{};if(!A)throw new Error("Rover is not booted.");if(await po(A),!Ie)throw new Error("Rover server runtime is unavailable.");let n=mM(t.execution),r=String(t.answer||"").trim(),o=String(t.run||"").trim();if(o){let b=ms(o),v=r?await Ie.continuePublicRun(o,r,{accessToken:b}):await Ie.getPublicRun(o,{accessToken:b});if(!v)throw new Error("Delegated A2W run could not be loaded.");let S;return!Wd(v.status)&&v.status!=="input_required"&&(S=Ex(v,n),v=await _x(o,b,Oc)||v),Ix(v,S?{browserOpen:S}:void 0)}let i=String(t.url||"").trim(),a=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!i)throw new Error("handoff_to_rover_site requires url or run.");if(!a&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await bM(),d=await Ie.createRunHandoff({parentRunId:l.runId,runAccessToken:String(l.runAccessToken||"").trim(),url:i,...a?{shortcutId:a}:{},...!a&&s?{instruction:s}:{},...!a&&!s&&c?{prompt:c}:{},...String(t.contextSummary||fo||"").trim()?{contextSummary:String(t.contextSummary||fo).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(iu(p?.pendingRun?.id)||"").trim()?{originalGoal:String(iu(p?.pendingRun?.id)||"").trim()}:{},lastObservation:hM(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!Wd(d.status)&&d.status!=="input_required"&&(m=Ex(d,n));let f=String(d.run||"").trim(),u=ms(f),h=!Wd(d.status)&&d.status!=="input_required"&&await _x(f,u,Oc)||d;return rt("status",{event:"handoff_run_created",parentRunId:l.runId,childRunId:String(h.runId||h.id||"").trim(),workflowId:Vw(h.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(i).hostname}catch{return}})()}),Ix(h,m?{browserOpen:m}:void 0)}var vM={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated A2W run."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},run:{type:"string",description:"Existing delegated A2W run URL or run ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated run that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated A2W run completed or reached a stable state."},status:{type:"string",description:"Current delegated run status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},run:{type:"string",description:"Canonical delegated A2W run URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child runs."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function kM(){cm||!At||!ct||(Hm({def:vM,handler:yM}),cm=!0)}function lu(){Zo&&(clearTimeout(Zo),Zo=null),zc=null}function xM(e){return`${window.location.href}::${e.signature}`}function Ww(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=Fv(window.location.href);if(t?.consumeDeepLink&&A){let o=new URL(r,window.location.origin).toString();r=dp(o,fd(A.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),rt("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function Yp(e,t){let n=zc;n?.handleKey===e&&n.deadlineAt===t&&Zo||(Zo&&clearTimeout(Zo),zc={handleKey:e,deadlineAt:t},Zo=setTimeout(()=>{Zo=null,ol("receipt_retry")},DR))}function wM(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(Un(),t.kind==="shortcut"){_r(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:as});return}_r(t.prompt,{reason:"browser_receipt_prompt"})}function Ax(e,t,n,r){lu(),r?.openWidget&&(Un(),Rn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),rt("status",{event:"browser_receipt_claim_failed",message:n}),Lc=t,Ww(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&gs("receipt_fallback")}function ol(e){if(!A||typeof window>"u")return!1;let t=gp(window.location.href);if(!t)return lu(),Lc="",Va="",!1;let n=xM(t);if(n===Lc||Va===n)return!0;let r=zc?.handleKey===n?zc.deadlineAt:Date.now()+PR;return Date.now()>=r?(Ax(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(Va=n,po(A).then(async()=>{if(!Ie){Yp(n,r);return}let o=await Ie.claimBrowserRunReceipt({receipt:t.receipt});if(!o){Yp(n,r);return}lu(),qw({runId:o.runId,runAccessToken:o.runAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,executionId:o.executionId}),wM(o),rt("status",{event:"browser_receipt_claimed",source:e,runId:o.runId,executionId:o.executionId}),Lc=n,Ww(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){Yp(n,r);return}Ax(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{Va===n&&(Va="")}),!0)}function gs(e){if(!A||typeof window>"u")return;let t=Cv(A.deepLink,an?.aiAccess);if(e!=="receipt_fallback"&&gp(window.location.href))return;let n=Mv(window.location.href,t);if(!n){ji(),Wa="",zi="";return}let r=sM(n);if(!t.enabled){ji(),zi!==r&&(rt("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),zi=r);return}if(zi="",r===Wa)return;if(!t.enabled){ji(),zi!==r&&(rt("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),zi=r);return}if(Ja?.handleKey===r||rt("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){ji(),Un(),_r(n.value,{reason:"deep_link_prompt"}),rt("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),Wa=r,Em(t,n);return}let i=wu(A).find(s=>s.enabled!==!1&&s.id===n.value);if(i){ji(),Un(),_r(i.prompt,{reason:"deep_link_shortcut",routing:i.routing,narrationRunKind:i.runKind,narrationLanguage:as}),rt("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:i.id,routing:i.routing}),Wa=r,Em(t,n);return}let a=Ja?.handleKey===r?Ja.deadlineAt:Date.now()+CR;if(Date.now()<a&&cM(A)){lM(r,n,a);return}dM(n,r,t)}function Su(e){if(!e)return;let t=di(an?.greeting),n=di(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function lh(e){if(!e)return;let t=ra(an?.voice),n=ra(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=yR),r}function dh(e){let t=jr?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function Vc(){if(ii||!le||!A||p?.uiOpen)return;let e=Su(A);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${A.siteId}`;try{if(sessionStorage.getItem(t)){Wi=!0;return}}catch{}if(Wi)return;nl();let n=e?.delay??3e3,r=e?.duration??8e3,o=dh(e);Ac=setTimeout(()=>{if(Ac=null,!(ii||p?.uiOpen)){le?.showGreeting(o),Wi=!0;try{sessionStorage.setItem(t,"1")}catch{}Rc=setTimeout(()=>{Rc=null,le?.dismissGreeting()},r)}},n)}function bs(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var Kw={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},SM=Kw.general,Rx={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function TM(e){let t=bs(e)||"general";return(Rx[t]||Rx.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"run"}))}function _M(){let e=an?.businessType;return(e&&Kw[e])??SM}function du(e){let t=wu(e);le?.setShortcuts(Bw(t)),le?.setExperience?.(ku(e)),le?.setVoiceConfig(lh(e)),le?.setPlaceholders?.(_M()),KC(e),Kn(e),ol("site_config"),rl("site_config"),gs("site_config")}async function EM(e){let t=null,n=nu(e)||Bn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:p?.sessionId||e.sessionId,requestedSessionId:p?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=Mi(e.apiBase);for(let i of o)try{let a=await fetch(`${i}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await a.json().catch(()=>{});if(!a.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:Po(t.shortcuts),businessType:bs(t.businessType),experience:oi(t.experience),greeting:di(t.greeting),voice:ra(t.voice),aiAccess:oa(t.aiAccess),limits:el(t.limits),pageConfig:uo(t.pageConfig),agentDiscovery:Li(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function Gw(e){let t=GC(e.siteId);t&&(an=t),du(e),Vc(),EM(e).then(n=>{if(n&&(an=n,Ow(e.siteId,n),du(e),!ii)){let r=Su(e);Wi&&!p?.uiOpen?le?.showGreeting(dh(r)):Vc()}}).catch(()=>{})}function Xw(e){if(!A)return;let t={...jr,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),jr=t,Kx(A.siteId,jr),le?.setVisitorName(jr.name||""),ii||(Wi&&!p?.uiOpen?le?.showGreeting(dh(Su(A))):Vc())}function IM(e){if(su(e),typeof window<"u"&&Gi(window,HR,()=>{Pm(A)}),j){let f=Xc(j.getRole());Ut=f,Hr=f==="controller",p&&(p.executionMode=f)}sh(e),hu(e),Xr(!0);let t=(e.allowActions??!0)&&(j?j.isController():!0),n=f=>{if(!p)return;let u=Rt(p.pendingRun);if(u){let k=Rt({...u,taskBoundaryId:u.taskBoundaryId||qe,resumeRequired:!0,resumeReason:f});return p.pendingRun=k,k&&j?.setActiveRun({runId:k.id,text:k.text}),k}let h=j?.getState().activeRun,b=String(Ie?.getActiveRunId()||Wc||h?.runId||"").trim();if(!b)return;let v=String(h?.text||Cn||"Continue task").trim()||"Continue task",S=Rt({id:b,text:v,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:qe,resumeRequired:!0,resumeReason:f});return p.pendingRun=S,S&&j?.setActiveRun({runId:S.id,text:S.text}),S};At=new Yl({allowActions:t,runtimeId:Et,allowedDomains:e.allowedDomains,domainScopeMode:jc(e.domainScopeMode),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:yn(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:yn(e.timing?.domSettleMaxWaitMs,80,5e3),retries:yn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>j?.registerOpenedTab(f),switchToLogicalTab:f=>j?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(j?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(gt("navigation_guardrail",f),Tt({kind:"status",title:"Navigation guardrail",detail:Yx(f),status:"info"}),Ie&&f?.blockedUrl){let u=vx();if(!u)return;let h=String(window.location.hostname||"").toLowerCase(),b=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Ie.sendTabEvent({runId:u,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:h||void 0,targetHost:b,isCrossHost:!!b&&!!h&&b!==h}).then(v=>{v&&(v.retryAttempted&&gt("tab_event_conflict_retry",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}),v.retryExhausted&&gt("tab_event_conflict_exhausted",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let u=vx(),h=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&Kk(f.targetUrl,h)){let O=Fp(f.targetUrl,h);return rt("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:O.score,reasons:O.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${O.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let O=Date.now();for(Bi.push(O);Bi.length>0&&Bi[0]<O-px;)Bi.shift();if(Bi.length>KR)return rt("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:Bi.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${Bi.length} in ${px/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let b=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),v=!!h&&!!b&&pr(h)!==pr(b),S=!!h&&!!b&&h!==b,k=$s({host:b,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),x=ex({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode,preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(j?.listTabs({scope:"all"})||[]).map(O=>({logicalTabId:O.logicalTabId,url:O.url,external:!!O.external})),taskScopedTabIds:Ka(),sourceLogicalTabId:f?.sourceLogicalTabId}),C=T1(),_=x==="allow_same_tab";if(_&&p){if(io=!0,Wp(qp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),An&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:An,e:co}))}catch{}if(ie){let O=ie.getActiveTask();O&&ie.dispatch(O.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}rs("same_tab_navigation_handoff_early")}let I=null;if(f?.targetUrl&&Ie&&u){let O=!!b&&!!h&&b!==h;I=await Ie.sendTabEvent({runId:u,currentUrl:window.location.href,targetUrl:f.targetUrl,message:C,currentHost:h||void 0,targetHost:b,isCrossHost:O}).catch(()=>null),I?.retryAttempted&&gt("tab_event_conflict_retry",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl}),I?.retryExhausted&&gt("tab_event_conflict_exhausted",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl})}let M=Jk({crossRegistrableDomain:v,fallbackDecision:x,serverDecision:I?.decision,serverAvailable:!!I}),G=M.decision;if(G==="block")return _&&(io=!1),{decision:"block",reason:M.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":I?.reason||"Navigation blocked by policy.",decisionReason:M.failSafeBlocked?"preflight_unavailable_block":I?.decisionReason||"policy_blocked"};if(G==="open_new_tab"){_&&(io=!1),A?.tools?.web?.scrapeMode==="on_demand"&&Ie&&f?.targetUrl&&DC(f.targetUrl).catch(()=>{});let Y=M.decisionReason==="preflight_unavailable_fallback"&&!I;return{decision:"open_new_tab",reason:I?.reason||(Y?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:I?.decisionReason||M.decisionReason||"open_new_tab"}}return!_&&p?(io=!0,Wp(qp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),rs("same_tab_navigation_handoff")):_||(io=!0),{decision:"allow_same_tab",reason:I?.reason||(M.decisionReason==="preflight_unavailable_fallback"&&!I?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:I?.decisionReason||M.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(io=!0,!p||!A)return;Wp(qp(f));let u=zm(),h=n("cross_host_navigation");Mk(A.siteId,{sessionId:p.sessionId,sessionToken:An,sessionTokenExpiresAt:co,openIntent:p.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:u?.handoffId||f?.handoffId,pendingRun:h?{id:h.id,text:h.text,startedAt:h.startedAt,attempts:h.attempts,taskBoundaryId:h.taskBoundaryId||qe}:void 0,handoff:u?{handoffId:u.handoffId,sourceLogicalTabId:u.sourceLogicalTabId,runId:u.runId,targetUrl:u.targetUrl,createdAt:u.createdAt}:void 0,activeTask:p.activeTask?{taskId:p.activeTask.taskId,status:p.activeTask.status}:void 0,taskEpoch:p.taskEpoch,timestamp:Date.now()}),rs("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Ut==="observer"?"observer":"controller";At?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Gc(r,t)});let o=new MessageChannel;Vb(o.port1,{getSnapshot:()=>At.getSnapshot(),getPageData:async f=>{let u=A||e,h=Number(f?.tabId),b=j?.getLocalLogicalTabId();if(!Number.isFinite(h)||h<=0||h===b||!j){let k=await At.getPageData(f);return Vd(k,"local"),k}let S=j.listTabs().find(k=>k.logicalTabId===h);if(!S){let k=Ka().includes(h);return yc({logicalTabId:h,external:!1},k?"detached_runtime_placeholder":"target_tab_missing")}if(S.runtimeId===Et){let k=await At.getPageData(f);return Vd(k,"local-target"),k}if(S.external)return yc(S,"external_domain_inaccessible");if(!S.runtimeId||!j.isTabAlive(h))return yc(S,"target_tab_inactive");try{let k=await j.sendCrossTabRpc(S.runtimeId,"getPageData",f,15e3);return Vd(k,"cross-tab"),k}catch{return yc(S,"cross_tab_rpc_failed")}},executeTool:async f=>{let u=A||e,h=f?.payload?.forceLocal===!0,b=String(f?.call?.name||"").trim(),v=Number(f?.call?.args?.tab_id),S=j?.getActiveLogicalTabId(),k=Number.isFinite(v)&&v>0?v:S;if(OC(b)){let I=f?.call?.serverResult;return I?I.success?{success:!0,output:I.data}:{success:!1,error:I.error||"Server-side execution failed"}:BC({call:f?.call,routeTabId:Number.isFinite(Number(k))?Number(k):void 0,runtimeCfg:u})}if(h)return At.executeTool(f.call,f.payload);let x=j?.getLocalLogicalTabId();if(!k||k===x||!j)return At.executeTool(f.call,f.payload);let _=j.listTabs().find(I=>I.logicalTabId===k);if(!_){let I=Ka().includes(k);return vc(u,{logicalTabId:k,external:!1},I?"detached_runtime_placeholder":"target_tab_missing")}if(_.external)return vc(u,_,"external_tab_action_blocked");if(_.runtimeId===Et)return At.executeTool(f.call,f.payload);if(!_.runtimeId||!j.isTabAlive(k))return vc(u,_,"target_tab_inactive");try{return await j.sendCrossTabRpc(_.runtimeId,"executeTool",f,2e4)}catch{return vc(u,_,"cross_tab_execute_failed")}},executeClientTool:f=>At.executeClientTool(f.name,f.args),listClientTools:()=>At.listClientTools(),getTabContext:()=>{let f=j?.getLocalLogicalTabId(),u=j?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:u||f||1,runtimeId:Et,mode:Ut,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!j)return[];let f=j.listTabs({scope:"all"}),u=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],h=new Set(Ka()),b=new Map,v=S=>{let k=Number(S?.logicalTabId||S?.id);!Number.isFinite(k)||k<=0||b.set(k,{...b.get(k)||{},...S,logicalTabId:k,id:k})};for(let S of f)v(S);for(let S of u){let k=Number(S?.logicalTabId);!Number.isFinite(k)||k<=0||(S.runtimeId||S.external||h.has(k))&&v(S)}return[...b.values()].sort((S,k)=>Number(S.logicalTabId)-Number(k.logicalTabId))}}),o.port1.start?.();let i=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",import.meta.url).toString(),a=i;try{let f=window.location.origin,u=new URL(i).origin;if(f!==u){let h=new Blob([`import '${i}';`],{type:"application/javascript"});a=URL.createObjectURL(h)}}catch{}ct=new Worker(a,{type:"module"}),ct.postMessage({type:"init",config:{...e,...na(),pageConfig:qc(A),publicKey:void 0,authToken:Bn(e),sessionToken:An,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!p)return;let u=p.pendingRun;if(u){ui(u.id),ct?.postMessage({type:"cancel_run",runId:u.id}),ci(u.id,f,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:u.id,reason:f}).catch(()=>{}),j?.releaseWorkflowLock(u.id),j?.setActiveRun(void 0),Qt(void 0),p.workerState=void 0,j?.setWorkerContext(void 0),qe=Gr(),p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),_w(f),Gt(void 0),Tt({kind:"info",title:"Run cancelled",status:"info"}),Rn("system","Task cancelled.",!0),Yi=void 0,fo=void 0,cs=0,Qe();return}let h=qr(p.workerState?.pendingAskUser?.questions).length>0,b=p.activeTask?.status;!h&&b!=="running"||(qe=Gr(),p.workerState=void 0,p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),Qt(void 0),wC(f),j?.endTask(f),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Gt(void 0),Yi=void 0,fo=void 0,cs=0,Tt({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Qe())},c={siteId:e.siteId,resolveElement:f=>Ek(f),getLocalLogicalTabId:()=>j?.getLocalLogicalTabId(),panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:Bw(Po(e.ui?.shortcuts||[])),experience:ku(e),greeting:Su(e),voice:lh(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:jr?.name,onVoiceTelemetry:(f,u)=>{C1(f,u)},onShortcutClick:f=>{let u=String(f.prompt||"").trim();u&&_r(u,{routing:f.routing,narrationEnabledForRun:nm,narrationPreferenceSource:rm,narrationRunKind:f.runKind,narrationLanguage:as})},onSend:(f,u)=>{_r(f,{askUserAnswers:u?.askUserAnswers,attachments:u?.attachments,narrationEnabledForRun:u?.narrationEnabledForRun===!0,narrationPreferenceSource:u?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:u?.narrationRunKind,narrationLanguage:u?.narrationLanguage})},onOpenConversations:()=>{km("drawer_open").catch(()=>{})},onNarrationPreferenceChange:(f,u,h,b)=>{nm=u&&f,rm=h==="visitor"?"visitor":"default",as=b},onRequestControl:()=>{z1()?Tt({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):Rn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{Tu({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{fh({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=ni;if(f){if(f.kind==="resume_run"){let u=Rt(p?.pendingRun);if(or(),!u||u.id!==f.runId){Gt("Previous task is no longer resumable.");return}lo({overridePolicyAction:"auto_resume"});return}_r(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=ni;if(f){if(f.kind==="resume_run"){let u=String(p?.pendingRun?.id||"").trim();if(or(),!u||u!==f.runId)return;rh({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}_r(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!ie||!p)return;let u=ie.getActiveTask();u&&le&&(u.scrollPosition=le.getScrollPosition());let h=String(j?.getState()?.activeRun?.runId||"").trim(),v=!!(String(p.pendingRun?.id||"").trim()||h);if(u&&u.taskId!==f&&v){Rn("system","Finish the active run before switching conversations.",!0);return}let S=ie.switchActiveTask(f);if(!S){(async()=>{let k=await Sr?.get(f);!k&&Vi&&(k=await Vi.get(f).catch(()=>null),k&&Sr?.upsert(k));let x=k?.payload?.taskRecord;if(!x)return;ie?.createTask("conversation_history_restore",x);let C=ie?.switchActiveTask(x.taskId);C&&(xm(C,{replayUi:!0}),p.activeTaskId=C.taskId,le?.setActiveConversationId(C.taskId),so(),Qe())})().catch(()=>{});return}xm(S,{replayUi:!0}),p.activeTaskId=f,le&&(requestAnimationFrame(()=>{S.scrollPosition!=null&&le.setScrollPosition(S.scrollPosition)}),le.setActiveConversationId(f)),so(),Qe()},onDeleteConversation:f=>{ie&&(ie.deleteTask(f),Sr?.remove(f,{deletedAt:Date.now()}),Vi?.delete(f).catch(()=>{}),so(),Qe())},onResumeTask:f=>{if(!ie)return;ie.dispatch(f,{type:"RESUME"}).accepted&&(le?.hidePausedTaskBanner(),ie.assignWorker(f,{}),so(),Qe())},onCancelPausedTask:f=>{if(!ie)return;ie.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(le?.hidePausedTaskBanner(),ie.archiveTask(f),so(),Qe())},onTabClick:f=>{j?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{ii=!0,nl(),p&&(p.uiOpen=!0,p.uiHidden=!1,Qe()),Kn(A),gt("open")},onClose:()=>{p&&(p.uiOpen=!1,Qe()),Kn(A),gt("close")}};le=bv(c),or(),bu(p?.uiMessages||[],p?.timeline||[]),yu(p),ps(),so(),km("boot").catch(()=>{}),p?.executionMode&&le.setExecutionMode(p.executionMode,{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),controllerRuntimeId:j?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:fw(),note:pw(p.executionMode)}),ct.onmessage=f=>{qC(f.data||{})};let l=()=>{j?.registerCurrentTab(window.location.href,document.title),j?.broadcastNavigation(window.location.href,document.title),ol("navigation"),rl("navigation"),gs("navigation")};Xa||(Xa=History.prototype.pushState),Ya||(Ya=History.prototype.replaceState);let d=Xa.bind(history),m=Ya.bind(history);history.pushState=function(...f){let u=d(...f);return setTimeout(l,0),u},history.replaceState=function(...f){let u=m(...f);return setTimeout(l,0),u},Gi(window,"popstate",l),p?.uiHidden?le.hide():(le.show(),p?.uiOpen??!!e.openOnInit?le.open():le.close()),p&&(p.uiHidden=!!p.uiHidden,p.uiOpen=!!p.uiOpen,Qe()),j&&(ih(j.getState(),"remote"),ea(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),Vc()}function uu(e){if(e=Pw(e),ei)return Im(e),ei;am&&Am(),am=!0,No=Sd(),Et=b1(e.siteId),Xt=Gx(e),Sr=gk({siteId:e.siteId,visitorId:Xt||Et}),Vi=new Td({apiBase:e.apiBase,getSessionToken:()=>Bn(A),siteId:e.siteId,visitorId:Xt||Et}),jr=e.visitor||k1(e.siteId),ii=!1,Wi=!1,nl(),Qi(),an=null,Wn=!1;let t=e.sessionId?.trim(),n=x1(e.siteId),r=!t&&e.sessionScope!=="tab"&&Xt?gx(e.siteId,Xt):void 0,o=qd(e.siteId,t||r),i=ts(e.siteId),a=Array.from(new Set([t?o:n,o,n,r?qd(e.siteId,r):void 0,i].filter(x=>!!x))),s=null,c=null;for(let x of a){let C=Y1(x);if(C){s=C,c=x;break}}qn=c||o,Co=i!==qn?i:null;let l=a.filter(x=>x!==qn);um(e.siteId,qn);let d=s?null:Rp(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&Rp(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(rt("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),pc(e.siteId)),d&&(pc(e.siteId),On=!0,Wn=!0,d.openIntent==="preserve_if_running"&&bx({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&ru(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&Xt?gx(e.siteId,Xt):void 0,u=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),h=s;if(!s&&d){let x=fm(d.sessionId,Et),C=String(d.activeTask?.status||"").trim().toLowerCase(),_=!C||C==="running";d.pendingRun&&_&&(x.pendingRun=Rt({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(x.lastNavigationHandoff=Oo({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(x.activeTask={...Gn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),x.taskEpoch=d.taskEpoch||1,Up(d.openIntent)&&(x.uiHidden=!1,x.uiOpen=!0),h=x}p=$c(h,u,Et),m&&p.sessionId!==m&&(p=fm(m,Et));let b=S1(e.siteId);qe=m1(p),b&&p.activeTask?.status==="running"&&(Wn=!0,Up(b.openIntent)&&(p.uiHidden=!1,p.uiOpen=!0,bx({runId:b.runId,taskId:p.activeTask?.taskId})),p.pendingRun=Rt({...p.pendingRun||{},id:p.pendingRun?.id||b.runId,text:p.pendingRun?.text||b.text||Cn||"Continue task",startedAt:p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||b.taskBoundaryId||qe,resumeRequired:!0,resumeReason:b.resumeReason||p.pendingRun?.resumeReason||"agent_navigation"})),p.pendingRun&&!p.pendingRun.taskBoundaryId&&(p.pendingRun=Rt({...p.pendingRun,taskBoundaryId:qe})),p.workerState&&!p.workerState.taskBoundaryId&&(p.workerState=$r(kn({...p.workerState,taskBoundaryId:qe}),qe)),Kc(p),A={...e,deepLink:tc(e.deepLink),pageConfig:uo(e.pageConfig),visitorId:Xt||e.visitorId,sessionId:m||p.sessionId,domainScopeMode:jc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},timing:{navigationDelayMs:yn(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:yn(e.timing?.actionTimeoutMs,Oc,12e4),domSettleDebounceMs:yn(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:yn(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:yn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:Xm(e.transport?.activation),idleCloseMs:Ym(e.transport?.idleCloseMs)},stability:{maxPersistBytes:ds(e.stability?.maxPersistBytes,Vt.localPersistBytes),maxSnapshotBytes:ds(e.stability?.maxSnapshotBytes,Vt.snapshotBytes)},task:{singleActiveScope:Jx(e.task?.singleActiveScope),tabScope:Qx(e.task?.tabScope),resume:{mode:Vm(e.task?.resume?.mode),ttlMs:tu(e.task?.resume?.ttlMs)},followup:{mode:Zx(e.task?.followup?.mode),ttlMs:Km(e.task?.followup?.ttlMs),minLexicalOverlap:Gm(e.task?.followup?.minLexicalOverlap)},observerInput:Wm(e.task?.observerInput),autoResumePolicy:qm(e.task?.autoResumePolicy)},chat:{inRun:ew(e.chat?.inRun),resumeFollowup:{mode:tw(e.chat?.resumeFollowup?.mode),maxTurns:nw(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:rw(e.external?.intentSelection),requireUserConfirm:ow(e.external?.requireUserConfirm),adversarialGate:iw(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:aw(e.features?.rover_v2_kernel_runtime)}},p.sessionId=A.sessionId,p.runtimeId=Et,qn=qd(e.siteId,p.sessionId),Co=qn!==ts(e.siteId)?ts(e.siteId):null,um(e.siteId,qn),p.executionMode=p.executionMode||"controller",p.timeline=Wr(p.timeline),p.uiMessages=Vr(p.uiMessages),p.activeTask=fi(p.activeTask,Gn("boot")),Dp(p.activeTask?.status)&&(p.pendingRun=void 0,p.workerState=void 0,On=!1,Wn=!1,Qi(),pc(e.siteId),Xx(e.siteId)),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1),Ut=p.executionMode,jr&&Kx(e.siteId,jr);let v={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(p.tasks&&Object.keys(p.tasks).length>0)ie=Fa.fromPersistedState({tasks:p.tasks,activeTaskId:p.activeTaskId,taskOrder:p.taskOrder},v);else{ie=Fa.fromV1State(p,v);let{tasks:x,activeTaskId:C,taskOrder:_}=ie.toPersistedState();p.tasks=x,p.activeTaskId=C,p.taskOrder=_}let S=ie.getActiveTask();S&&xm(S,{replayUi:!1}),Qe();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}Ir=!1,ss=!1,Kr=!1,Vn=0,Qd=null;try{let x=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(x){let{t:C,e:_}=JSON.parse(x);C&&typeof C=="string"&&C.startsWith("rvrsess_")&&Number(_)>Date.now()+2e3&&ru(C,Number(_))}}catch{}IM(A),po(A),ol("boot"),rl("boot"),gs("boot");let k=!!(An&&co>Date.now()+2e3);if((!Ie||k)&&(ss=!0),qn&&zC(qn,l.length?l:Co?[Co]:void 0),fC(),Xr(!0),On&&setTimeout(()=>{On&&!Kr&&(On=!1,lo())},SR),ei={boot:uu,init:Yw,update:Im,shutdown:Am,open:Un,close:uh,show:Jw,hide:Qw,send:Zw,newTask:Tu,endTask:fh,getState:r0,getAgentCard:Hx,requestSigned:t0,attachLaunch:e0,registerPromptContextProvider:n0,registerTool:o0,identify:Xw,on:zx},kM(),jd.length){for(let x of jd)Hm(x);jd.length=0}return ei}function Yw(e){return uu(e)}function Im(e){if(!ei||!ct||!A)return;e=Pw(e),A={...A,...e,deepLink:tc({...A.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?uo(e.pageConfig):A.pageConfig,domainScopeMode:jc(e.domainScopeMode??A.domainScopeMode),taskRouting:{...A.taskRouting,...e.taskRouting},timing:{...A.timing,...e.timing,navigationDelayMs:yn(e.timing?.navigationDelayMs??A.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:yn(e.timing?.actionTimeoutMs??A.timing?.actionTimeoutMs,Oc,12e4),domSettleDebounceMs:yn(e.timing?.domSettleDebounceMs??A.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:yn(e.timing?.domSettleMaxWaitMs??A.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:yn(e.timing?.domSettleRetries??A.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs??A.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts??A.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...A.transport,...e.transport,activation:Xm(e.transport?.activation??A.transport?.activation),idleCloseMs:Ym(e.transport?.idleCloseMs??A.transport?.idleCloseMs)},agentDiscovery:{...A.agentDiscovery,...e.agentDiscovery},stability:{...A.stability,...e.stability,maxPersistBytes:ds(e.stability?.maxPersistBytes??A.stability?.maxPersistBytes,Vt.localPersistBytes),maxSnapshotBytes:ds(e.stability?.maxSnapshotBytes??A.stability?.maxSnapshotBytes,Vt.snapshotBytes)},task:{...A.task,...e.task,singleActiveScope:Jx(e.task?.singleActiveScope??A.task?.singleActiveScope),tabScope:Qx(e.task?.tabScope??A.task?.tabScope),resume:{mode:Vm(e.task?.resume?.mode??A.task?.resume?.mode),ttlMs:tu(e.task?.resume?.ttlMs??A.task?.resume?.ttlMs)},followup:{mode:Zx(e.task?.followup?.mode??A.task?.followup?.mode),ttlMs:Km(e.task?.followup?.ttlMs??A.task?.followup?.ttlMs),minLexicalOverlap:Gm(e.task?.followup?.minLexicalOverlap??A.task?.followup?.minLexicalOverlap)},observerInput:Wm(e.task?.observerInput??A.task?.observerInput),autoResumePolicy:qm(e.task?.autoResumePolicy??A.task?.autoResumePolicy)},chat:{...A.chat,...e.chat,inRun:ew(e.chat?.inRun??A.chat?.inRun),resumeFollowup:{mode:tw(e.chat?.resumeFollowup?.mode??A.chat?.resumeFollowup?.mode),maxTurns:nw(e.chat?.resumeFollowup?.maxTurns??A.chat?.resumeFollowup?.maxTurns)}},external:{...A.external,...e.external,intentSelection:rw(e.external?.intentSelection??A.external?.intentSelection),requireUserConfirm:ow(e.external?.requireUserConfirm??A.external?.requireUserConfirm),adversarialGate:iw(e.external?.adversarialGate??A.external?.adversarialGate)},taskContext:{...A.taskContext,...e.taskContext},features:{...A.features,...e.features,rover_v2_kernel_runtime:aw(e.features?.rover_v2_kernel_runtime??A.features?.rover_v2_kernel_runtime)},ui:{...A.ui,...e.ui,agent:{...A.ui?.agent,...e.ui?.agent},experience:{...A.ui?.experience,...e.ui?.experience},panel:{...A.ui?.panel,...e.ui?.panel},voice:{...A.ui?.voice,...e.ui?.voice}},tools:{...A.tools,...e.tools,client:e.tools?.client??A.tools?.client,web:{...A.tools?.web,...e.tools?.web}}},Xt=Gx(A),Xt&&(A.visitorId=Xt),e.sessionId&&p?(p.sessionId=e.sessionId,qn=qd(A.siteId,p.sessionId),Co=qn!==ts(A.siteId)?ts(A.siteId):null,um(A.siteId,qn),Qe(),su(A)):(e.sessionScope||e.tabPolicy)&&su(A),sh(A),hu(A),po(A);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(At){typeof e.allowActions=="boolean"&&At.setAllowActions(e.allowActions&&Ut==="controller");let n=Ut==="controller"&&(A?.allowActions??!0),r=Ut==="observer"?"observer":"controller";At?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Gc(r,n)}),(e.allowedDomains||e.domainScopeMode)&&At.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:jc(e.domainScopeMode??A.domainScopeMode)})}ct.postMessage({type:"update_config",config:{...e,...na(),pageConfig:qc(A),publicKey:void 0,authToken:Bn(A),sessionToken:An,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ie?.getEpoch?.()??Mo,sessionSeq:Ie?.getLastSeq?.()??0}}),du(A),t?Gw(A):Vc(),e.visitor&&Xw(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||$m(p)?Un():uh()),ol("update"),rl("update"),gs("update"),Xr()}function Am(){Um(),Fm(),qx(),Om(),eu(),Qi(),or(),ns(),ch(!0),qi(!0),Qm(),Yt?.markDirty(),Yt?.syncNow({push:!0,pull:!1}),Yt?.stop(),Yt=null,Ie?.stop(),Ie=null,An=void 0,co=0,Mo=1,ri(void 0),Uc="",j?.stop(),j=null,ie?.shutdown(),ie=null,ct?.terminate(),ct=null,le?.destroy(),le=null,At=null,A=null,Ir=!1,Kr=!1,Vn=0,Bt&&(clearTimeout(Bt),Bt=null),Xo&&(clearTimeout(Xo),Xo=null),Hd=!1,Pn.clear(),ao.clear(),Tr.clear(),oo.clear(),Dc(),ji(),Hi="",Cc="",Tc="",QC(),Wa="",zi="",lu(),Lc="",Va="",Qo=null,vn=!1,ai=!1,Fc.clear(),cm=!1,io=!1,qe="",Et="",Xt=void 0,jr=void 0,ii=!1,Wi=!1,nl(),an=null,tm="",is=!1,zd=!1,Ga=!1,tr=[],Lx=0,Zp=0,em=0,Jd=0,Ic=!1,Lo&&(clearTimeout(Lo),Lo=null),ym="",$a="",Ut="controller",Hr=!0,ni=null,No=null,Qd=null,_c=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}ei=null;for(let e of ti)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(ti.length=0,Xa){try{History.prototype.pushState=Xa}catch{}Xa=null}if(Ya){try{History.prototype.replaceState=Ya}catch{}Ya=null}om=!1,im=!1,sm=!1,vn=!1,ai=!1,am=!1}function Un(){ii=!0,nl(),ai=!0,le?.show(),le?.open(),p&&(p.uiHidden=!1,p.uiOpen=!0,Qe()),Kn(A)}function uh(){le?.close(),Qi(),p&&(p.uiOpen=!1,Qe()),Kn(A)}function Jw(){le?.show(),p&&(p.uiHidden=!1,Qe()),Kn(A)}function Qw(){le?.hide(),Qi(),p&&(p.uiHidden=!0,p.uiOpen=!1,Qe()),Kn(A)}function Zw(e){e?.trim()&&_r(e)}async function e0(e){if(!A)return null;await po(A);let t=await Ie?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Ge?.requestId===t.requestId?Ge:null;return Ge={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:cu(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},Ki(),cu(t)?jw(t):Un(),t}async function t0(e,t={}){if(!A)throw new Error("Rover is not booted.");await po(A),await Ie?.ensureSession(!1);let n=Ie?.getSessionToken()||An||Bn(A);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),p?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",p.sessionId),A.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",A.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function n0(e){return typeof e!="function"?()=>{}:(Fc.add(e),()=>{Fc.delete(e)})}function Tu(e){if(!p)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Yi=void 0,fo=void 0,cs=0,p.pendingRun&&(ui(p.pendingRun.id),ct?.postMessage({type:"cancel_run",runId:p.pendingRun.id}),ci(p.pendingRun.id,t,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:p.pendingRun.id,reason:t}),j?.releaseWorkflowLock(p.pendingRun.id)),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),Kr=!1,Vn=0,Zc(),ie){let i=ie.createTask(t);ie.switchActiveTask(i.taskId),ie.dispatch(i.taskId,{type:"START",reason:t})}let r=pi({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(p.taskEpoch)||1);n&&(p.uiMessages=[],p.timeline=[],p.uiStatus=void 0,p.transientStatus=void 0,nh()),j?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),hr({forceReset:!0,persist:!1}),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Sw([]),Gt(void 0),Qe(),ct?.postMessage({type:"start_new_task",taskId:r.taskId,...na()}),Ie?.controlRun({action:"new_task",reason:t}),gt("visit_started",{visitId:r.taskId,reason:t,taskEpoch:o})}function fh(e){if(!p)return;let t=e?.reason||"manual_end_task";if(Yi=void 0,fo=void 0,cs=0,Kr=!1,Vn=0,Wn=!1,Zc(),ie){let o=ie.getActiveTask();o&&ie.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=p.pendingRun?.id,r=pi({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(ui(n),ct?.postMessage({type:"cancel_run",runId:n}),ci(n,t,{attemptImmediately:!0}),Ie?.controlRun({action:"cancel",runId:n,reason:t}),j?.releaseWorkflowLock(n)),Qt(void 0),qe=Gr(),p.workerState=void 0,p.taskTabScope=void 0,hr({forceReset:!0,persist:!1}),Er(),Jt&&(clearTimeout(Jt),Jt=null),le?.setRunning(!1),le?.setQuestionPrompt(void 0),or(),Gt(void 0),Ie?.controlRun({action:"end_task",runId:n,reason:t}),j?.endTask(t),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Qe(),Tt({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),gt("visit_ended",{visitId:r.taskId,reason:t,endedAt:r.endedAt}))}function r0(){let e=A1(Bn()),t=p?ah(p):null,n=Ox();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Ut,runtimeId:Et,runtimeState:t,sharedState:j?.getState()||null,launchBinding:n,pendingTaskSuggestion:ni,currentAgentAttribution:e}}function o0(e,t){let n=n1(e);if(!ei||!At||!ct){jd.push({def:n,handler:t});return}Hm({def:n,handler:t})}function AM(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var _B={normalizePendingRunResumeReason:nc,sanitizeWorkerState:kn,cloneRuntimeStateForCheckpoint:ah,getPersistGovernorConfig:()=>({minPersistIntervalMs:vm,maxCoalesceDelayMs:xw}),getTelemetryFastLaneEvents:()=>Array.from(Dx.values()),normalizePromptContextEntry:Bx,buildPublicRunStartedPayload:Ux,buildPublicRunLifecyclePayload:Fx,resolveEffectiveShortcutsForTests:(e,t)=>{let n=an;an=t?{shortcuts:Po(t.shortcuts||[]),businessType:bs(t.businessType),experience:oi(t.experience),greeting:di(t.greeting),voice:ra(t.voice),aiAccess:oa(t.aiAccess),limits:el(t.limits),pageConfig:uo(t.pageConfig),agentDiscovery:Li(t.agentDiscovery),version:typeof t.version=="string"?t.version:void 0}:null;try{return wu(e)}finally{an=n}}};function RM(){let e=window,t=e.rover,n=((r,...o)=>{let i=AM(r),a=i?n[i]:void 0;if(typeof a=="function")return a(...o)});if(n.boot=uu,n.init=Yw,n.update=Im,n.shutdown=Am,n.open=Un,n.close=uh,n.show=Jw,n.hide=Qw,n.send=Zw,n.attachLaunch=e0,n.newTask=Tu,n.endTask=fh,n.getState=r0,n.getAgentCard=Hx,n.requestSigned=t0,n.registerPromptContextProvider=n0,n.registerTool=o0,n.on=zx,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...i]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...i)}if(!ei){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=Vv(r);o&&uu(o)}}}RM();export{_B as __roverInternalsForTests,e0 as attachLaunch,uu as boot,uh as close,Di as createRoverAgentCard,uc as createRoverAgentCardJson,CI as createRoverAgentDiscoveryTags,nI as createRoverBookmarklet,tI as createRoverConsoleSnippet,$I as createRoverOwnerInstallBundle,rI as createRoverScriptTagSnippet,kp as createRoverServiceDescLinkHeader,dc as createRoverSiteProfile,vd as createRoverSiteProfileJson,AI as createRoverWellKnownAgentCard,RI as createRoverWellKnownSiteProfile,fh as endTask,Hx as getAgentCard,r0 as getState,Qw as hide,Xw as identify,Yw as init,RM as installGlobal,Tu as newTask,Un as open,Vv as readRoverScriptDataAttributes,n0 as registerPromptContextProvider,o0 as registerTool,t0 as requestSigned,Zw as send,Jw as show,Am as shutdown,Im as update};