@reticlehq/browser 3.7.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/action-report.d.ts +10 -0
- package/dist/actions/action-report.js +29 -2
- package/dist/actions/actions-dom.d.ts +4 -0
- package/dist/actions/actions-dom.js +20 -4
- package/dist/actions/actions.d.ts +1 -0
- package/dist/actions/actions.js +35 -17
- package/dist/actions/appeared-text.js +2 -2
- package/dist/actions/click-target.d.ts +1 -0
- package/dist/actions/click-target.js +14 -0
- package/dist/actions/danger-context.d.ts +2 -1
- package/dist/actions/danger-context.js +20 -5
- package/dist/activate.d.ts +14 -0
- package/dist/activate.js +43 -0
- package/dist/busy.d.ts +3 -0
- package/dist/busy.js +42 -0
- package/dist/commands/commands.js +45 -17
- package/dist/connect-options.d.ts +12 -1
- package/dist/connect-options.js +18 -1
- package/dist/dom/a11y.d.ts +2 -0
- package/dist/dom/a11y.js +191 -159
- package/dist/dom/chart.d.ts +3 -2
- package/dist/dom/chart.js +3 -2
- package/dist/dom/dom-ignore.d.ts +6 -0
- package/dist/dom/dom-ignore.js +43 -1
- package/dist/dom/layout-audit.d.ts +15 -0
- package/dist/dom/layout-audit.js +208 -0
- package/dist/dom/paint-context.d.ts +15 -0
- package/dist/dom/paint-context.js +78 -0
- package/dist/dom/query.d.ts +2 -1
- package/dist/dom/query.js +97 -34
- package/dist/dom/shadow-registry.d.ts +1 -0
- package/dist/dom/shadow-registry.js +27 -0
- package/dist/dom/snapshot.d.ts +5 -0
- package/dist/dom/snapshot.js +85 -34
- package/dist/dom/stable-selector.d.ts +1 -0
- package/dist/dom/stable-selector.js +19 -0
- package/dist/dom/text-match.d.ts +12 -0
- package/dist/dom/text-match.js +115 -0
- package/dist/dom/theme.d.ts +1 -0
- package/dist/dom/theme.js +21 -9
- package/dist/dom/virtualized.js +5 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -0
- package/dist/observers/blind-spots.js +3 -2
- package/dist/observers/canvas.d.ts +18 -0
- package/dist/observers/canvas.js +76 -0
- package/dist/observers/dom.js +66 -18
- package/dist/observers/field.d.ts +11 -0
- package/dist/observers/field.js +117 -13
- package/dist/observers/install-all.js +4 -0
- package/dist/observers/media.d.ts +2 -0
- package/dist/observers/media.js +32 -0
- package/dist/observers/net-detail/network-body.d.ts +2 -0
- package/dist/observers/net-detail/network-body.js +8 -1
- package/dist/observers/network.js +26 -6
- package/dist/observers/route.d.ts +2 -0
- package/dist/observers/route.js +33 -4
- package/dist/presenter/chrome/presenter-report-copy.d.ts +0 -5
- package/dist/presenter/chrome/presenter-report-copy.js +0 -14
- package/dist/presenter/hud-telemetry.js +1 -1
- package/dist/presenter/presenter-chat-views.d.ts +3 -4
- package/dist/presenter/presenter-chat-views.js +47 -20
- package/dist/presenter/presenter-config.d.ts +1 -0
- package/dist/presenter/presenter-config.js +1 -0
- package/dist/presenter/presenter-frame.d.ts +3 -2
- package/dist/presenter/presenter-frame.js +24 -15
- package/dist/presenter/presenter-harness-row.d.ts +4 -15
- package/dist/presenter/presenter-harness-row.js +11 -50
- package/dist/presenter/presenter-report-styles.js +0 -17
- package/dist/presenter/presenter-report.d.ts +1 -2
- package/dist/presenter/presenter-report.js +4 -54
- package/dist/presenter/presenter-run-state.js +2 -1
- package/dist/presenter/presenter-settings.d.ts +2 -3
- package/dist/presenter/presenter-settings.js +14 -17
- package/dist/presenter/presenter-shell.d.ts +6 -4
- package/dist/presenter/presenter-shell.js +37 -7
- package/dist/presenter/presenter.js +32 -11
- package/dist/registry/store-adapters.d.ts +5 -2
- package/dist/registry/store-adapters.js +40 -10
- package/dist/reticle-inject.js +602 -611
- package/dist/reticle.d.ts +4 -2
- package/dist/reticle.js +36 -6
- package/dist/security/page-location.d.ts +2 -0
- package/dist/security/page-location.js +7 -0
- package/dist/security/serialization.js +1 -1
- package/dist/storage-keys.d.ts +1 -0
- package/dist/storage-keys.js +1 -0
- package/dist/timers/native/native-timers.d.ts +1 -0
- package/dist/timers/native/native-timers.js +5 -0
- package/dist/transport/transport.d.ts +1 -0
- package/dist/transport/transport.js +18 -0
- package/package.json +6 -2
package/dist/reticle-inject.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var ReticleSdk=(()=>{var em=Object.defineProperty;var ZC=Object.getOwnPropertyDescriptor;var QC=Object.getOwnPropertyNames;var JC=Object.prototype.hasOwnProperty;var JT=t=>{throw TypeError(t)};var S=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var bs=(t,e)=>{for(var n in e)em(t,n,{get:e[n],enumerable:!0})},eL=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of QC(e))!JC.call(t,o)&&o!==n&&em(t,o,{get:()=>e[o],enumerable:!(r=ZC(e,o))||r.enumerable});return t};var tL=t=>eL(em({},"__esModule",{value:!0}),t);var tm=(t,e,n)=>e.has(t)||JT("Cannot "+n);var c=(t,e,n)=>(tm(t,e,"read from private field"),n?n.call(t):e.get(t)),b=(t,e,n)=>e.has(t)?JT("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),h=(t,e,n,r)=>(tm(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),E=(t,e,n)=>(tm(t,e,"access private method"),n);var eS=(t,e,n,r)=>({set _(o){h(t,e,o,n)},get _(){return c(t,e,r)}});var tS=S(()=>{"use strict"});var le,nm,P,vr,Pl=S(()=>{(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{let a={};for(let s of o)a[s]=s;return a},t.getValidEnumValues=o=>{let a=t.objectKeys(o).filter(l=>typeof o[o[l]]!="number"),s={};for(let l of a)s[l]=o[l];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(a){return o[a]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let a=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&a.push(s);return a},t.find=(o,a)=>{for(let s of o)if(a(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,a=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(a)}t.joinValues=r,t.jsonStringifyReplacer=(o,a)=>typeof a=="bigint"?a.toString():a})(le||(le={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(nm||(nm={}));P=le.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vr=t=>{switch(typeof t){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(t)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(t)?P.array:t===null?P.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?P.promise:typeof Map!="undefined"&&t instanceof Map?P.map:typeof Set!="undefined"&&t instanceof Set?P.set:typeof Date!="undefined"&&t instanceof Date?P.date:P.object;default:return P.unknown}}});var N,nL,Zt,Yu=S(()=>{Pl();N=le.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),nL=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Zt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(a){return a.message},r={_errors:[]},o=a=>{for(let s of a.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let l=r,d=0;for(;d<s.path.length;){let u=s.path[d];d===s.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(n(s))):l[u]=l[u]||{_errors:[]},l=l[u],d++}}};return o(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,le.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let a=o.path[0];n[a]=n[a]||[],n[a].push(e(o))}else r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Zt.create=t=>new Zt(t)});var rL,oo,rm=S(()=>{Yu();Pl();rL=(t,e)=>{let n;switch(t.code){case N.invalid_type:t.received===P.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case N.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,le.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:n=`Unrecognized key(s) in object: ${le.joinValues(t.keys,", ")}`;break;case N.invalid_union:n="Invalid input";break;case N.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${le.joinValues(t.options)}`;break;case N.invalid_enum_value:n=`Invalid enum value. Expected ${le.joinValues(t.options)}, received '${t.received}'`;break;case N.invalid_arguments:n="Invalid function arguments";break;case N.invalid_return_type:n="Invalid function return type";break;case N.invalid_date:n="Invalid date";break;case N.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:le.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case N.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case N.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case N.custom:n="Invalid input";break;case N.invalid_intersection_types:n="Intersection results could not be merged";break;case N.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case N.not_finite:n="Number must be finite";break;default:n=e.defaultError,le.assertNever(t)}return{message:n}},oo=rL});function oL(t){nS=t}function Ts(){return nS}var nS,Xu=S(()=>{rm();nS=oo});function M(t,e){let n=Ts(),r=Hl({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===oo?void 0:oo].filter(o=>!!o)});t.common.issues.push(r)}var Hl,iL,ft,W,Bi,yt,qu,Zu,zo,Ss,om=S(()=>{Xu();rm();Hl=t=>{let{data:e,path:n,errorMaps:r,issueData:o}=t,a=[...n,...o.path||[]],s={...o,path:a};if(o.message!==void 0)return{...o,path:a,message:o.message};let l="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)l=u(s,{data:e,defaultError:l}).message;return{...o,path:a,message:l}},iL=[];ft=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let o of n){if(o.status==="aborted")return W;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let o of n){let a=await o.key,s=await o.value;r.push({key:a,value:s})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let o of n){let{key:a,value:s}=o;if(a.status==="aborted"||s.status==="aborted")return W;a.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof s.value!="undefined"||o.alwaysSet)&&(r[a.value]=s.value)}return{status:e.value,value:r}}},W=Object.freeze({status:"aborted"}),Bi=t=>({status:"dirty",value:t}),yt=t=>({status:"valid",value:t}),qu=t=>t.status==="aborted",Zu=t=>t.status==="dirty",zo=t=>t.status==="valid",Ss=t=>typeof Promise!="undefined"&&t instanceof Promise});var rS=S(()=>{});var V,oS=S(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}))});function Q(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(s,l)=>{var u,p;let{message:d}=t;return s.code==="invalid_enum_value"?{message:d!=null?d:l.defaultError}:typeof l.data=="undefined"?{message:(u=d!=null?d:r)!=null?u:l.defaultError}:s.code!=="invalid_type"?{message:l.defaultError}:{message:(p=d!=null?d:n)!=null?p:l.defaultError}},description:o}}function cS(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function xL(t){return new RegExp(`^${cS(t)}$`)}function lS(t){let e=`${sS}T${cS(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function AL(t,e){return!!((e==="v4"||!e)&&mL.test(t)||(e==="v6"||!e)&&EL.test(t))}function yL(t,e){if(!uL.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function vL(t,e){return!!((e==="v4"||!e)&&gL.test(t)||(e==="v6"||!e)&&bL.test(t))}function RL(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,a=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return a%s/10**o}function _s(t){if(t instanceof Qt){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Ln.create(_s(r))}return new Qt({...t._def,shape:()=>e})}else return t instanceof so?new so({...t._def,type:_s(t.element)}):t instanceof Ln?Ln.create(_s(t.unwrap())):t instanceof Nr?Nr.create(_s(t.unwrap())):t instanceof Rr?Rr.create(t.items.map(e=>_s(e))):t}function am(t,e){let n=vr(t),r=vr(e);if(t===e)return{valid:!0,data:t};if(n===P.object&&r===P.object){let o=le.objectKeys(e),a=le.objectKeys(t).filter(l=>o.indexOf(l)!==-1),s={...t,...e};for(let l of a){let d=am(t[l],e[l]);if(!d.valid)return{valid:!1};s[l]=d.data}return{valid:!0,data:s}}else if(n===P.array&&r===P.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let a=0;a<t.length;a++){let s=t[a],l=e[a],d=am(s,l);if(!d.valid)return{valid:!1};o.push(d.data)}return{valid:!0,data:o}}else return n===P.date&&r===P.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function dS(t,e){return new Ji({values:t,typeName:z.ZodEnum,...Q(e)})}function aS(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function uS(t,e={},n){return t?Xo.create().superRefine((r,o)=>{var s,l;let a=t(r);if(a instanceof Promise)return a.then(d=>{var u,p;if(!d){let f=aS(e,r),m=(p=(u=f.fatal)!=null?u:n)!=null?p:!0;o.addIssue({code:"custom",...f,fatal:m})}});if(!a){let d=aS(e,r),u=(l=(s=d.fatal)!=null?s:n)!=null?l:!0;o.addIssue({code:"custom",...d,fatal:u})}}):Xo.create()}var kn,iS,ie,aL,sL,cL,lL,dL,uL,pL,fL,hL,im,mL,gL,EL,bL,TL,SL,sS,_L,Yo,Vi,ji,Ki,Wi,xs,zi,Yi,Xo,ao,er,As,so,Qt,Xi,io,Qu,qi,Rr,Ju,ys,vs,ep,Zi,Qi,Ji,ea,qo,Dn,Ln,Nr,ta,na,Rs,NL,Ul,Fl,ra,wL,z,OL,pS,fS,IL,CL,hS,LL,kL,DL,ML,$L,PL,HL,UL,FL,GL,BL,VL,jL,KL,WL,zL,YL,XL,qL,ZL,QL,JL,e1,t1,n1,r1,o1,i1,a1,s1,c1,l1,d1,u1,mS=S(()=>{Yu();Xu();oS();om();Pl();kn=class{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},iS=(t,e)=>{if(zo(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Zt(t.common.issues);return this._error=n,this._error}}};ie=class{get description(){return this._def.description}_getType(e){return vr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:vr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ft,ctx:{common:e.parent.common,data:e.data,parsedType:vr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Ss(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var a;let r={common:{issues:[],async:(a=n==null?void 0:n.async)!=null?a:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)},o=this._parseSync({data:e,path:r.path,parent:r});return iS(r,o)}"~validate"(e){var r,o;let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:n});return zo(a)?{value:a.value}:{issues:n.common.issues}}catch(a){(o=(r=a==null?void 0:a.message)==null?void 0:r.toLowerCase())!=null&&o.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(a=>zo(a)?{value:a.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:vr(e)},o=this._parse({data:e,path:r.path,parent:r}),a=await(Ss(o)?o:Promise.resolve(o));return iS(r,a)}refine(e,n){let r=o=>typeof n=="string"||typeof n=="undefined"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,a)=>{let s=e(o),l=()=>a.addIssue({code:N.custom,...r(o)});return typeof Promise!="undefined"&&s instanceof Promise?s.then(d=>d?!0:(l(),!1)):s?!0:(l(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new Dn({schema:this,typeName:z.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ln.create(this,this._def)}nullable(){return Nr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return so.create(this)}promise(){return qo.create(this,this._def)}or(e){return Xi.create([this,e],this._def)}and(e){return qi.create(this,e,this._def)}transform(e){return new Dn({...Q(this._def),schema:this,typeName:z.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new ta({...Q(this._def),innerType:this,defaultValue:n,typeName:z.ZodDefault})}brand(){return new Ul({typeName:z.ZodBranded,type:this,...Q(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new na({...Q(this._def),innerType:this,catchValue:n,typeName:z.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return Fl.create(this,e)}readonly(){return ra.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},aL=/^c[^\s-]{8,}$/i,sL=/^[0-9a-z]+$/,cL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,dL=/^[a-z0-9_-]{21}$/i,uL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pL=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,fL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,gL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,EL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,bL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,TL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,SL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sS="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",_L=new RegExp(`^${sS}$`);Yo=class t extends ie{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==P.string){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.string,received:a.parsedType}),W}let r=new ft,o;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="max")e.data.length>a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="length"){let s=e.data.length>a.value,l=e.data.length<a.value;(s||l)&&(o=this._getOrReturnCtx(e,o),s?M(o,{code:N.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):l&&M(o,{code:N.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),r.dirty())}else if(a.kind==="email")fL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"email",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="emoji")im||(im=new RegExp(hL,"u")),im.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"emoji",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="uuid")lL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"uuid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="nanoid")dL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"nanoid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid")aL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cuid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid2")sL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cuid2",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="ulid")cL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"ulid",code:N.invalid_string,message:a.message}),r.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),M(o,{validation:"url",code:N.invalid_string,message:a.message}),r.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"regex",code:N.invalid_string,message:a.message}),r.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),r.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{startsWith:a.value},message:a.message}),r.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:{endsWith:a.value},message:a.message}),r.dirty()):a.kind==="datetime"?lS(a).test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"datetime",message:a.message}),r.dirty()):a.kind==="date"?_L.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"date",message:a.message}),r.dirty()):a.kind==="time"?xL(a).test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{code:N.invalid_string,validation:"time",message:a.message}),r.dirty()):a.kind==="duration"?pL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"duration",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="ip"?AL(e.data,a.version)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"ip",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="jwt"?yL(e.data,a.alg)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"jwt",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="cidr"?vL(e.data,a.version)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"cidr",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="base64"?TL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"base64",code:N.invalid_string,message:a.message}),r.dirty()):a.kind==="base64url"?SL.test(e.data)||(o=this._getOrReturnCtx(e,o),M(o,{validation:"base64url",code:N.invalid_string,message:a.message}),r.dirty()):le.assertNever(a);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:N.invalid_string,...V.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...V.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...V.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!=null?n:!1,local:(r=e==null?void 0:e.local)!=null?r:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...V.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...V.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...V.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...V.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...V.errToObj(n)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Yo.create=t=>{var e;return new Yo({checks:[],typeName:z.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...Q(t)})};Vi=class t extends ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==P.number){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.number,received:a.parsedType}),W}let r,o=new ft;for(let a of this._def.checks)a.kind==="int"?le.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),M(r,{code:N.invalid_type,expected:"integer",received:"float",message:a.message}),o.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),o.dirty()):a.kind==="multipleOf"?RL(e.data,a.value)!==0&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_finite,message:a.message}),o.dirty()):le.assertNever(a);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&le.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Vi.create=t=>new Vi({checks:[],typeName:z.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Q(t)});ji=class t extends ie{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==P.bigint)return this._getInvalidInput(e);let r,o=new ft;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),o.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),M(r,{code:N.not_multiple_of,multipleOf:a.value,message:a.message}),o.dirty()):le.assertNever(a);return{status:o.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return M(n,{code:N.invalid_type,expected:P.bigint,received:n.parsedType}),W}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ji.create=t=>{var e;return new ji({checks:[],typeName:z.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...Q(t)})};Ki=class extends ie{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==P.boolean){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.boolean,received:r.parsedType}),W}return yt(e.data)}};Ki.create=t=>new Ki({typeName:z.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Q(t)});Wi=class t extends ie{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==P.date){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_type,expected:P.date,received:a.parsedType}),W}if(Number.isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return M(a,{code:N.invalid_date}),W}let r=new ft,o;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),r.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(o=this._getOrReturnCtx(e,o),M(o,{code:N.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),r.dirty()):le.assertNever(a);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Wi.create=t=>new Wi({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:z.ZodDate,...Q(t)});xs=class extends ie{_parse(e){if(this._getType(e)!==P.symbol){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.symbol,received:r.parsedType}),W}return yt(e.data)}};xs.create=t=>new xs({typeName:z.ZodSymbol,...Q(t)});zi=class extends ie{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.undefined,received:r.parsedType}),W}return yt(e.data)}};zi.create=t=>new zi({typeName:z.ZodUndefined,...Q(t)});Yi=class extends ie{_parse(e){if(this._getType(e)!==P.null){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.null,received:r.parsedType}),W}return yt(e.data)}};Yi.create=t=>new Yi({typeName:z.ZodNull,...Q(t)});Xo=class extends ie{constructor(){super(...arguments),this._any=!0}_parse(e){return yt(e.data)}};Xo.create=t=>new Xo({typeName:z.ZodAny,...Q(t)});ao=class extends ie{constructor(){super(...arguments),this._unknown=!0}_parse(e){return yt(e.data)}};ao.create=t=>new ao({typeName:z.ZodUnknown,...Q(t)});er=class extends ie{_parse(e){let n=this._getOrReturnCtx(e);return M(n,{code:N.invalid_type,expected:P.never,received:n.parsedType}),W}};er.create=t=>new er({typeName:z.ZodNever,...Q(t)});As=class extends ie{_parse(e){if(this._getType(e)!==P.undefined){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.void,received:r.parsedType}),W}return yt(e.data)}};As.create=t=>new As({typeName:z.ZodVoid,...Q(t)});so=class t extends ie{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==P.array)return M(n,{code:N.invalid_type,expected:P.array,received:n.parsedType}),W;if(o.exactLength!==null){let s=n.data.length>o.exactLength.value,l=n.data.length<o.exactLength.value;(s||l)&&(M(n,{code:s?N.too_big:N.too_small,minimum:l?o.exactLength.value:void 0,maximum:s?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(M(n,{code:N.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(M(n,{code:N.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,l)=>o.type._parseAsync(new kn(n,s,n.path,l)))).then(s=>ft.mergeArray(r,s));let a=[...n.data].map((s,l)=>o.type._parseSync(new kn(n,s,n.path,l)));return ft.mergeArray(r,a)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:V.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:V.toString(n)}})}nonempty(e){return this.min(1,e)}};so.create=(t,e)=>new so({type:t,minLength:null,maxLength:null,exactLength:null,typeName:z.ZodArray,...Q(e)});Qt=class t extends ie{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=le.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==P.object){let u=this._getOrReturnCtx(e);return M(u,{code:N.invalid_type,expected:P.object,received:u.parsedType}),W}let{status:r,ctx:o}=this._processInputParams(e),{shape:a,keys:s}=this._getCached(),l=[];if(!(this._def.catchall instanceof er&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||l.push(u);let d=[];for(let u of s){let p=a[u],f=o.data[u];d.push({key:{status:"valid",value:u},value:p._parse(new kn(o,f,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof er){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of l)d.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")l.length>0&&(M(o,{code:N.unrecognized_keys,keys:l}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of l){let f=o.data[p];d.push({key:{status:"valid",value:p},value:u._parse(new kn(o,f,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of d){let f=await p.key,m=await p.value;u.push({key:f,value:m,alwaysSet:p.alwaysSet})}return u}).then(u=>ft.mergeObjectSync(r,u)):ft.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var a,s,l,d;let o=(l=(s=(a=this._def).errorMap)==null?void 0:s.call(a,n,r).message)!=null?l:r.defaultError;return n.code==="unrecognized_keys"?{message:(d=V.errToObj(e).message)!=null?d:o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:z.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of le.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of le.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return _s(this)}partial(e){let n={};for(let r of le.objectKeys(this.shape)){let o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of le.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let a=this.shape[r];for(;a instanceof Ln;)a=a._def.innerType;n[r]=a}return new t({...this._def,shape:()=>n})}keyof(){return dS(le.objectKeys(this.shape))}};Qt.create=(t,e)=>new Qt({shape:()=>t,unknownKeys:"strip",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Qt.strictCreate=(t,e)=>new Qt({shape:()=>t,unknownKeys:"strict",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Qt.lazycreate=(t,e)=>new Qt({shape:t,unknownKeys:"strip",catchall:er.create(),typeName:z.ZodObject,...Q(e)});Xi=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function o(a){for(let l of a)if(l.result.status==="valid")return l.result;for(let l of a)if(l.result.status==="dirty")return n.common.issues.push(...l.ctx.common.issues),l.result;let s=a.map(l=>new Zt(l.ctx.common.issues));return M(n,{code:N.invalid_union,unionErrors:s}),W}if(n.common.async)return Promise.all(r.map(async a=>{let s={...n,common:{...n.common,issues:[]},parent:null};return{result:await a._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(o);{let a,s=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},p=d._parseSync({data:n.data,path:n.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(a)return n.common.issues.push(...a.ctx.common.issues),a.result;let l=s.map(d=>new Zt(d));return M(n,{code:N.invalid_union,unionErrors:l}),W}}get options(){return this._def.options}};Xi.create=(t,e)=>new Xi({options:t,typeName:z.ZodUnion,...Q(e)});io=t=>t instanceof Zi?io(t.schema):t instanceof Dn?io(t.innerType()):t instanceof Qi?[t.value]:t instanceof Ji?t.options:t instanceof ea?le.objectValues(t.enum):t instanceof ta?io(t._def.innerType):t instanceof zi?[void 0]:t instanceof Yi?[null]:t instanceof Ln?[void 0,...io(t.unwrap())]:t instanceof Nr?[null,...io(t.unwrap())]:t instanceof Ul||t instanceof ra?io(t.unwrap()):t instanceof na?io(t._def.innerType):[],Qu=class t extends ie{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.object)return M(n,{code:N.invalid_type,expected:P.object,received:n.parsedType}),W;let r=this.discriminator,o=n.data[r],a=this.optionsMap.get(o);return a?n.common.async?a._parseAsync({data:n.data,path:n.path,parent:n}):a._parseSync({data:n.data,path:n.path,parent:n}):(M(n,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),W)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let o=new Map;for(let a of n){let s=io(a.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let l of s){if(o.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);o.set(l,a)}}return new t({typeName:z.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...Q(r)})}};qi=class extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=(a,s)=>{if(qu(a)||qu(s))return W;let l=am(a.value,s.value);return l.valid?((Zu(a)||Zu(s))&&n.dirty(),{status:n.value,value:l.data}):(M(r,{code:N.invalid_intersection_types}),W)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([a,s])=>o(a,s)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};qi.create=(t,e,n)=>new qi({left:t,right:e,typeName:z.ZodIntersection,...Q(n)});Rr=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.array)return M(r,{code:N.invalid_type,expected:P.array,received:r.parsedType}),W;if(r.data.length<this._def.items.length)return M(r,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W;!this._def.rest&&r.data.length>this._def.items.length&&(M(r,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let a=[...r.data].map((s,l)=>{let d=this._def.items[l]||this._def.rest;return d?d._parse(new kn(r,s,r.path,l)):null}).filter(s=>!!s);return r.common.async?Promise.all(a).then(s=>ft.mergeArray(n,s)):ft.mergeArray(n,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Rr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Rr({items:t,typeName:z.ZodTuple,rest:null,...Q(e)})};Ju=class t extends ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.object)return M(r,{code:N.invalid_type,expected:P.object,received:r.parsedType}),W;let o=[],a=this._def.keyType,s=this._def.valueType;for(let l in r.data)o.push({key:a._parse(new kn(r,l,r.path,l)),value:s._parse(new kn(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?ft.mergeObjectAsync(n,o):ft.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof ie?new t({keyType:e,valueType:n,typeName:z.ZodRecord,...Q(r)}):new t({keyType:Yo.create(),valueType:e,typeName:z.ZodRecord,...Q(n)})}},ys=class extends ie{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.map)return M(r,{code:N.invalid_type,expected:P.map,received:r.parsedType}),W;let o=this._def.keyType,a=this._def.valueType,s=[...r.data.entries()].map(([l,d],u)=>({key:o._parse(new kn(r,l,r.path,[u,"key"])),value:a._parse(new kn(r,d,r.path,[u,"value"]))}));if(r.common.async){let l=new Map;return Promise.resolve().then(async()=>{for(let d of s){let u=await d.key,p=await d.value;if(u.status==="aborted"||p.status==="aborted")return W;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}})}else{let l=new Map;for(let d of s){let u=d.key,p=d.value;if(u.status==="aborted"||p.status==="aborted")return W;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}}}};ys.create=(t,e,n)=>new ys({valueType:e,keyType:t,typeName:z.ZodMap,...Q(n)});vs=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==P.set)return M(r,{code:N.invalid_type,expected:P.set,received:r.parsedType}),W;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(M(r,{code:N.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(M(r,{code:N.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());let a=this._def.valueType;function s(d){let u=new Set;for(let p of d){if(p.status==="aborted")return W;p.status==="dirty"&&n.dirty(),u.add(p.value)}return{status:n.value,value:u}}let l=[...r.data.values()].map((d,u)=>a._parse(new kn(r,d,r.path,u)));return r.common.async?Promise.all(l).then(d=>s(d)):s(l)}min(e,n){return new t({...this._def,minSize:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:V.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};vs.create=(t,e)=>new vs({valueType:t,minSize:null,maxSize:null,typeName:z.ZodSet,...Q(e)});ep=class t extends ie{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.function)return M(n,{code:N.invalid_type,expected:P.function,received:n.parsedType}),W;function r(l,d){return Hl({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),oo].filter(u=>!!u),issueData:{code:N.invalid_arguments,argumentsError:d}})}function o(l,d){return Hl({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),oo].filter(u=>!!u),issueData:{code:N.invalid_return_type,returnTypeError:d}})}let a={errorMap:n.common.contextualErrorMap},s=n.data;if(this._def.returns instanceof qo){let l=this;return yt(async function(...d){let u=new Zt([]),p=await l._def.args.parseAsync(d,a).catch(g=>{throw u.addIssue(r(d,g)),u}),f=await Reflect.apply(s,this,p);return await l._def.returns._def.type.parseAsync(f,a).catch(g=>{throw u.addIssue(o(f,g)),u})})}else{let l=this;return yt(function(...d){let u=l._def.args.safeParse(d,a);if(!u.success)throw new Zt([r(d,u.error)]);let p=Reflect.apply(s,this,u.data),f=l._def.returns.safeParse(p,a);if(!f.success)throw new Zt([o(p,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Rr.create(e).rest(ao.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||Rr.create([]).rest(ao.create()),returns:n||ao.create(),typeName:z.ZodFunction,...Q(r)})}},Zi=class extends ie{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Zi.create=(t,e)=>new Zi({getter:t,typeName:z.ZodLazy,...Q(e)});Qi=class extends ie{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return M(n,{received:n.data,code:N.invalid_literal,expected:this._def.value}),W}return{status:"valid",value:e.data}}get value(){return this._def.value}};Qi.create=(t,e)=>new Qi({value:t,typeName:z.ZodLiteral,...Q(e)});Ji=class t extends ie{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return M(n,{expected:le.joinValues(r),received:n.parsedType,code:N.invalid_type}),W}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return M(n,{received:n.data,code:N.invalid_enum_value,options:r}),W}return yt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Ji.create=dS;ea=class extends ie{_parse(e){let n=le.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==P.string&&r.parsedType!==P.number){let o=le.objectValues(n);return M(r,{expected:le.joinValues(o),received:r.parsedType,code:N.invalid_type}),W}if(this._cache||(this._cache=new Set(le.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=le.objectValues(n);return M(r,{received:r.data,code:N.invalid_enum_value,options:o}),W}return yt(e.data)}get enum(){return this._def.values}};ea.create=(t,e)=>new ea({values:t,typeName:z.ZodNativeEnum,...Q(e)});qo=class extends ie{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==P.promise&&n.common.async===!1)return M(n,{code:N.invalid_type,expected:P.promise,received:n.parsedType}),W;let r=n.parsedType===P.promise?n.data:Promise.resolve(n.data);return yt(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qo.create=(t,e)=>new qo({type:t,typeName:z.ZodPromise,...Q(e)});Dn=class extends ie{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,a={addIssue:s=>{M(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),o.type==="preprocess"){let s=o.transform(r.data,a);if(r.common.async)return Promise.resolve(s).then(async l=>{if(n.value==="aborted")return W;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?W:d.status==="dirty"?Bi(d.value):n.value==="dirty"?Bi(d.value):d});{if(n.value==="aborted")return W;let l=this._def.schema._parseSync({data:s,path:r.path,parent:r});return l.status==="aborted"?W:l.status==="dirty"?Bi(l.value):n.value==="dirty"?Bi(l.value):l}}if(o.type==="refinement"){let s=l=>{let d=o.refinement(l,a);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){let l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?W:(l.status==="dirty"&&n.dirty(),s(l.value),{status:n.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?W:(l.status==="dirty"&&n.dirty(),s(l.value).then(()=>({status:n.value,value:l.value}))))}if(o.type==="transform")if(r.common.async===!1){let s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!zo(s))return W;let l=o.transform(s.value,a);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>zo(s)?Promise.resolve(o.transform(s.value,a)).then(l=>({status:n.value,value:l})):W);le.assertNever(o)}};Dn.create=(t,e,n)=>new Dn({schema:t,typeName:z.ZodEffects,effect:e,...Q(n)});Dn.createWithPreprocess=(t,e,n)=>new Dn({schema:e,effect:{type:"preprocess",transform:t},typeName:z.ZodEffects,...Q(n)});Ln=class extends ie{_parse(e){return this._getType(e)===P.undefined?yt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ln.create=(t,e)=>new Ln({innerType:t,typeName:z.ZodOptional,...Q(e)});Nr=class extends ie{_parse(e){return this._getType(e)===P.null?yt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nr.create=(t,e)=>new Nr({innerType:t,typeName:z.ZodNullable,...Q(e)});ta=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===P.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ta.create=(t,e)=>new ta({innerType:t,typeName:z.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Q(e)});na=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ss(o)?o.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Zt(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Zt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};na.create=(t,e)=>new na({innerType:t,typeName:z.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Q(e)});Rs=class extends ie{_parse(e){if(this._getType(e)!==P.nan){let r=this._getOrReturnCtx(e);return M(r,{code:N.invalid_type,expected:P.nan,received:r.parsedType}),W}return{status:"valid",value:e.data}}};Rs.create=t=>new Rs({typeName:z.ZodNaN,...Q(t)});NL=Symbol("zod_brand"),Ul=class extends ie{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Fl=class t extends ie{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?W:a.status==="dirty"?(n.dirty(),Bi(a.value)):this._def.out._parseAsync({data:a.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?W:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:z.ZodPipeline})}},ra=class extends ie{_parse(e){let n=this._def.innerType._parse(e),r=o=>(zo(o)&&(o.value=Object.freeze(o.value)),o);return Ss(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};ra.create=(t,e)=>new ra({innerType:t,typeName:z.ZodReadonly,...Q(e)});wL={object:Qt.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(z||(z={}));OL=(t,e={message:`Input not instance of ${t.name}`})=>uS(n=>n instanceof t,e),pS=Yo.create,fS=Vi.create,IL=Rs.create,CL=ji.create,hS=Ki.create,LL=Wi.create,kL=xs.create,DL=zi.create,ML=Yi.create,$L=Xo.create,PL=ao.create,HL=er.create,UL=As.create,FL=so.create,GL=Qt.create,BL=Qt.strictCreate,VL=Xi.create,jL=Qu.create,KL=qi.create,WL=Rr.create,zL=Ju.create,YL=ys.create,XL=vs.create,qL=ep.create,ZL=Zi.create,QL=Qi.create,JL=Ji.create,e1=ea.create,t1=qo.create,n1=Dn.create,r1=Ln.create,o1=Nr.create,i1=Dn.createWithPreprocess,a1=Fl.create,s1=()=>pS().optional(),c1=()=>fS().optional(),l1=()=>hS().optional(),d1={string:(t=>Yo.create({...t,coerce:!0})),number:(t=>Vi.create({...t,coerce:!0})),boolean:(t=>Ki.create({...t,coerce:!0})),bigint:(t=>ji.create({...t,coerce:!0})),date:(t=>Wi.create({...t,coerce:!0}))},u1=W});var i={};bs(i,{BRAND:()=>NL,DIRTY:()=>Bi,EMPTY_PATH:()=>iL,INVALID:()=>W,NEVER:()=>u1,OK:()=>yt,ParseStatus:()=>ft,Schema:()=>ie,ZodAny:()=>Xo,ZodArray:()=>so,ZodBigInt:()=>ji,ZodBoolean:()=>Ki,ZodBranded:()=>Ul,ZodCatch:()=>na,ZodDate:()=>Wi,ZodDefault:()=>ta,ZodDiscriminatedUnion:()=>Qu,ZodEffects:()=>Dn,ZodEnum:()=>Ji,ZodError:()=>Zt,ZodFirstPartyTypeKind:()=>z,ZodFunction:()=>ep,ZodIntersection:()=>qi,ZodIssueCode:()=>N,ZodLazy:()=>Zi,ZodLiteral:()=>Qi,ZodMap:()=>ys,ZodNaN:()=>Rs,ZodNativeEnum:()=>ea,ZodNever:()=>er,ZodNull:()=>Yi,ZodNullable:()=>Nr,ZodNumber:()=>Vi,ZodObject:()=>Qt,ZodOptional:()=>Ln,ZodParsedType:()=>P,ZodPipeline:()=>Fl,ZodPromise:()=>qo,ZodReadonly:()=>ra,ZodRecord:()=>Ju,ZodSchema:()=>ie,ZodSet:()=>vs,ZodString:()=>Yo,ZodSymbol:()=>xs,ZodTransformer:()=>Dn,ZodTuple:()=>Rr,ZodType:()=>ie,ZodUndefined:()=>zi,ZodUnion:()=>Xi,ZodUnknown:()=>ao,ZodVoid:()=>As,addIssueToContext:()=>M,any:()=>$L,array:()=>FL,bigint:()=>CL,boolean:()=>hS,coerce:()=>d1,custom:()=>uS,date:()=>LL,datetimeRegex:()=>lS,defaultErrorMap:()=>oo,discriminatedUnion:()=>jL,effect:()=>n1,enum:()=>JL,function:()=>qL,getErrorMap:()=>Ts,getParsedType:()=>vr,instanceof:()=>OL,intersection:()=>KL,isAborted:()=>qu,isAsync:()=>Ss,isDirty:()=>Zu,isValid:()=>zo,late:()=>wL,lazy:()=>ZL,literal:()=>QL,makeIssue:()=>Hl,map:()=>YL,nan:()=>IL,nativeEnum:()=>e1,never:()=>HL,null:()=>ML,nullable:()=>o1,number:()=>fS,object:()=>GL,objectUtil:()=>nm,oboolean:()=>l1,onumber:()=>c1,optional:()=>r1,ostring:()=>s1,pipeline:()=>a1,preprocess:()=>i1,promise:()=>t1,quotelessJson:()=>nL,record:()=>zL,set:()=>XL,setErrorMap:()=>oL,strictObject:()=>BL,string:()=>pS,symbol:()=>kL,transformer:()=>n1,tuple:()=>WL,undefined:()=>DL,union:()=>VL,unknown:()=>PL,util:()=>le,void:()=>UL});var sm=S(()=>{Xu();om();rS();Pl();mS();Yu()});var ne=S(()=>{sm();sm()});var Ns,cm=S(()=>{"use strict";Ns={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var tp,lm,C,eB,p1,tB,co=S(()=>{"use strict";tp={SIGNAL:"signal",NET:"net",STATE:"state"},lm={ELEMENT:"element",TEXT:"text"},C={ELEMENT:lm.ELEMENT,TEXT:lm.TEXT,SIGNAL:tp.SIGNAL,NET:tp.NET,STATE:tp.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},eB=new Set(Object.values(tp)),p1=new Set(Object.values(lm)),tB=new Set([...p1,C.ROUTE])});var gS,ES,bS,dm,f1,TS,Mn,SS,Le,kt,np,Gl=S(()=>{"use strict";gS=1,ES={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},bS={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},dm=2,f1=3,TS=new Set([1,dm,f1]),Mn={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},SS="unresolved",Le={ASSERT_SIGNAL:"assert-signal",ASSERT_VISIBLE:"assert-visible",ASSERT_STATE:"assert-state",ASSERT_NET:"assert-net",MARK_DYNAMIC:"mark-dynamic",SUCCESS_STATE:"success-state",INTENT:"intent"},kt={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},np={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var _S,um=S(()=>{"use strict";_S={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var xS=S(()=>{"use strict"});var x,AS=S(()=>{"use strict";x={DOM_ADDED:"dom.added",DOM_REMOVED:"dom.removed",DOM_ATTR:"dom.attr",DOM_TEXT:"dom.text",NET_REQUEST:"net.request",NET_PENDING:"net.pending",NET_STREAM:"net.stream",PERF:"perf",ROUTE_CHANGE:"route.change",CONSOLE_LOG:"console.log",CONSOLE_WARN:"console.warn",CONSOLE_ERROR:"console.error",CONSOLE_INFO:"console.info",CONSOLE_DEBUG:"console.debug",ERROR_UNCAUGHT:"error.uncaught",VISIBLE_SHOWN:"visible.shown",ANIM_START:"anim.start",ANIM_END:"anim.end",SCROLL_POSITION:"scroll.position",REVEAL_SHOWN:"reveal.shown",SIGNAL:"signal",STATE_CHANGE:"state.change",STORAGE_CHANGE:"storage.change",PAGE_HEALTH:"page.health",CONTEXT_OPENED:"context.opened",DIALOG_OPENED:"dialog.opened",RENDER_COMMIT:"render.commit",FOCUS_CHANGE:"focus.change",FIELD_CHANGE:"field.change",FLOW_RECORDED:"flow.recorded",TRANSPORT_OVERFLOW:"transport.overflow",TRUNCATED:"truncated",BLIND_SPOT:"blind-spot",SDK_FAILED:"sdk.failed",NET_DETAIL:"net.detail",HUMAN_CONTROL:"human.control",HUMAN_MARK:"human.mark",DOWNLOAD:"download",HUD_USED:"hud.used"}});function vS(t=pm,e=h1){return`ws://${e}:${String(t)}${oa}`}var pm,oa,rp,yS,h1,$n,op,sB,G,_e,ip,RS,ws,cB,NS,dB,ap,sp,wS,Os,cp,m1,uB,k,OS,IS,fe,et,L,je,Is,Dt,Mt=S(()=>{"use strict";xS();AS();pm=4400,oa="/reticle",rp=1,yS=1,h1="localhost";$n={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened",HUD:"__reticle_hud"},op="https://app.reticle.sh",sB={MAX_RUNS:50,MAX_BYTES:4*1024*1024},G={MAX_MESSAGE_BYTES:1024*1024,MAX_MESSAGES_PER_SECOND:2e4,MAX_SESSIONS:32,MAX_PENDING_CONNECTIONS:16,HELLO_TIMEOUT_MS:5e3,MAX_BUFFER_BYTES:8*1024*1024,MAX_SESSION_ID_LENGTH:128,MAX_URL_LENGTH:4096,MAX_TITLE_LENGTH:512,MAX_ADAPTERS:32,MAX_CONTRACT_NAMES:128,MAX_ADAPTER_NAME_LENGTH:128,MAX_TOKEN_LENGTH:512,MAX_COMMAND_ID_LENGTH:128,MAX_COMMAND_NAME_LENGTH:128,MAX_REF_LENGTH:128,MAX_ERROR_LENGTH:4096,MAX_STACK_LENGTH:4e3,MAX_SERIALIZE_DEPTH:8,MAX_COLLECTION_ITEMS:200,MAX_OBJECT_KEYS:200,MAX_STRING_LENGTH:64*1024,MAX_MARK_NOTE_LENGTH:2e3,MAX_MARK_LABEL_LENGTH:256},_e="[REDACTED]",ip="confirmDangerous",RS="native",ws={NO_PROVIDER:"no-visual-provider",CAPTURE_FAILED:"capture-failed",BASELINE_MISSING:"baseline-missing",DIMENSION_MISMATCH:"dimension-mismatch",FULL_PAGE_UNSUPPORTED:"full-page-unsupported",NOT_COMPOSITED:"window-not-composited"},cB=1440*60*1e3,NS=1,dB={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:G.MAX_BUFFER_BYTES},ap="__reticle_renders",sp={DOM:"dom",JOURNAL:"journal"},wS={WINDOW:"window"},Os={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},cp={HOVER_NATIVE_ENTER_LEAVE:"target has enter/leave handlers; synthetic hover may not trigger them \u2014 expect no state change",REAL_INPUT_FELL_BACK:"real-input provider was available but failed; fell back to synthetic dispatch",CLICK_OCCLUDED:"target is visually occluded by another element; a real user could not click it (synthetic dispatch still delivered the event) \u2014 dismiss the overlay or scroll the target clear",GLOBAL_PRESS:"press landed on the focused element or document \u2014 no named target was given, so this effect does not claim one"},m1="console.",uB=[x.CONSOLE_LOG,x.CONSOLE_WARN,x.CONSOLE_ERROR,x.CONSOLE_INFO].map(t=>t.slice(m1.length)),k={CLICK:"click",DBLCLICK:"dblclick",HOVER:"hover",FOCUS:"focus",BLUR:"blur",FILL:"fill",TYPE:"type",CLEAR:"clear",SELECT:"select",CHECK:"check",UNCHECK:"uncheck",SUBMIT:"submit",PRESS:"press",UPLOAD:"upload",SCROLL_INTO_VIEW:"scrollIntoView",SCROLL:"scroll",DRAG:"drag",TAP:"tap",ZOOM:"zoom"},OS={TIMEOUT:"timeout",THROTTLED:"throttled"},IS={UNAVAILABLE:"component-state-unavailable"},fe={VISIBLE:"visible",HIDDEN:"hidden",ENABLED:"enabled",DISABLED:"disabled",CHECKED:"checked",EXPANDED:"expanded",PRESSED:"pressed",FOCUSED:"focused",PRESENT:"present",IN_VIEWPORT:"inViewport"},et={ROLE:"role",TEXT:"text",LABEL:"label",PLACEHOLDER:"placeholder",TESTID:"testid",ALT:"alt",COMPONENT:"component"},L={SNAPSHOT:"snapshot",QUERY:"query",MATCH:"match",INSPECT:"inspect",ACT:"act",ACT_SEQUENCE:"act_sequence",ANIMATIONS:"animations",NARRATE:"narrate",CLOCK:"clock",CAPABILITIES:"capabilities",STATE_READ:"state_read",STORAGE_READ:"storage_read",SCROLL:"scroll",SESSION_CONFIG:"session_config",PRESENTER:"presenter",IMPACT:"impact",CAPTURE:"capture",RENDER:"render",NAVIGATE:"navigate",REFRESH:"refresh",FLOWS:"flows",FLOW_PROGRESS:"flow.progress",PLAN:"plan",MARKERS:"markers"},je={IDLE:"idle",READING:"reading",ACTING:"acting"},Is={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},Dt={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Pn,g1,Hn,mB,ia=S(()=>{"use strict";ne();Pn={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},g1=i.union([i.nativeEnum(Pn),i.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),Hn=i.object({surface:g1,instance:i.string().min(1),epoch:i.number().int().nonnegative().optional(),locator:i.string().optional(),revision:i.string().optional()}),mB=i.object({kind:i.enum(["instance","epoch"]),from:i.string(),to:i.string()})});var R,gn,Jt,$t,fm,hm,tr=S(()=>{"use strict";ne();R={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},gn=i.union([i.nativeEnum(R),i.string().regex(/^x-[a-z0-9-]+$/,"a channel this specification does not name must start with x-")]),Jt={INDEPENDENT:"independent",ACTUATION_DERIVED:"actuation-derived"},$t={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},fm=i.object({id:gn,independence:i.nativeEnum(Jt),grade:i.nativeEnum($t),note:i.string().optional()}),hm={[R.UI]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE},[R.NET]:{independence:Jt.INDEPENDENT,grade:$t.CONSEQUENCE},[R.STATE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.SIGNAL]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.LOG]:{independence:Jt.INDEPENDENT,grade:$t.CONTEXT},[R.ROUTE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE},[R.STORAGE]:{independence:Jt.ACTUATION_DERIVED,grade:$t.CONSEQUENCE},[R.TIME]:{independence:Jt.INDEPENDENT,grade:$t.CONTEXT},[R.VISUAL]:{independence:Jt.ACTUATION_DERIVED,grade:$t.PRESENCE}}});var CS=S(()=>{"use strict"});var xB,LS=S(()=>{"use strict";ne();ia();xB=i.object({id:i.string().min(1),subject:Hn,capturedAt:i.number().int(),payload:i.unknown().optional()})});var vB,kS=S(()=>{"use strict";ne();vB=i.object({mutation:i.string().min(1)})});var E1,mm,b1,T1,DS,MS,gm,$S,PS,Bl=S(()=>{"use strict";ne();tr();E1={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},mm={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},b1=i.object({id:i.string().min(1),statement:i.string().min(1),origin:i.nativeEnum(E1),claims:i.array(i.string()).default([]),declaredAt:i.number().int().optional()}),T1=i.discriminatedUnion("status",[i.object({status:i.literal(mm.ABANDONED),abandonedBecause:i.string().trim().min(1)}),i.object({status:i.literal(mm.DECLARED),abandonedBecause:i.undefined().optional()}),i.object({status:i.literal(mm.BOUND),abandonedBecause:i.undefined().optional()})]),DS=b1.and(T1),MS={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},gm=i.object({id:i.string().min(1),predicate:i.unknown(),reads:i.string().min(1),channels:i.array(gn).min(1)}),$S=i.object({id:i.string().min(1),intent:i.string().optional(),statement:i.string().min(1),declaredAt:i.nativeEnum(MS),assertions:i.array(gm).default([])}),PS=i.object({id:i.string().min(1),statement:i.string().min(1),predicate:i.unknown(),channels:i.array(gn).min(1),severity:i.enum(["blocking","advisory"]).default("blocking")})});var S1,Cs,kB,Em,HS,US,_1,FS,Zo=S(()=>{"use strict";ne();tr();ia();S1=i.object({id:i.string().min(1),window:i.string().min(1),channel:gn,at:i.number().int(),value:i.unknown(),summary:i.string().min(1)}),Cs={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},kB={[Cs.LEARNED]:0,[Cs.OBSERVED]:1,[Cs.DERIVED]:2,[Cs.AUTHORITATIVE]:3},Em=i.object({class:i.nativeEnum(Cs),source:i.string().min(1),method:i.string().min(1),subject:Hn,at:i.number().int(),confidence:i.number().min(0).max(1).optional()}),HS=i.object({observation:S1,provenance:Em,independence:i.nativeEnum(Jt),grade:i.nativeEnum($t)}),US={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},_1=i.object({kind:i.nativeEnum(US),channel:gn.optional(),detail:i.string().min(1),impeaching:i.boolean(),remedy:i.string().optional()}),FS=i.object({window:i.string().min(1),observed:i.array(gn),blindSpots:i.array(_1)})});var A1,y1,lp,v1,dp,bm,HB,GS=S(()=>{"use strict";ne();tr();Zo();A1=i.object({channel:gn}),y1=i.union([i.object({summary:i.string().min(1),valueContains:i.string().min(1)}),i.object({summary:i.string().min(1).optional(),valueContains:i.undefined().optional()})]),lp=A1.and(y1),v1={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},dp={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},bm={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},HB=i.discriminatedUnion("kind",[i.object({kind:i.literal(dp.COUNT),match:lp,op:i.nativeEnum(v1),value:i.number().int().nonnegative()}),i.object({kind:i.literal(dp.PRESENT),match:lp}),i.object({kind:i.literal(dp.ABSENT),match:lp}),i.object({kind:i.literal(dp.MEASURE),match:lp,op:i.nativeEnum(bm),value:i.number().finite(),tolerance:i.number().nonnegative().finite().default(0)})])});var BB,Tm,VB,up,BS,Vl,VS,jB,aa=S(()=>{"use strict";ne();ia();BB=i.object({name:i.string().min(1),meaning:i.string().min(1),parameters:i.unknown().optional(),mutating:i.boolean()}),Tm={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},VB=i.object({ref:i.string().min(1),describes:i.string().min(1),at:i.string().optional()}),up=i.object({id:i.string().min(1),actor:i.string().min(1),capability:i.string().min(1),target:i.string().optional(),parameters:i.unknown().optional(),at:i.number().int()}),BS=i.object({action:i.string().min(1),dispatched:i.boolean(),refused:i.object({reason:i.nativeEnum(Tm),detail:i.string().min(1)}).optional(),subject:Hn,at:i.number().int()}),Vl={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},VS=i.object({id:i.string().min(1),openedAt:i.number().int(),closedAt:i.number().int().optional(),budgetMs:i.number().int().positive(),closes:i.nativeEnum(Vl),closedBy:i.nativeEnum(Vl).optional(),subject:Hn}),jB=new Set([Vl.BUDGET_EXHAUSTED,Vl.TERMINATED])});var pp,R1,jS,N1,Sm,_m,KS,Ls=S(()=>{"use strict";ne();tr();pp={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},R1=i.string().min(1),jS={ADVANCED_OVER_FAILURE:"advanced-over-failure",CLAIMED_OVER_FAILURE:"claimed-over-failure",EFFECT_DISCARDED:"effect-discarded",CLAIM_UNCORROBORATED:"claim-uncorroborated",FAILURE_INSIDE_SUCCESS:"failure-inside-success",VALUE_NOT_APPLIED:"value-not-applied",DUPLICATED_EFFECT:"duplicated-effect",STALE_APPLIED:"stale-applied",NO_EFFECT:"no-effect",FAULT_MISATTRIBUTED:"fault-misattributed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},N1=i.union([i.nativeEnum(jS),i.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),Sm={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},_m=i.object({kind:N1,tier:i.nativeEnum(Sm),claim:i.string().min(1),counter:i.string().min(1),between:i.tuple([gn,gn]),evidence:i.array(i.string()).default([])}),KS=i.object({id:i.string().min(1),claim:i.string().min(1),window:i.string().min(1),verdict:i.nativeEnum(pp),grade:i.nativeEnum($t).optional(),reasons:i.array(R1).default([]),evidence:i.array(i.string()).default([]),anomalies:i.array(_m).default([]),supersedes:i.string().optional(),at:i.number().int()})});var w1,O1,I1,e4,WS,C1,t4,xm=S(()=>{"use strict";ne();aa();Bl();Zo();Ls();w1=i.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),O1=i.object({id:i.string().min(1),invoke:w1,with:i.unknown().optional(),at:i.number().int()}),I1=i.union([up,O1]),e4=i.object({name:i.string().min(1),version:i.number().int().positive(),startState:i.unknown().optional(),requires:i.unknown().optional(),ensures:i.unknown().optional(),claim:i.string().min(1),steps:i.array(I1),expects:i.array(gm).default([]),mayRebind:i.boolean().default(!1)}),WS=i.object({verdict:i.string().min(1),expected:i.string().min(1),actual:i.string().min(1),evidence:i.array(i.string()).min(1),location:i.object({file:i.string(),line:i.number().int().optional(),symbol:i.string().optional()}).optional(),instruction:i.string().min(1)}),C1={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},t4=i.object({id:i.string().min(1),kind:i.nativeEnum(C1),statement:i.string().min(1),provenance:Em,observations:i.number().int().nonnegative().default(0),promotedBy:i.string().optional(),promotedAt:i.number().int().optional()})});var L1,k1,u4,zS=S(()=>{"use strict";ne();tr();Bl();aa();Zo();Ls();xm();ia();L1="1.0",k1=i.object({constraint:i.string().min(1),at:i.number().int(),detail:i.string().min(1),evidence:i.array(i.string()).default([])}),u4=i.object({ovp:i.literal(L1),id:i.string().min(1),verifier:i.object({name:i.string().min(1),version:i.string().min(1),profile:i.string().optional()}),subject:Hn,channels:i.array(fm),witnesses:i.array(i.object({name:i.string().min(1),subject:Hn,channels:i.array(fm)})).default([]),intents:i.array(DS).default([]),claims:i.array($S).default([]),constraints:i.array(PS).default([]),actions:i.array(up).default([]),receipts:i.array(BS).default([]),windows:i.array(VS).default([]),evidence:i.array(HS).default([]),coverage:i.array(FS).default([]),anomalies:i.array(_m).default([]),verdicts:i.array(KS).default([]),violations:i.array(k1).default([]),repairs:i.array(WS).default([]),startedAt:i.number().int(),endedAt:i.number().int()})});var Am=S(()=>{"use strict";Ls()});var ym=S(()=>{"use strict";Bl();tr();Zo();aa();Ls()});var vm=S(()=>{"use strict";aa();tr();Am();Zo();ym()});var Rm=S(()=>{"use strict"});var YS=S(()=>{"use strict";Rm()});var sa,$4,P4,H4,XS=S(()=>{"use strict";ne();tr();sa={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},$4=[sa.EFFECT,sa.IN_REALM,sa.SURFACE],P4={[sa.EFFECT]:[R.NET,R.LOG],[sa.IN_REALM]:[R.NET,R.LOG,R.STATE,R.SIGNAL],[sa.SURFACE]:[R.NET,R.LOG,R.STATE,R.SIGNAL,R.UI]},H4=i.object({name:i.string().min(1),version:i.string().min(1),platform:i.string().min(1),claims:i.nativeEnum(sa),homepage:i.string().optional()})});var qS=S(()=>{"use strict";vm();tr();aa();Zo();ia()});var ks=S(()=>{"use strict";ia();tr();CS();LS();kS();Bl();GS();aa();Zo();Ls();xm();zS();vm();Am();Rm();YS();ym();XS();qS()});var lo,Ke,ZS,Pt,Qo=S(()=>{"use strict";lo={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},Ke={VERSION_SKEW:"version_skew",CAPABILITY_ABSENT:"capability-absent",INCONCLUSIVE:"inconclusive",OBSERVATION_LOST:"observation_lost",WINDOW_CLOSED_EARLY:"window_closed_early",ASSERTION_FAILED:"assertion_failed",CONTRADICTED:"contradicted",ALREADY_TRUE:"already_true",HIDDEN_MATCH:"hidden_match",UNCLEAN_CAPTURE:"unclean_capture",VACUOUS_GRADE:"vacuous_grade",NOTHING_DECLARED:"nothing_declared",OUTCOME_PENDING:"outcome_pending",OUTCOME_UNREAD:"outcome_unread",UNSETTLED:"unsettled",EVIDENCE_INCOMPLETE:"evidence_incomplete",PROVED:"proved",ABSENCE_BLIND_SPOT:"absence_blind_spot"},ZS={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},Pt={CLOSED_SHADOW_ROOT:"closed-shadow-root",RATE_LIMITED:"rate-limited",CROSS_ORIGIN_IFRAME:"cross-origin-iframe",UNINSTRUMENTED_FRAME:"uninstrumented-frame",VIRTUALIZED_UNMOUNTED:"virtualized-unmounted",WRAPPED_NETWORK:"wrapped-network",UNOBSERVED_IPC:"unobserved-ipc",VERDICTLESS_SEND:"verdictless-send",UNWATCHED_STATE:"unwatched-state"}});var $1,P1,QS,Nm=S(()=>{"use strict";ne();Qo();$1={FINDABLE:"findable",DISCOVERABILITY:"discoverability",AGENT_ASSUMPTION:"agent_assumption",DEFECT:"defect"},P1=20,QS=i.object({goal:i.string().min(1).max(500),kind:i.nativeEnum($1),agent:i.object({verified:i.nativeEnum(lo),claim:i.string().max(2e3)}),harness:i.object({verified:i.nativeEnum(lo),found:i.boolean(),searched:i.array(i.string().max(500)).max(P1),gaveUpAt:i.string().max(500).optional()})})});var H1,U1,F1,G1,B1,V1,JS,j1,fp,K1,W1,z1,Y1,X1,q1,Z1,Q1,J1,ek,AV,tk,wm,Om,nk,rk,ok,ik,ak,sk,ck,lk,dk,uk,yV,Im=S(()=>{"use strict";ne();ks();co();Qo();Nm();H1=3,U1=1,F1=2,G1={pass:lo.YES,fail:lo.NO},B1={network:C.NET,layout:C.ELEMENT},V1=i.string().brand(),JS={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},j1={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},fp={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},K1={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},W1={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},z1={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},Y1={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},X1={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},q1={PREVIEW:"preview",CI:"ci",LOCAL:"local"},Z1={HIGH:"high",MEDIUM:"medium",LOW:"low"},Q1={DEV:"dev",PROD_PREVIEW:"prod-preview"},J1=i.object({file:i.string(),line:i.number().optional(),component:i.string().optional()}),ek=i.object({path:i.string(),changeKind:i.nativeEnum(z1),risk:i.array(i.nativeEnum(fp)).default([])}),AV=64*1024,tk={BROWSER:"browser",RENDERED:"rendered"},wm={RUNS_DIR:"runs",MANIFEST_FILE:"shots.jsonl",JPEG_QUALITY:.7,MAX_SIDE_PX:1600,MAX_PER_RUN:300,MAX_BYTES:1.5*1024*1024},Om=i.object({file:i.string(),source:i.nativeEnum(tk),width:i.number(),height:i.number(),sha256:i.string()}),nk=Om.extend({seq:i.number(),tool:i.string(),step:i.string().optional(),verdict:i.boolean().optional(),checkId:i.string().optional(),actionId:i.string().optional()}),rk=i.object({step:i.number(),anchor:i.string(),ok:i.boolean(),page:i.string().optional(),endPage:i.string().optional(),consequence:i.string().optional(),error:i.string().optional(),drift:i.string().optional(),screenshot:Om.optional()}),ok=i.object({startPath:i.string().optional(),steps:i.array(i.unknown())}),ik=i.object({name:i.string(),template:i.string().optional(),status:i.nativeEnum(j1),steps:i.number(),durationMs:i.number(),oracle:i.string().optional(),healed:i.object({from:i.string(),to:i.string(),consequenceVerified:i.boolean()}).optional(),evidenceRef:i.string().optional(),failureReason:i.string().optional(),stepResults:i.array(rk).optional(),recording:ok.optional(),recordingOmitted:i.boolean().optional()}),ak=i.object({kind:i.preprocess(t=>{var e;return typeof t=="string"&&(e=B1[t])!=null?e:t},i.nativeEnum(C).optional()),predicate:i.string(),status:i.preprocess(t=>{var e;return typeof t=="string"&&(e=G1[t])!=null?e:t},i.nativeEnum(lo)),evidence:i.unknown().optional(),declaredBeforeActing:i.boolean().optional(),expected:i.string().optional(),observed:i.string().optional(),grade:i.string().optional(),couldNotSee:i.array(i.string()).optional(),reason:i.string().optional(),checkId:i.string().optional(),actionId:i.string().optional(),intent:i.string().optional(),screenshot:Om.optional(),supersedes:i.string().optional()}),sk=i.object({surface:i.nativeEnum(fp),severity:i.nativeEnum(K1),detail:i.string(),evidence:i.object({file:i.string().optional(),line:i.number().optional(),network:i.string().optional()}).optional(),gated:i.boolean().default(!1)}),ck=i.object({consoleErrors:i.array(i.object({level:i.string(),message:i.string(),at:i.number()})).default([]),networkAnomalies:i.array(i.object({method:i.string(),url:i.string(),status:i.number().optional(),issue:i.string()})).default([]),stateAssertions:i.array(i.object({store:i.string(),path:i.string(),expected:i.unknown(),actual:i.unknown(),ok:i.boolean()})).default([]),timeline:i.array(i.object({at:i.number(),kind:i.string(),summary:i.string()})).default([])}),lk=i.object({flow:i.string().optional(),step:i.number().optional(),expected:i.string(),actual:i.string(),sourceLocation:J1.optional(),suggestedPrompt:i.string()}),dk=i.object({status:i.nativeEnum(JS),reasons:i.array(i.string()).default([]),confidence:i.nativeEnum(Z1),blockingRisks:i.number().default(0),checkId:i.string().optional(),supersedes:i.string().optional()}),uk=i.object({alg:i.string(),value:i.string(),signedAt:i.number()}),yV=i.object({schemaVersion:i.union([i.literal(H1),i.literal(F1),i.literal(U1)]),runId:V1,createdAt:i.number(),durationMs:i.number(),profile:i.nativeEnum(Q1),project:i.object({name:i.string(),framework:i.nativeEnum(X1),commit:i.string().optional(),env:i.nativeEnum(q1).optional(),previewUrl:i.string().optional()}),agent:i.object({id:i.string(),kind:i.nativeEnum(Y1),model:i.string().optional()}),trigger:i.object({kind:i.nativeEnum(W1),diffRef:i.string().optional(),note:i.string().optional()}),editEpoch:i.number().optional(),subject:Hn.optional(),context:i.record(i.unknown()).optional(),changedFiles:i.array(ek).default([]),flows:i.array(ik).default([]),checks:i.array(ak).default([]),risks:i.array(sk).default([]),evidence:ck,repair:i.object({failurePackets:i.array(lk).default([])}).optional(),screenshots:i.array(nk).optional(),verdict:dk,signature:uk.optional(),disparity:i.array(QS).optional(),agentClaim:i.nativeEnum(JS).optional()})});var pk,jl,fk,hk,mk,gk,CV,Ek,bk,Tk,LV,kV,Cm=S(()=>{"use strict";ne();Mt();Gl();Im();pk=i.array(i.string().refine(t=>!t.includes("="),t=>({message:`\`attrs\` takes attribute NAMES only, not \`name=value\` \u2014 got ${JSON.stringify(t)}. It PROJECTS each attribute onto the match, it does not filter on it. Drop the \`=value\` half and read the returned \`attrs\` map, or assert the value with an \`element\` predicate carrying \`value\`.`}))),jl=i.object({by:i.nativeEnum(et).optional(),value:i.string().optional(),role:i.string().optional(),name:i.string().optional(),text:i.string().optional(),label:i.string().optional(),placeholder:i.string().optional(),testid:i.string().optional(),alt:i.string().optional(),component:i.string().optional(),attrs:pk.optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).strict().optional(),scope:i.string().optional(),self:i.boolean().optional(),matchCase:i.boolean().optional()}).strict(),fk=i.object({name:i.string(),steps:i.array(i.string())}),hk=i.object({surface:i.nativeEnum(fp),paths:i.array(i.string()).optional(),note:i.string().optional()}),mk=i.object({owner:i.string().optional(),safety:i.array(i.string()).optional(),scope:i.array(i.string()).optional(),redact:i.array(i.string()).optional(),risk:i.array(hk).optional()}),gk=i.object({testids:i.array(i.string()),signals:i.array(i.string()),stores:i.array(i.string()),flows:i.array(fk),governance:mk.optional()}),CV=i.object({version:i.literal(NS),generatedAt:i.number(),capabilities:gk}),Ek=i.object({consoleErrors:i.number().optional(),networkErrors:i.number().optional(),driftSteps:i.number().optional()}),bk=i.object({kind:i.nativeEnum(ES),name:i.string(),status:i.nativeEnum(bS),at:i.number(),summary:i.string().optional(),evidence:Ek.optional(),durationMs:i.number().optional()}),Tk=i.object({flows:i.array(i.string()).optional(),routes:i.array(i.string()).optional(),bestObservability:i.object({percent:i.number(),at:i.number()}).optional()}),LV=i.object({version:i.literal(gS),learned:Tk.optional(),runs:i.array(bk)}),kV=i.discriminatedUnion("kind",[i.object({kind:i.literal(Le.ASSERT_SIGNAL),name:i.string().min(1),dataMatches:i.record(i.unknown()).optional()}),i.object({kind:i.literal(Le.ASSERT_VISIBLE),testid:i.string().min(1)}),i.object({kind:i.literal(Le.ASSERT_STATE),statePath:i.string().min(1),store:i.string().min(1).optional(),equals:i.unknown().optional()}),i.object({kind:i.literal(Le.ASSERT_NET),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()})}),i.object({kind:i.literal(Le.MARK_DYNAMIC),testid:i.string().min(1)}),i.object({kind:i.literal(Le.SUCCESS_STATE),signal:i.string().min(1).optional(),testid:i.string().min(1).optional(),statePath:i.string().min(1).optional(),store:i.string().min(1).optional(),equals:i.unknown().optional(),hold:i.boolean().optional(),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).optional(),console:i.object({level:i.string().min(1).optional(),absent:i.boolean().optional()}).optional(),text:i.object({contains:i.string().min(1),scope:i.string().min(1).optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).optional()}),i.object({kind:i.literal(Le.INTENT),text:i.string().min(1)})])});function t_(t,e){let n=e_(t),r=e_(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(a=>n[a]===r[a])}function e_(t){var e,n;return C.NET===t.from?{...t,body:(e=t.body)!=null?e:km.RESPONSE,method:(n=t.method)==null?void 0:n.toUpperCase()}:{...t}}var km,hp,Lm,Dm,Mm=S(()=>{"use strict";ne();co();km={RESPONSE:"response",REQUEST:"request"},hp={VALUE:"value",NUMBER:"number"},Lm=i.string().min(1),Dm=i.discriminatedUnion("from",[i.object({from:i.literal(C.NET),urlContains:i.string().min(1),method:i.string().optional(),body:i.enum([km.RESPONSE,km.REQUEST]).optional(),path:Lm}).strict(),i.object({from:i.literal(C.SIGNAL),name:i.string().min(1),path:Lm}).strict(),i.object({from:i.literal(C.STATE),store:i.string().optional(),path:Lm}).strict(),i.object({from:i.literal(C.TEXT),scope:i.string().min(1)}).strict()])});var n_,$m,Pm=S(()=>{"use strict";ne();ks();n_=i.object({op:i.nativeEnum(bm),value:i.number().finite(),tolerance:i.number().finite().nonnegative().optional()}).strict(),$m=i.discriminatedUnion("property",[i.object({property:i.literal("nonEmpty")}).strict(),i.object({property:i.literal("oneOf"),values:i.array(i.unknown()).min(1)}).strict(),i.object({property:i.literal("withinTolerance"),of:i.number().finite(),tolerance:i.number().finite().nonnegative()}).strict(),i.object({property:i.literal("matchesPattern"),pattern:i.string().min(1)}).strict(),i.object({property:i.literal("type"),is:i.enum(["string","number","boolean","array","object"])}).strict(),i.object({property:i.literal("changed")}).strict(),i.object({property:i.literal("unchanged")}).strict(),i.object({property:i.literal("increased"),by:n_.optional()}).strict(),i.object({property:i.literal("decreased"),by:n_.optional()}).strict()])});function xk(t){if(t.kind!==void 0||typeof t[Hm]!="string")return t;let e={...t,kind:t[Hm]};return delete e[Hm],e}function Ak(t){if(typeof t!="object"||t===null||Array.isArray(t))return t;let n=xk(t),r=typeof n.kind=="string"?n.kind:"",o=Sk[r],a=n;if(o!==void 0){a={...n};for(let[s,l]of Object.entries(o))a[s]!==void 0&&(a[l]===void 0&&(a[l]=a[s]),delete a[s])}return C.ELEMENT===r?yk(a):a}function yk(t){let e=_k.filter(o=>t[o]!==void 0);if(e.length===0)return t;let n={...t},r={};for(let o of e)r[o]=n[o],delete n[o];return n.query===void 0&&(n.query=r),n}function vk(){return i.discriminatedUnion("kind",[i.object({kind:i.literal(C.ELEMENT),query:jl,state:i.nativeEnum(fe).optional(),absent:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.TEXT),contains:i.string().optional(),visible:i.boolean().optional(),absent:i.boolean().optional(),scope:i.string().optional(),self:i.boolean().optional(),satisfies:$m.optional(),ignoreCase:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.NET),method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),ok:i.boolean().optional(),since:i.number().optional(),count:i.number().int().nonnegative().optional(),bodyContains:i.string().min(1).optional(),bodyMatches:i.record(i.string(),i.unknown()).optional(),requestBodyContains:i.string().min(1).optional(),requestBodyMatches:i.record(i.string(),i.unknown()).optional(),repeatable:i.boolean().optional()}).strict(),i.object({kind:i.literal(C.ROUTE),pathname:i.string().optional(),contains:i.string().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.CONSOLE),level:i.string().optional(),contains:i.string().min(1).optional(),absent:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.ANIMATION),name:i.string().optional(),target:i.string().optional(),completed:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.SIGNAL),name:i.string().optional(),dataMatches:i.record(i.unknown()).optional(),count:i.number().int().nonnegative().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(C.STATE),store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),satisfies:$m.optional()}).strict(),i.object({kind:i.literal(C.SETTLED),quietMs:i.number().positive().optional()}).strict(),i.object({kind:i.literal(C.COMPARE),left:Dm,right:Dm,as:i.enum([hp.VALUE,hp.NUMBER]).optional(),tolerance:i.number().finite().nonnegative().optional()}).strict(),i.object({kind:i.literal(C.ALL_OF),predicates:i.array(Kl).min(1)}).strict(),i.object({kind:i.literal(C.ANY_OF),predicates:i.array(Kl).min(1)}).strict(),i.object({kind:i.literal(C.NOT),predicate:Kl}).strict()])}function Rk(t,e){if(typeof t!="object"||t===null)return;let n=t;if(C.NET===n.kind){Nk(n.repeatable,n.urlContains,e);return}if(C.COMPARE===n.kind){wk(t,e);return}C.TEXT===n.kind&&(n.contains===void 0&&n.satisfies===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"a text predicate must say WHAT about the text: `contains` for a substring, `satisfies` for a property of it. With neither it matches any element with any text and cannot fail"}),n.satisfies!==void 0&&n.contains===void 0&&n.scope===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"`satisfies` needs a subject: add `scope` (the element whose text is tested, with `self: true` to read the scope root itself) or a `contains` that selects one. Without either, the locator is every element on the page and the property would run against whichever one happened to match first"}))}function Nk(t,e,n){t===!0&&(typeof e=="string"&&e.trim().length>0||n.addIssue({code:i.ZodIssueCode.custom,message:'`repeatable: true` needs a non-empty `urlContains` naming the read endpoint, for example `{ kind: "net", method: "POST", urlContains: "/graphql", repeatable: true }`. Without one it would excuse every request in the window from duplicate-request, a real double submit included'}))}function wk(t,e){t_(t.left,t.right)&&e.addIssue({code:i.ZodIssueCode.custom,message:"`left` and `right` read the same value, so this comparison agrees with itself on every page and cannot fail. Compare two different readings: what the page shows against what the server answered, or what was sent against what came back"}),t.tolerance!==void 0&&hp.NUMBER!==t.as&&e.addIssue({code:i.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var Sk,Hm,_k,Kl,Um=S(()=>{"use strict";ne();Cm();Mt();Mm();co();Pm();Sk={[C.TEXT]:{text:"contains",value:"contains",query:"contains"},[C.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains",pathContains:"contains"},[C.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches",pathContains:"urlContains"},[C.CONSOLE]:{textContains:"contains"},[C.SIGNAL]:{data:"dataMatches"},[C.ALL_OF]:{of:"predicates"},[C.ANY_OF]:{of:"predicates"},[C.NOT]:{of:"predicate"}},Hm="type",_k=Object.keys(jl.shape);Kl=i.lazy(()=>i.preprocess(Ak,vk()).superRefine(Rk))});function r_(t){return`${t} is an element ref, which only exists in the session that minted it \u2014 scope by a CSS selector or a testid so the flow can check it again`}function mp(t){let e=(n,r)=>r!==void 0&&Ok.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case C.ALL_OF:case C.ANY_OF:for(let n of t.predicates){let r=mp(n);if(r!==void 0)return r}return;case C.NOT:return mp(t.predicate);case C.TEXT:return e("text.scope",t.scope);case C.ELEMENT:return e("element.query.scope",t.query.scope);case C.ANIMATION:return e("animation.target",t.target);case C.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(C.TEXT!==r.from)continue;let o=e(`compare.${n}.scope`,r.scope);if(o!==void 0)return o}return;default:return}}var Ok,Fm=S(()=>{"use strict";co();Ok=/^e\d+$/});function i_(t){let e=[];if(t.signal!==void 0){let s={kind:C.SIGNAL,name:t.signal};t.signalData!==void 0&&(s.dataMatches=t.signalData),t.signalCount!==void 0&&(s.count=t.signalCount,e.push({kind:C.SETTLED})),e.push(s)}if(t.route!==void 0){let s={kind:C.ROUTE};return t.route.pathname!==void 0&&(s.pathname=t.route.pathname),t.route.contains!==void 0&&(s.contains=t.route.contains),s}if(t.net!==void 0){let s={kind:C.NET};t.net.method!==void 0&&(s.method=t.net.method),t.net.urlContains!==void 0&&(s.urlContains=t.net.urlContains),t.net.status!==void 0&&(s.status=t.net.status),t.net.count!==void 0&&(s.count=t.net.count,e.push({kind:C.SETTLED})),e.push(s)}if(t.console!==void 0){let s={kind:C.CONSOLE};t.console.level!==void 0&&(s.level=t.console.level),t.console.absent!==void 0&&(s.absent=t.console.absent,t.console.absent&&e.push({kind:C.SETTLED})),e.push(s)}let n=t.state;if(n!==void 0){let s={kind:C.STATE,path:n.path};n.store!==void 0&&(s.store=n.store),n.equals!==void 0&&(s.equals=n.equals),n.hold===!0&&e.push({kind:C.SETTLED}),e.push(s)}let r=t.element;if(r!==void 0){let s={};r.testid!==void 0&&(s.testid=r.testid),r.role!==void 0&&(s.role=r.role),r.name!==void 0&&(s.name=r.name),Object.keys(s).length>0&&e.push({kind:C.ELEMENT,query:s})}let o=t.text;if(o!==void 0){let s={kind:C.TEXT,contains:o.contains};o.scope!==void 0&&(s.scope=o.scope),o.visible!==void 0&&(s.visible=o.visible),o.absent===!0&&(s.absent=!0,e.push({kind:C.SETTLED})),e.push(s)}let[a]=e;if(e.length!==0)return e.length===1&&a!==void 0?a:{kind:C.ALL_OF,predicates:e}}var o_,Gm=S(()=>{"use strict";ne();co();o_=i.object({route:i.object({pathname:i.string().optional(),contains:i.string().optional()}).optional(),signal:i.string().optional(),signalData:i.record(i.unknown()).optional(),signalCount:i.number().int().nonnegative().optional(),net:i.object({method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).strict().optional(),console:i.object({level:i.string().optional(),absent:i.boolean().optional()}).strict().optional(),element:i.object({testid:i.string().optional(),role:i.string().optional(),name:i.string().optional()}).strict().optional(),text:i.object({contains:i.string().min(1),scope:i.string().optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).strict().optional(),state:i.object({store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),hold:i.boolean().optional()}).strict().optional()}).strict()});var a_=S(()=>{"use strict"});var c_,Ik,Bm,s_,Ck,l_,Lk,cj,d_=S(()=>{"use strict";ne();Gl();um();Mt();Um();Fm();Gm();Gl();a_();c_=i.discriminatedUnion("kind",[i.object({kind:i.literal(Mn.TESTID),value:i.string().min(1),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional()}),i.object({kind:i.literal(Mn.ROLE),role:i.string().min(1),name:i.string().optional(),nth:i.number().int().min(0).optional(),of:i.number().int().min(2).optional()}),i.object({kind:i.literal(Mn.SIGNAL),name:i.string().min(1)}),i.object({kind:i.literal(Mn.COMPONENT),component:i.string().optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional(),role:i.string().optional(),name:i.string().optional()})]),Ik=Kl.superRefine((t,e)=>{let n=mp(t);n!==void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:r_(n)})}),Bm=i.union([Ik,o_.transform(t=>i_(t))]),s_=i.array(Bm).transform(t=>t.filter(e=>e!==void 0)),Ck=i.object({tool:i.string(),anchor:c_,source:i.object({file:i.string().min(1),line:i.number().int().positive().optional()}).optional(),id:i.string().min(1).optional(),effect:i.nativeEnum(_S).optional(),healed:i.object({from:i.string(),at:i.number()}).optional(),action:i.nativeEnum(k).optional(),args:i.record(i.unknown()).optional(),expect:Bm.optional(),degraded:i.boolean().optional(),timeoutMs:i.number().int().nonnegative().optional(),invoke:i.string().min(1).optional(),page:i.string().optional(),endPage:i.string().optional()}),l_=Ck.extend({steps:i.lazy(()=>i.array(l_).optional())}),Lk=i.object({version:i.number().int().refine(t=>TS.has(t)),name:i.string(),intent:i.string().optional(),intentId:i.string().optional(),projectId:i.string().optional(),startPath:i.string().optional(),template:i.string().min(1).optional(),fixture:i.string().optional(),requires:s_.optional(),ensures:s_.optional(),author:i.object({agent:i.string().min(1).optional(),person:i.string().min(1).optional()}).optional(),createdAt:i.number(),steps:i.array(l_),signalTimeoutMs:i.number().int().positive().optional(),success:Bm.optional(),dynamic:i.array(c_).optional(),labels:i.array(i.string().min(1)).optional(),needs:i.array(i.string().min(1)).optional(),status:i.enum([np.ACTIVE,np.QUARANTINED,np.DRAFT]).optional(),learned:i.array(i.object({kind:i.string().min(1),step:i.number().int().min(-1),state:i.enum(["open","guarded"]),cleanRuns:i.number().int().nonnegative().optional()})).optional(),knownBugs:i.array(i.object({id:i.string().min(1),summary:i.string().min(1),assertions:i.array(i.string())})).optional(),quarantine:i.object({reason:i.string().min(1),since:i.string().min(1),owner:i.string().min(1),until:i.string().optional()}).optional()}),cj=i.object({name:i.string(),flow:Lk})});var u_=S(()=>{"use strict"});var p_=S(()=>{"use strict"});var f_=S(()=>{"use strict"});var Ds,gp,h_,m_=S(()=>{"use strict";Ds="data-reticle-source",gp="__RETICLE_ROOT__",h_="__RETICLE_SDK_VERSION__"});var ca,g_,E_,b_=S(()=>{"use strict";ca="data-testid",g_=["data-test-subj","data-cy","data-test","data-qa","data-e2e"],E_=/^[a-zA-Z_][\w-]*$/});var T_,S_=S(()=>{"use strict";Mt();T_=new Set([x.DOM_TEXT,x.ANIM_START,x.ANIM_END,x.RENDER_COMMIT,x.PAGE_HEALTH,x.SCROLL_POSITION])});function Vm(t){let e=t.text;if(typeof e=="string"&&0<e.length)return e;let n=t.key;return typeof n=="string"&&0<n.length?n:kk}function jm(t){let e=t.keys;if(!Array.isArray(e))return[];let n=[];for(let r of e)typeof r=="string"&&0<r.length&&n.push(r);return n}function Mk(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function x_(t){if(Mk(t))return!0;let e=jm(t);if(1<e.length)return!0;if(e.length===1){let n=e[0];return n!==void 0&&__.has(n.toLowerCase())}return __.has(Vm(t).toLowerCase())}var kk,Dk,__,A_=S(()=>{"use strict";kk="Enter",Dk=["Escape","Tab"],__=new Set(Dk.map(t=>t.toLowerCase()))});function Ms(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,3e4)}var y_=S(()=>{"use strict"});var it,_j,v_=S(()=>{"use strict";Qo();it={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},_j={[Ke.ASSERTION_FAILED]:it.CODE,[Ke.CONTRADICTED]:it.CODE,[Ke.OUTCOME_PENDING]:it.ENVIRONMENT,[Ke.UNSETTLED]:it.ENVIRONMENT,[Ke.VERSION_SKEW]:it.HARNESS,[Ke.WINDOW_CLOSED_EARLY]:it.HARNESS,[Ke.NOTHING_DECLARED]:it.HARNESS,[Ke.VACUOUS_GRADE]:it.HARNESS,[Ke.ALREADY_TRUE]:it.HARNESS,[Ke.HIDDEN_MATCH]:it.HARNESS,[Ke.CAPABILITY_ABSENT]:it.COULD_NOT_SEE,[Ke.OBSERVATION_LOST]:it.COULD_NOT_SEE,[Ke.UNCLEAN_CAPTURE]:it.COULD_NOT_SEE,[Ke.EVIDENCE_INCOMPLETE]:it.COULD_NOT_SEE,[Ke.ABSENCE_BLIND_SPOT]:it.COULD_NOT_SEE,[Ke.OUTCOME_UNREAD]:it.COULD_NOT_SEE,[Ke.INCONCLUSIVE]:it.COULD_NOT_SEE,[Ke.PROVED]:it.NONE}});var la,$k,Pk,Hk,yj,R_=S(()=>{"use strict";ne();la={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},$k=120,Pk=200,Hk=i.object({phase:i.enum([la.CONNECTING,la.WAITING_FOR_APP,la.FLOWS_FOUND,la.FLOW_STARTED,la.FLOW_FINISHED,la.GRADING,la.PUSHED]),index:i.number().int().nonnegative().optional(),total:i.number().int().nonnegative().optional(),name:i.string().max($k).optional(),ok:i.boolean().optional(),at:i.number().int().nonnegative()}),yj=i.object({runId:i.string().min(1).max(200),events:i.array(Hk).max(Pk)})});function N_(t){return t===Me.ACTIVE||t===Me.PAUSED||t===Me.ENDED}var Me,Wl,Ht,da,w_,O_,ua,Km=S(()=>{"use strict";Me={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};Wl="auto",Ht={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",SIGNIN:"signin",HARNESS:"harness",HARNESS_RUN:"harness-run",HARNESS_STOP:"harness-stop",HARNESS_LINK:"harness-link"},da={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},w_={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},O_={IDLE_END_MS:3e5,IDLE_END_MIN_MS:5e3,REAP_INTERVAL_MS:5e3,BRIDGE_LOST_MS:15e3,DAEMON_IDLE_SHUTDOWN_MS:3e5,DAEMON_IDLE_CHECK_MS:3e4},ua={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var en,vt,Jo,zl,En,Ep,$s,tn,Yl=S(()=>{"use strict";en={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},vt={CHAT:"chat",FLOWS:"flows",NOTES:"notes",HARNESS:"harness",SETTINGS:"settings",REPORT:"report",ACCOUNT:"account",NONE:"none"},Jo={RAIL:"rail",HARNESS:"harness",HEADER:"header"},zl={ON:"on",OFF:"off"},En={SHOWN:"shown",HIDDEN:"hidden",REMOVED:"removed"},Ep={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},$s={PLAYING:"playing",PASSED:"passed",FAILED:"failed"},tn={PENDING:"pending",RUNNING:"running",PASSED:"passed",FAILED:"failed",BLOCKED:"blocked",NOT_TAKEN:"not-taken",UNDECIDED:"undecided"}});var Xl,wj,I_=S(()=>{"use strict";Xl="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",wj=`${Xl}{display:none !important}`});var Wm,C_,Uk,Fk,Gk,Lj,kj,pa,bp,zm=S(()=>{"use strict";ne();Yl();Wm={TAB:"tab",HEADLESS:"headless",HEADED:"headed"},C_={LOCAL:"local",PLATFORM:"platform"},Uk=2e3,Fk=128,Gk=500,Lj={target:i.enum([Wm.TAB,Wm.HEADLESS,Wm.HEADED]),mode:i.enum([C_.LOCAL,C_.PLATFORM]),url:i.string().url().refine(t=>/^https?:/i.test(t)),hud:i.enum([En.SHOWN,En.HIDDEN,En.REMOVED]),persona:i.string().min(1).max(Uk),maxSteps:i.number().int().min(1).max(Gk),record:i.boolean(),plan:i.string().min(1).max(Fk),confirmDangerous:i.boolean()},kj=i.object({seq:i.number().int().nonnegative(),tool:i.string().min(1).max(100),args:i.record(i.unknown()).default({})}),pa={SOURCE:"source",TESTID:"testid"},bp="file:line source mapping"});var Tp,k_,D_,L_,Mj,M_=S(()=>{"use strict";Tp="https://calendar.app.google/h9NRDbBBQetyTzWM6",k_="hey@reticle.sh",D_="mailto:hey@reticle.sh?subject=Reticle%20feedback",L_="npx @reticlehq/server identify --context company --email you@company.com",Mj={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${Tp} \xB7 or leave your email: ${L_}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${Tp}) or the email command (${L_}). Offer it; never book a call or submit an email for them.`}});function $_(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*Ym.length);e+=Ym[Math.min(Math.max(r,0),Ym.length-1)]}return e}var Ym,P_=S(()=>{"use strict";Ym="0123456789abcdefghijklmnopqrstuvwxyz"});var H_=S(()=>{"use strict"});var nr,Xm,ql,Bk,Uj,U_,Zl,F_,qm,Sp,_p=S(()=>{"use strict";nr={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Xm="ipc://",ql={OK:200,ERROR:500},Bk={NEXT_DEV_OVERLAY:"/__nextjs",NEXT_HMR:"/_next/webpack-hmr",NEXT_HMR_CHUNKS:"/_next/static/webpack/",WEBPACK_HOT_UPDATE:".hot-update.",VITE_CLIENT:"/@vite/",VITE_REACT_REFRESH:"/@react-refresh",VITE_PING:"/__vite_ping"},Uj=Object.values(Bk),U_="urlRaw",Zl="requestShape",F_="none",qm="Next-Action",Sp="nextAction"});function Zm(t){return Vk.test(t)}function G_(t){let e=new Set;for(let n of t!=null?t:[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function B_(t,e){var s,l;let n=G_((s=t==null?void 0:t.keys)==null?void 0:s.filter(d=>typeof d=="string")),r=((l=t==null?void 0:t.keys)!=null?l:[]).filter(d=>d instanceof RegExp),o=G_(t==null?void 0:t.allow),a=[...o].filter(d=>Zm(d)&&!n.has(d));return a.length>0&&e!==void 0&&e(`[reticle] redact.allow is exempting ${a.join(", ")} from redaction. The default rule treats ${a.length===1?"that key":"those keys"} as a credential, so ${a.length===1?"its value":"their values"} will now reach the agent transcript and the on-disk journal in cleartext.`),{isSensitiveKey:d=>{let u=d.toLowerCase();if(n.has(u))return!0;for(let p of r)if(p.lastIndex=0,p.test(d))return!0;return o.has(u)?!1:Zm(d)}}}function V_(t){Qm=t}function tt(t){return Qm===void 0?Zm(t):Qm.isSensitiveKey(t)}function Wk(t){return new TextEncoder().encode(t).byteLength}function zk(t){if(!/^data:/i.test(t))return;let e=t.indexOf(","),n=e===-1?t.slice(5):t.slice(5,e),[r="",...o]=n.split(";"),a=/^[\w.+-]+\/[\w.+-]+$/.test(r)?r:"text/plain",s=o.some(d=>d.toLowerCase()==="base64")?";base64":"",l=e===-1?"":t.slice(e+1);return`data:${a}${s},<\u2026${String(Wk(l))} bytes\u2026>`}function xp(t,e=tt){var y;let n=zk(t);if(n!==void 0)return n;let r=t.indexOf("#"),o=r===-1?"":t.slice(r),a=r===-1?t:t.slice(0,r),s=a.indexOf("?"),l=s===-1?a:a.slice(0,s),d=s===-1?"":a.slice(s+1),u=!1,p=l,f=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);f!==null&&(p=`${(y=f[1])!=null?y:""}${_e}@${l.slice(f[0].length)}`,u=!0);let m=d;if(d!==""){let A=new URLSearchParams(d),v=!1;for(let O of[...A.keys()])e(O)&&(A.set(O,_e),v=!0);v&&(m=A.toString(),u=!0)}let g=p.split("/");for(let A=0;A+1<g.length;A++){let v=g[A],O=g[A+1];v!==void 0&&O!==void 0&&O.length>=Kk&&jk.test(v)&&(g[A+1]=_e,u=!0)}let T=o;if(o.length>1&&(T=o.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(A,v,O)=>e(O)?`${v}${O}=${_e}`:A),T!==o&&(u=!0)),!u)return t;let _=s===-1?"":`?${m}`;return`${g.join("/")}${_}${T}`}function wr(t,e=tt){let n=xp(t,e);return n===t?{url:n}:{url:n,[U_]:t}}function j_(t){var r;let e=new Set,n=[];for(let o of(r=t==null?void 0:t.keys)!=null?r:[]){if(typeof o!="string")continue;let a=o.trim();if(a.length===0||a.length>eg)continue;let s=a.toLowerCase();if(!e.has(s)&&(e.add(s),n.push(a),n.length>=Jm))break}return n}function fa(t){return t.replace(Yk,_e)}var Vk,Qm,jk,Kk,Jm,eg,Yk,tg=S(()=>{"use strict";Mt();_p();Vk=/password|passwd|passcode|pass[-_]?phrase|(?:otp|totp|mfa|recovery|backup)[-_]?codes?|(?:^|[-_])(?:otp|totp)(?=$|[-_])|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|session[-_]?id|(?:^|[-_])(?:sid|pwd|jwt)(?=$|[-_])|authorization|(?:^|[-_])(?:set[-_])?cookie(?=$|[-_])|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?(?:number|num|no|pan)(?=$|[-_])|(?:^|[-_])(?:card|pan)(?=$|[-_])|cvv|cvc|ssn|(?:^|[-_])(?:signature|sig)$|(?:^|[-_])credential$|x-(?:amz|goog)-(?:signature|credential|security-token)$/i;jk=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,Kk=12;Jm=64,eg=128;Yk=/eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}|(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{10,}|sk-(?:ant|proj|svcacct|admin)-[A-Za-z0-9_-]{20,}|(?:AKIA|ASIA)[0-9A-Z]{16}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{22,}|AIza[0-9A-Za-z_-]{35}|xox[baprs]-[A-Za-z0-9-]{10,}|ya29\.[A-Za-z0-9._-]{20,}/g});var Or,Ap=S(()=>{"use strict";Or={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function ng(){return[R.UI,R.NET,R.STATE,R.SIGNAL,R.LOG,R.ROUTE,R.TIME]}var zj,Yj,yp=S(()=>{"use strict";ks();co();zj={[C.ELEMENT]:[R.UI],[C.TEXT]:[R.UI],[C.SIGNAL]:[R.SIGNAL],[C.NET]:[R.NET],[C.STATE]:[R.STATE],[C.ROUTE]:[R.ROUTE],[C.CONSOLE]:[R.LOG],[C.ANIMATION]:[R.UI,R.TIME],[C.SETTLED]:[R.TIME,R.NET],[C.COMPARE]:[R.UI,R.NET,R.STATE,R.SIGNAL],[C.ALL_OF]:ng(),[C.ANY_OF]:ng(),[C.NOT]:ng()};Yj=Object.fromEntries(Object.entries(hm).map(([t,e])=>[t,e.independence]))});function rg(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(qk.includes(e))return!0;let n=e.split(".");return Qk===n.length&&Zk===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let o=Number(r);return o>=0&&o<=Jk})}function W_(t,e){return rg(e)||eD.includes(t.toLowerCase())?!0:e.toLowerCase()===tD}function z_(t,e){return e!==void 0&&K_.has(e.trim().toLowerCase())?!1:Xk.test(t.replace(/[_-]+/g," "))}function Y_(t,e){var r;if(e!==void 0&&K_.has(e.trim().toLowerCase()))return;let n=t.replace(/[_-]+/g," ");return(r=nD.find(([,o])=>o.test(n)))==null?void 0:r[0]}var Xk,K_,qk,Zk,Qk,Jk,eD,tD,nn,nD,X_,og=S(()=>{"use strict";Xk=/\b(delete|remove|destroy|erase|drop|terminate|revoke|reset|close account|cancel subscription|purchase|buy|pay|payment|place order|confirm order|send money|send funds|transfer|withdraw|refund)\b/i,K_=new Set(["option","radio"]),qk=["localhost","::1","0:0:0:0:0:0:0:1"],Zk="127",Qk=4,Jk=255;eD=["file:","app:","tauri:"],tD="tauri.localhost";nn={INVITE:"invite",SEND:"send",SHARE:"share",DELETE:"delete",PAY:"pay",PUBLISH:"publish",REVOKE:"revoke",TRANSFER:"transfer",SIGN_OUT:"sign out",CHANGE_ROLE:"change role",CREATE_KEY:"create key",CHANGE_STATE:"change state"},nD=[[nn.INVITE,/\binvit(?:e|es|ed|ing|ation|ations)\b|\/invit/i],[nn.TRANSFER,/\b(?:transfer|send money|send funds|withdraw)\b/i],[nn.SEND,/\b(?:send|sends|sending|resend|email (?:it|them|the))\b/i],[nn.SHARE,/\b(?:share|shares|sharing)\b/i],[nn.DELETE,/\b(?:delete|deletes|deleting|remove|removes|removing|destroy|erase|drop)\b/i],[nn.PAY,/\b(?:pay|pays|paying|payment|purchase|buy|checkout|check out|subscribe|upgrade|place order|confirm order|refund|add (?:a )?card|start (?:the |your |a )?(?:\d+-day |free )?trial)\b|\/(?:billing|checkout)\b/i],[nn.PUBLISH,/\b(?:publish|publishes|deploy|deploys|go live)\b/i],[nn.REVOKE,/\b(?:revoke|revokes|deactivate|suspend)\b/i],[nn.SIGN_OUT,/\b(?:sign ?out|log ?out|sign off)\b/i],[nn.CHANGE_ROLE,/\b(?:change (?:the |their |his |her )?role|make (?:an? )?(?:admin|owner)|promote|demote|set role)\b/i],[nn.CREATE_KEY,/\b(?:create|generate|new|mint)(?: an?)?(?: api)? key\b|\/keys\b/i],[nn.CHANGE_STATE,/\b(?:reassign|reassigns|reopen|reopens|re-open|archive|archives|unarchive|approve|approves|reject|rejects|mark as (?:fixed|resolved|done|closed))\b/i]];X_=t=>`would need to ${t} \u2014 not done (outward action): the journey does not ask for it`});var vp,q_,rD,Z_,Q_,J_,oD,iD,Ql,ag,aD,sD,a6,sg=S(()=>{"use strict";ne();Yl();Mt();Km();tg();Ap();yp();og();vp=i.string().min(1).max(G.MAX_SESSION_ID_LENGTH),q_=i.string().max(G.MAX_REF_LENGTH),rD=i.string().min(1).max(8),Z_=i.object({kind:i.nativeEnum(Ht),text:i.string().optional()}),Q_=i.object({control:i.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:i.nativeEnum(zl).optional(),view:i.nativeEnum(en).optional(),panel:i.nativeEnum(vt).optional(),slide:i.string().max(56).optional(),prompt:i.nativeEnum(Jo).optional()}),J_=i.object({note:i.string().min(1).max(G.MAX_MARK_NOTE_LENGTH),anchor:i.string().max(G.MAX_REF_LENGTH),strategy:i.nativeEnum(da),label:i.string().max(G.MAX_MARK_LABEL_LENGTH).optional(),source:i.object({file:i.string().max(G.MAX_URL_LENGTH),line:i.number().int().min(0)}).optional(),route:i.string().max(G.MAX_URL_LENGTH).optional()}),oD=i.object({t:i.number(),type:i.nativeEnum(x),sessionId:vp,ref:q_.optional(),seq:i.number().int().min(0).optional(),actionId:q_.optional(),attribution:i.nativeEnum(wS).optional(),documentId:rD.optional(),editEpoch:i.number().int().min(0).optional(),data:i.record(i.unknown()).default({})}),iD=i.object({kind:i.literal(Dt.HELLO),protocolVersion:i.number().int().min(yS).max(rp),sessionId:vp,url:i.string().max(G.MAX_URL_LENGTH),title:i.string().max(G.MAX_TITLE_LENGTH),projectId:vp.optional(),adapters:i.array(i.string().max(G.MAX_ADAPTER_NAME_LENGTH)).max(G.MAX_ADAPTERS),token:i.string().max(G.MAX_TOKEN_LENGTH).optional(),platform:i.nativeEnum(Or).optional(),channels:i.array(i.nativeEnum(R)).max(G.MAX_ADAPTERS).optional(),commands:i.array(i.string().max(G.MAX_TOKEN_LENGTH)).max(G.MAX_ADAPTERS).optional(),contractParts:i.object({commands:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),events:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),actions:i.array(i.string()).max(G.MAX_CONTRACT_NAMES)}).optional(),hasCapabilities:i.boolean().optional(),captureBodies:i.boolean().optional(),sourceMapping:i.boolean().optional(),sdkVersion:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),contract:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),redactKeys:i.array(i.string().min(1).max(eg)).max(Jm).optional()}),Ql={HARNESS:"harness"},ag=i.object({kind:i.literal(Dt.COMMAND),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),sessionId:vp.optional(),name:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),by:i.nativeEnum(Ql).optional(),outward:i.object({allowed:i.array(i.nativeEnum(nn)).max(16)}).optional()}),aD=i.object({kind:i.literal(Dt.COMMAND_RESULT),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),ok:i.boolean(),result:i.unknown().optional(),error:i.string().max(G.MAX_ERROR_LENGTH).optional()}),sD=i.object({kind:i.literal(Dt.EVENT),event:oD}),a6=i.discriminatedUnion("kind",[iD,ag,aD,sD])});var cD,lD,ei,dD,$e,uD,pD,fD,hD,mD,gD,cg,ex,ED,tx,Ps=S(()=>{"use strict";ne();cD={AGENT:"agent",HUMAN:"human"},lD={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},ei={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},dD={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},$e={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},uD={CDP:"cdp",SDK:"sdk"},pD={USER:"user",PROJECT:"project"},fD=4e3,hD=8e3,mD=1,gD=5,cg=1e3,ex=i.object({source:i.nativeEnum(cD),kind:i.nativeEnum(lD),text:i.string().min(1).max(fD),trace:i.string().max(hD).optional(),rating:i.number().int().min(mD).max(gD).optional(),need:i.string().max(cg).optional(),impact:i.string().max(cg).optional(),currentApproach:i.string().max(cg).optional(),model:i.string().min(1).max(64).optional(),clientVersion:i.string().min(1).max(32).optional(),stack:i.string().min(1).max(64).optional(),stackMajor:i.number().int().nonnegative().optional(),runtime:i.nativeEnum(ei).optional(),engine:i.nativeEnum(dD).optional(),driver:i.nativeEnum(uD).optional(),client:i.string().min(1).max(64).optional(),mcpScope:i.nativeEnum(pD).optional()}),ED={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},tx=i.object({context:i.nativeEnum(ED),company:i.string().min(1).max(128).optional(),email:i.string().min(3).max(254).optional()})});var Ir,Cr,Np,ed,lg,ha,bD,TD,g6,Rp,SD,_D,xD,Jl,E6,nx=S(()=>{"use strict";ne();Mt();Qo();Ps();sg();_p();Ir={SSE:"sse",WS:"ws",FETCH:"fetch"},Cr={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},Np={UP:"up",DOWN:"down"},ed={PUSH:"push",REPLACE:"replace",POP:"pop"},lg="how",ha={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},bD=i.object({name:i.string().describe("Cookie name."),value:i.string().describe("Cookie value."),domain:i.string().optional().describe("Cookie domain. Defaults to the navigation URL domain."),path:i.string().optional().describe('Cookie path. Defaults to "/".'),url:i.string().optional().describe("Cookie URL. Defaults to the navigation URL."),httpOnly:i.boolean().optional().describe("Whether the cookie is httpOnly."),secure:i.boolean().optional().describe("Whether the cookie is secure."),sameSite:i.enum(["Strict","Lax","None"]).optional().describe("SameSite policy."),expires:i.number().optional().describe("Unix timestamp in seconds for cookie expiration.")}),TD=i.union([i.record(i.string()),i.array(bD)]),g6=i.object({local:i.record(i.string()).optional().describe("Key-value pairs to seed into window.localStorage before first navigation."),session:i.record(i.string()).optional().describe("Key-value pairs to seed into window.sessionStorage before first navigation."),cookies:TD.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),Rp=i.object({role:i.string().optional(),name:i.string().optional()}),SD=i.object({mimeType:i.string(),bytes:i.number(),filename:i.string().optional(),lines:i.number().optional(),preview:i.string().optional(),previewTruncated:i.boolean().optional()}).passthrough(),_D=i.object({transport:i.nativeEnum(Ir),direction:i.nativeEnum(Cr),url:i.string(),urlRaw:i.string().optional()}).passthrough(),xD=i.object({id:i.string(),method:i.string(),url:i.string(),status:i.number(),ok:i.boolean(),durationMs:i.number(),initiator:i.string(),urlRaw:i.string().optional(),[Sp]:i.string().optional(),[Zl]:i.string().optional()}).passthrough(),Jl=i.object({message:i.string()}).passthrough(),E6={[x.DOM_ADDED]:Rp,[x.DOM_REMOVED]:Rp,[x.DOM_ATTR]:i.object({attr:i.string(),value:i.string().optional(),old:i.string().optional()}).passthrough(),[x.DOM_TEXT]:i.object({text:i.string(),old:i.string().optional()}),[x.NET_REQUEST]:xD,[x.NET_PENDING]:i.object({id:i.string(),method:i.string(),url:i.string(),initiator:i.string(),urlRaw:i.string().optional()}),[x.NET_STREAM]:_D,[x.DOWNLOAD]:SD,[x.PERF]:i.object({metric:i.nativeEnum(Os),value:i.number(),at:i.number(),shifted:i.object({ref:i.string(),selector:i.string()}).optional()}),[x.ROUTE_CHANGE]:i.object({from:i.string(),to:i.string(),pathname:i.string(),search:i.string(),hash:i.string(),[lg]:i.nativeEnum(ed)}),[x.CONSOLE_LOG]:Jl,[x.CONSOLE_WARN]:Jl,[x.CONSOLE_ERROR]:Jl,[x.CONSOLE_INFO]:Jl,[x.CONSOLE_DEBUG]:Jl,[x.ERROR_UNCAUGHT]:i.object({message:i.string(),source:i.string().optional(),line:i.number().optional(),kind:i.string().optional()}).passthrough(),[x.VISIBLE_SHOWN]:Rp,[x.ANIM_START]:i.object({name:i.string()}),[x.ANIM_END]:i.object({name:i.string()}),[x.SCROLL_POSITION]:i.object({x:i.number(),y:i.number(),percent:i.number(),direction:i.nativeEnum(Np)}),[x.REVEAL_SHOWN]:Rp.passthrough(),[x.SIGNAL]:i.object({name:i.string(),data:i.unknown().optional()}),[x.STATE_CHANGE]:i.object({name:i.string(),value:i.unknown()}).passthrough(),[x.STORAGE_CHANGE]:i.object({area:i.nativeEnum(ha),key:i.string(),old:i.string().optional(),new:i.string().optional()}),[x.PAGE_HEALTH]:i.object({hidden:i.boolean(),focused:i.boolean(),reason:i.string().optional(),brand:i.nativeEnum($e).optional(),runtime:i.string().optional(),engine:i.string().optional(),windowLabel:i.string().optional(),documentStatus:i.number().int().optional()}).passthrough(),[x.CONTEXT_OPENED]:i.object({href:i.string().optional()}).passthrough(),[x.DIALOG_OPENED]:i.object({kind:i.enum(["alert","confirm","prompt"]),message:i.string().optional(),answered:i.union([i.boolean(),i.null()]).optional()}).passthrough(),[x.RENDER_COMMIT]:i.object({commits:i.number()}),[x.FOCUS_CHANGE]:i.object({to:i.string().optional(),from:i.string().optional(),toBody:i.boolean()}),[x.FIELD_CHANGE]:i.object({field:i.string(),kind:i.enum(["input","change"]),length:i.number().int().nonnegative(),value:i.string().optional(),redacted:i.literal(!0).optional()}),[x.FLOW_RECORDED]:i.object({name:i.string(),flow:i.unknown()}),[x.TRANSPORT_OVERFLOW]:i.object({dropped:i.number()}),[x.TRUNCATED]:i.object({channel:i.string(),dropped:i.number()}),[x.BLIND_SPOT]:i.object({kind:i.nativeEnum(Pt),count:i.number()}),[x.SDK_FAILED]:i.object({site:i.string().max(64),message:i.string().max(500),errorType:i.string().max(64).optional()}),[x.NET_DETAIL]:i.object({url:i.string(),method:i.string().optional(),status:i.number(),headers:i.record(i.string()),resourceType:i.string().optional()}).passthrough(),[x.HUMAN_CONTROL]:Z_,[x.HUMAN_MARK]:J_,[x.HUD_USED]:Q_}});var S6,rx=S(()=>{"use strict";Mt();S6=new Set([x.NET_REQUEST,x.NET_PENDING,x.NET_STREAM,x.NET_DETAIL,x.CONSOLE_ERROR,x.CONSOLE_WARN,x.ERROR_UNCAUGHT,x.ROUTE_CHANGE,x.SIGNAL,x.STORAGE_CHANGE,x.FLOW_RECORDED,x.TRANSPORT_OVERFLOW,x.TRUNCATED,x.BLIND_SPOT])});var ox=S(()=>{"use strict"});var ix,ax=S(()=>{"use strict";ix=t=>t});var me,R6,N6,w6,sx=S(()=>{"use strict";yp();me={UI_ADVANCED_REQUEST_FAILED:"ui-advanced-request-failed",SIGNAL_CONTRADICTED:"signal-contradicted",RESPONSE_IGNORED:"response-ignored",SIGNAL_WITHOUT_CONSEQUENCE:"signal-without-consequence",STATE_VS_RENDER:"state-vs-render",CONSEQUENCE_ELSEWHERE:"consequence-elsewhere",DUPLICATE_REQUEST:"duplicate-request",DUPLICATE_REQUEST_UNRELATED:"duplicate-request-unrelated",SCREEN_REQUEST_MISMATCH:"screen-request-mismatch",STALE_RESPONSE_APPLIED:"stale-response-applied",PARTIAL_FAILURE_IN_OK_RESPONSE:"partial-failure-in-ok-response",UNIT_MISMATCH:"unit-mismatch",PAGINATION_NOT_FETCHED:"pagination-not-fetched",WRITE_FIELD_IGNORED:"write-field-ignored",REQUEST_NEVER_SETTLED:"request-never-settled",FAILURE_MISATTRIBUTED:"failure-misattributed",ACTION_HAD_NO_EFFECT:"action-had-no-effect",ROUTE_RENDERED_NOTHING:"route-rendered-nothing",ROUTE_RENDERED_NOTHING_CRASHED:"route-rendered-nothing-crashed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},R6=new Set([me.REQUEST_NEVER_SETTLED,me.RESPONSE_IGNORED,me.SIGNAL_WITHOUT_CONSEQUENCE,me.STATE_VS_RENDER,me.CONSEQUENCE_ELSEWHERE,me.ROUTE_RENDERED_NOTHING,me.ACTION_HAD_NO_EFFECT,me.DUPLICATE_REQUEST,me.EVIDENCE_SUPERSEDED,me.EVIDENCE_PREDATES_EDIT]),N6=new Set([me.DUPLICATE_REQUEST_UNRELATED,me.SCREEN_REQUEST_MISMATCH]),w6={[me.UI_ADVANCED_REQUEST_FAILED]:[R.UI,R.NET],[me.SIGNAL_CONTRADICTED]:[R.SIGNAL,R.NET],[me.RESPONSE_IGNORED]:[R.NET,R.UI],[me.SIGNAL_WITHOUT_CONSEQUENCE]:[R.SIGNAL,R.NET],[me.STATE_VS_RENDER]:[R.STATE,R.UI],[me.CONSEQUENCE_ELSEWHERE]:[R.NET,R.UI],[me.DUPLICATE_REQUEST]:[R.NET,R.NET],[me.DUPLICATE_REQUEST_UNRELATED]:[R.NET,R.NET],[me.SCREEN_REQUEST_MISMATCH]:[R.UI,R.NET],[me.STALE_RESPONSE_APPLIED]:[R.NET,R.UI],[me.PARTIAL_FAILURE_IN_OK_RESPONSE]:[R.NET,R.NET],[me.UNIT_MISMATCH]:[R.UI,R.NET],[me.PAGINATION_NOT_FETCHED]:[R.UI,R.NET],[me.WRITE_FIELD_IGNORED]:[R.NET,R.NET],[me.REQUEST_NEVER_SETTLED]:[R.TIME,R.NET],[me.FAILURE_MISATTRIBUTED]:[R.UI,R.NET],[me.ACTION_HAD_NO_EFFECT]:[R.NET,R.UI],[me.ROUTE_RENDERED_NOTHING]:[R.ROUTE,R.NET],[me.ROUTE_RENDERED_NOTHING_CRASHED]:[R.ROUTE,R.LOG],[me.EVIDENCE_SUPERSEDED]:[R.TIME,R.UI],[me.EVIDENCE_PREDATES_EDIT]:[R.TIME,R.UI]}});var uo,wp,C6,L6,cx=S(()=>{"use strict";Mt();uo="__reticleIpc",wp="reticle_capture",C6=ws.FULL_PAGE_UNSUPPORTED,L6=ws.NOT_COMPOSITED});var lx=S(()=>{"use strict"});function dx(t){return t===Hs.CALM||t===Hs.WAITING||t===Hs.ASK||t===Hs.WARN}var Hs,ux,M6,$6,px=S(()=>{"use strict";Hs={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};ux="note that a lease is a SEPARATE context: the human watching this tab sees nothing of what you do there, so prefer this tab while someone is following along",M6='tab hidden and may be un-focusable from here; timers and rAF are clamped in a background tab, so an action can land on a page that never advances. Refocus it, or acquire a guaranteed scriptable context yourself with `reticle_run { tool: "reticle_lease", args: { action: "acquire", url } }` (a human can equivalently run `reticle drive <url>`) \u2014 '+ux,$6="tab is not hidden but has not reported health recently \u2014 usually a quiet page rather than a stuck one, and very often still driveable. This is also the tab a human can see, so try it first. Timing-sensitive work (animations, debounces, gestures) is what degrades: pass `refuseWhenThrottled: true` to refuse rather than act over events that may not land. Lease a separate context only if a drive here actually fails; "+ux});var fx,AD,B6,V6,j6,hx=S(()=>{"use strict";ne();Mt();Qo();co();fx=1,AD=i.object({harness:i.string().min(1).max(G.MAX_REF_LENGTH),driver:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),persona:i.string().max(1e3).optional()}),B6=i.object({v:i.literal(fx),actionId:i.string().min(1).max(G.MAX_REF_LENGTH),tool:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),effect:i.unknown().optional(),settled:i.boolean().optional(),settledInMs:i.number().int().min(0).optional(),seqRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}).optional(),tRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}),at:i.number().int().min(0),drivenBy:AD.optional(),agent:i.string().min(1).max(G.MAX_REF_LENGTH).optional()}),V6=i.object({v:i.literal(fx),channel:i.literal(sp.JOURNAL),capBytes:i.number().int().min(1).optional(),bytesOnDisk:i.number().int().min(0).optional(),droppedInBatch:i.number().int().min(0).optional(),at:i.number().optional()}),j6=i.object({claim:i.string().min(1).max(G.MAX_STRING_LENGTH),verified:i.nativeEnum(lo),source:i.string().max(G.MAX_URL_LENGTH).optional(),observed:i.string().max(G.MAX_STRING_LENGTH).optional(),expected:i.string().max(G.MAX_STRING_LENGTH).optional(),kind:i.nativeEnum(C).optional(),declaredBeforeActing:i.boolean().optional(),net:i.array(i.object({method:i.string().max(G.MAX_COMMAND_NAME_LENGTH),url:i.string().max(G.MAX_URL_LENGTH),status:i.number().optional(),body:i.string().max(G.MAX_STRING_LENGTH).optional()})).max(5).optional(),grade:i.string().max(G.MAX_STRING_LENGTH).optional(),couldNotSee:i.array(i.string().max(G.MAX_STRING_LENGTH)).optional(),reason:i.string().max(G.MAX_STRING_LENGTH).optional()})});var mx=S(()=>{"use strict"});var Y6,gx=S(()=>{"use strict";ne();Y6=i.object({port:i.number(),pid:i.number(),cwd:i.string(),projectId:i.string().optional(),startedAt:i.number()})});var Z6,Ex=S(()=>{"use strict";ne();Z6=i.object({port:i.number(),pid:i.number(),root:i.string(),url:i.string(),sdkVersion:i.string().min(1).optional(),startedAt:i.number(),projectId:i.string().optional()})});var yD,eK,bx=S(()=>{"use strict";ne();yD=i.object({directory:i.string().min(1),lastSeenAt:i.number()}),eK=i.object({version:i.literal(1),projects:i.record(i.string(),yD)})});var vD,dg,RD,ND,wD,rK,Tx=S(()=>{"use strict";ne();vD=1,dg={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},RD=i.object({route:i.string().optional(),flow:i.string().optional(),files:i.array(i.string()).optional()}),ND=i.object({verdictId:i.string(),grade:i.string(),at:i.number(),runId:i.string().optional()}),wD=i.object({id:i.string().min(1),statement:i.string().min(1),state:i.enum([dg.DECLARED,dg.BOUND,dg.PROVED]),declaredAt:i.number(),binding:i.unknown().optional(),surface:RD.optional(),provenBy:ND.optional(),amended:i.array(i.object({statement:i.string(),at:i.number()})).optional()}),rK=i.object({version:i.literal(vD),intents:i.record(i.string(),wD)})});var Sx=S(()=>{"use strict"});function td(t){return OD[t]}var qe,OD,ug=S(()=>{"use strict";qe={NO_SOURCE_MAPPING:"no-source-mapping",NO_STORE_REGISTERED:"no-store-registered",NO_SIGNAL_ON_MUTATION:"no-signal-on-mutation",UNDECLARED_CONTROL:"undeclared-control",MISSING_TESTID:"missing-testid",UNDECLARED_CHANGE:"undeclared-change",INTENT_UNDISCHARGED:"intent-undischarged",NO_FLOW_INTENT:"no-flow-intent",SOURCE_MAPPING_OFF:"source-mapping-off"},OD={[qe.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[qe.NO_STORE_REGISTERED]:"import { registerStore } from '@reticlehq/browser' and call registerStore(name, store) with a subscribable store so its changes are observed; a bare getter is readable but does not report changes. For component-local React state, import { useReticleStore } from '@reticlehq/react/store' and call useReticleStore(name, value), assert the DOM, or read it with reticle_look { action: 'state', ref: '...' }",[qe.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[qe.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[qe.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[qe.UNDECLARED_CHANGE]:'declare it with reticle_intent { action: "declare", intents: [{ id, statement }] } \u2014 the statement is prose, in your own words: which user does what, and what should become true',[qe.INTENT_UNDISCHARGED]:'draw a verdict whose `until` asserts the intent itself, then it discharges \u2014 or call reticle_run({ tool: "reticle_context" }) to see exactly what is still owed',[qe.SOURCE_MAPPING_OFF]:"nothing to install \u2014 this build has sourceMapping turned off, so no element carries data-reticle-source. Re-enable it in the Reticle plugin options unless this app renders through a non-DOM reconciler (react-three-fiber, react-pdf, ink), where the stamp is what would break it",[qe.NO_FLOW_INTENT]:'save it again with intent: "<which user does what, and what should become true>" \u2014 prose, in your own words \u2014 or set intentId to an intent already in the ledger'}});var po,_x,uK,pK,xx=S(()=>{"use strict";ne();ks();ug();zm();po={PAGE_CONNECTED:"page connected",DOM_ACTIONS:"DOM actions",NETWORK:"network",CONSOLE:"console",APP_STATE:"app state (store registered)",SIGNALS:"signals on mutation",SOURCE_MAPPING:bp,TEST_IDS:"stable test ids"},_x="run `npx @reticlehq/server init` in the app so its pages connect to Reticle in development",uK=[{capability:po.PAGE_CONNECTED,gaps:[],cost:"no page has connected, so nothing can be verified",fix:_x},{capability:po.DOM_ACTIONS,channel:R.UI,always:!0,gaps:[],cost:"controls cannot be driven or read",fix:_x},{capability:po.NETWORK,channel:R.NET,always:!0,gaps:[],cost:"requests cannot be asserted, so a save that never reached the server can pass",fix:"update @reticlehq/browser so the page reports its network channel"},{capability:po.CONSOLE,channel:R.LOG,always:!0,gaps:[],cost:"errors thrown in the page are invisible to a verdict",fix:"update @reticlehq/browser so the page reports its console channel"},{capability:po.APP_STATE,channel:R.STATE,gaps:[qe.NO_STORE_REGISTERED],cost:"state predicates fall back to reading the DOM",fix:td(qe.NO_STORE_REGISTERED)},{capability:po.SIGNALS,channel:R.SIGNAL,gaps:[qe.NO_SIGNAL_ON_MUTATION],cost:"the app never says it succeeded, so every verdict infers success from the DOM",fix:td(qe.NO_SIGNAL_ON_MUTATION)},{capability:po.SOURCE_MAPPING,channel:pa.SOURCE,gaps:[qe.NO_SOURCE_MAPPING,qe.SOURCE_MAPPING_OFF],perControl:[qe.NO_SOURCE_MAPPING],cost:"a broken control is named, never the line that renders it",fix:td(qe.NO_SOURCE_MAPPING)},{capability:po.TEST_IDS,channel:pa.TESTID,gaps:[qe.MISSING_TESTID],cost:"a saved flow loses its controls after a refactor",fix:td(qe.MISSING_TESTID)}],pK=i.array(i.nativeEnum(po)).max(8)});function ID(t){return Array.isArray(t)||typeof t=="string"}function CD(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),pg],total:t.length+1};if(typeof t=="string")return{keys:[pg],total:1};if(t instanceof Map){let e=[],n=0;for(let r of t.keys())n+=1,typeof r=="string"&&e.length<49&&e.push(r);return t.has(nd)?{keys:e,total:n}:{keys:[...e,nd],total:n+1}}if(t instanceof Set){let e=[];for(let n of t)typeof n=="string"&&e.length<49&&e.push(n);return{keys:[...e,nd],total:t.size+1}}if(typeof t=="object"&&t!==null){let e=Object.keys(t);return{keys:e.slice(0,50),total:e.length}}return{keys:[],total:0}}function Op(t){let{keys:e,total:n}=CD(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function Ax(t,e){let n=e.split(".").filter(o=>o.length>0),r=t;for(let o of n){if(pg===o&&ID(r)){r=r.length;continue}if(Array.isArray(r)){let a=Number(o);if(!Number.isInteger(a)||a<0||String(a)!==o||a>=r.length)return Op(r);r=r[a];continue}if(r instanceof Map){if(r.has(o)){r=r.get(o);continue}if(nd===o){r=r.size;continue}return Op(r)}if(r instanceof Set){if(nd===o){r=r.size;continue}if(r.has(o)){r=!0;continue}return Op(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,o)){r=r[o];continue}return Op(r)}return{found:!0,value:r}}function Us(t,e){if(e<0)return t;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Set)return e===0?`[Set(${String(t.size)})]`:[...t].map(n=>Us(n,e-1));if(t instanceof Map){if(e===0)return`{Map(${String(t.size)})}`;let n=Object.create(null);for(let[r,o]of t)n[String(r)]=Us(o,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>Us(n,e-1));if(typeof t=="object"&&t!==null){let n=Object.keys(t);if(e===0)return`{\u2026${String(n.length)} keys}`;let r=Object.create(null);for(let o of n)r[o]=Us(t[o],e-1);return r}return t}var pg,nd,yx=S(()=>{"use strict";pg="length";nd="size"});var gK,EK,vx=S(()=>{"use strict";Mt();gK={[fe.ENABLED]:"en",[fe.DISABLED]:"dis",[fe.CHECKED]:"chk",[fe.EXPANDED]:"exp",[fe.PRESSED]:"prs",[fe.FOCUSED]:"focus"},EK=new Set([fe.PRESENT,fe.VISIBLE,fe.HIDDEN])});var ma,SK,_K,Rx=S(()=>{"use strict";ne();ma={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},SK=i.object({capability:i.nativeEnum(ma),reason:i.string(),unlockedBy:i.string(),learnMoreUrl:i.string().url()}),_K={[ma.SHARE_PROOF]:{reason:"Sharing a verification result with a teammate needs a hosted, linkable proof page.",unlockedBy:"Link a free Reticle Cloud account (reticle connect), then share the run."},[ma.RUN_HISTORY]:{reason:"Run history beyond this session lives in the hosted dashboard; local keeps only a buffer.",unlockedBy:"Link a free Reticle Cloud account to keep run history and trends."},[ma.TEAM_REVIEW]:{reason:"A shared review queue of pinned mistakes is a team feature \u2014 it needs a hosted store.",unlockedBy:"Add your team to Reticle Cloud to share a review queue."},[ma.CORPUS_HEAL]:{reason:"Corpus-ranked heal uses refactor outcomes learned across the fleet, served from the cloud.",unlockedBy:"Enable the hosted heal service on Reticle Cloud."},[ma.CI_GATE]:{reason:"Verify-before-merge is a governance gate that runs in your CI against a hosted policy.",unlockedBy:"Configure the Reticle Cloud CI gate for your repository."},[ma.HOSTED_RUNNER]:{reason:"Verifying without a local browser (CI, a background agent, or a deployed URL) needs a browser we run for you.",unlockedBy:"Link a Reticle Cloud account to run verifications on hosted browsers."}}});var rd,Nx,wx,LD,Ox,Ix=S(()=>{"use strict";ne();rd={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},Nx={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},wx={[rd.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[rd.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[rd.FIRST_RUN]:["project_detected","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},LD=Object.values(wx).flatMap(t=>[...t]),Ox=i.object({phase:i.nativeEnum(rd),step:i.enum(LD),status:i.nativeEnum(Nx),elapsedMs:i.number().int().nonnegative().optional(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),unattended:i.boolean().optional(),firstEver:i.boolean().optional()})});var Cx,fg=S(()=>{"use strict";Cx={AUTH_REFUSED:"auth_refused",LEASE_EXPIRED:"lease_expired",TAB_GONE:"tab_gone",NAVIGATED_AWAY:"navigated_away",ROUTE_SERVER_ERROR:"route_server_error",APP_NOT_REOPENED:"app_not_reopened",CONFIG_ELSEWHERE:"config_elsewhere",NO_LISTENER_NO_CONFIG:"no_listener_no_config",NO_LISTENER:"no_listener",NO_CONFIG:"no_config",SDK_NOT_REACHING_DAEMON:"sdk_not_reaching_daemon"}});var kD,Lx,hg=S(()=>{"use strict";ne();fg();kD={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},Lx=i.object({tool:i.string().min(1).max(64),reason:i.nativeEnum(kD),noSessionReason:i.nativeEnum(Cx).optional(),retried:i.boolean()})});var DD,Dx,IK,kx,MD,$D,mg,PD,HD,Mx,UD,FD,$x,gg=S(()=>{"use strict";ne();DD={CONNECT:"connect",CLOSE_GAPS:"close_gaps",SWITCH_ON:"switch_on",EXPLORE:"explore"},Dx={B0:"0-19",B20:"20-39",B40:"40-59",B60:"60-79",B80:"80-100"},IK=Object.values(Dx),kx=i.object({fingerprint:i.string().min(1).max(64),count:i.number().int().nonnegative(),message:i.string().max(300),tool:i.string().max(64).optional()}),MD={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},$D={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},mg=i.object({rssMb:i.number().int().nonnegative(),heapUsedMb:i.number().int().nonnegative(),freeMemMb:i.number().int().nonnegative(),totalMemMb:i.number().int().nonnegative(),load1x100:i.number().int().nonnegative(),cpuCount:i.number().int().nonnegative()}),PD=i.object({totalMs:i.number().int().nonnegative(),maxMs:i.number().int().nonnegative()}),HD=i.object({attempts:i.number().int().nonnegative(),successes:i.number().int().nonnegative(),failures:i.record(i.string(),i.number().int().nonnegative()).optional()}),Mx=i.object({durationMs:i.number().int().nonnegative(),toolCalls:i.number().int().nonnegative(),toolCounts:i.record(i.string(),i.number().int().nonnegative()),toolErrors:i.number().int().nonnegative(),errors:i.array(kx).max(40).optional(),sdkFailures:i.number().int().nonnegative().optional(),sdkErrors:i.array(kx).max(40).optional(),verifications:i.number().int().nonnegative(),bugsFound:i.number().int().nonnegative().optional(),bugKinds:i.record(i.string(),i.number().int().nonnegative()).optional(),toolParams:i.record(i.string(),i.record(i.string(),i.number().int().nonnegative())).optional(),connections:i.record(i.string(),HD).optional(),toolTiming:i.record(i.string(),PD).optional(),busyMs:i.number().int().nonnegative().optional(),browserMs:i.number().int().nonnegative().optional(),browserCommands:i.number().int().nonnegative().optional(),peakConcurrentTools:i.number().int().nonnegative().optional(),unknownToolCalls:i.number().int().nonnegative().optional(),unknownTools:i.record(i.string().max(64),i.number().int().nonnegative()).optional(),noSessionErrors:i.number().int().nonnegative().optional(),postSocketFailures:i.number().int().nonnegative().optional(),postRetriesSaved:i.number().int().nonnegative().optional(),consecutiveRepeats:i.record(i.number().int().positive()).optional(),abandonedActions:i.number().int().nonnegative().optional(),machine:mg.optional(),clients:i.array(i.string().max(64)).max(8).optional(),clientVersions:i.record(i.string().max(64),i.string().max(32)).optional(),surface:i.string().max(32).optional(),appConnects:i.number().int().nonnegative().optional(),msToFirstApp:i.number().int().nonnegative().optional(),endReason:i.enum(["never_used","explored","abandoned","verified","client_left"]).optional(),feedbackPrompted:i.number().int().nonnegative().optional(),errorClasses:i.record(i.string().max(16),i.number().int().nonnegative()).optional(),errorsRecovered:i.number().int().nonnegative().optional(),errorsRepeated:i.number().int().nonnegative().optional(),endedWithVerdict:i.boolean().optional(),lifetimeToolCalls:i.number().int().nonnegative().optional(),lifetimeVerifications:i.number().int().nonnegative().optional(),lifetimeBugsFound:i.number().int().nonnegative().optional(),updateNudged:i.boolean().optional(),updateOffered:i.string().max(32).optional(),hudControls:i.record(i.number()).optional(),hudViewMs:i.record(i.number()).optional(),hudPanelMs:i.record(i.number()).optional(),hudSlides:i.record(i.number()).optional(),hudJourney:i.array(i.string().max(64)).max(60).optional(),hudJourneyCut:i.literal(!0).optional(),nudgesShown:i.record(i.nativeEnum(DD),i.number().int().positive()).optional(),harnessRefusedCoverage:i.record(i.nativeEnum(Dx),i.number().int().positive()).optional(),final:i.boolean(),exit:i.enum(["idle","signal","unknown"]).optional()}),UD={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},FD={NO_APP_FOUND:"no_app_found",MANIFEST_UNRECOGNISED:"manifest_unrecognised",WORKSPACE_APPS_UNRECOGNISED:"workspace_apps_unrecognised",WORKSPACE_ROOT_NO_APPS:"workspace_root_no_apps",DISCOVERY_FAILED:"discovery_failed"},$x=i.object({stack:i.string().min(1).max(64).optional(),stackSource:i.enum(["cwd","workspace"]).optional(),stackUnknownReason:i.nativeEnum(FD).optional(),stackMajor:i.number().int().nonnegative().optional(),size:i.nativeEnum(UD).optional(),monorepo:i.boolean().optional(),git:i.nativeEnum(MD),forge:i.nativeEnum($D).optional(),ageWeeks:i.number().int().nonnegative().optional(),flowCount:i.number().int().nonnegative(),baselineCount:i.number().int().nonnegative(),visualBaselineCount:i.number().int().nonnegative(),runCount:i.number().int().nonnegative(),hasContract:i.boolean(),initialized:i.boolean().optional(),appConnectedBefore:i.boolean().optional(),capsuleCount:i.number().int().nonnegative(),featuresUsed:i.array(i.string().max(32)).max(24),featureDepth:i.number().min(0).max(1)})});var Px,Eg=S(()=>{"use strict";Px={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var GD,BD,VD,bg,jD,KD,WD,zD,YD,XD,qD,Hx,Tg=S(()=>{"use strict";ne();Yl();GD={SIGNED_OUT:"signed_out",SIGNED_IN:"signed_in",LINKED:"linked"},BD={CLAUDE_CODE:"claude_code",CLAUDE_DESKTOP:"claude_desktop",CODEX:"codex",CURSOR:"cursor",GEMINI_CLI:"gemini_cli",ANTIGRAVITY:"antigravity",WINDSURF:"windsurf",CLINE:"cline",OPENCODE:"opencode",ZED:"zed",VSCODE:"vscode",OTHER:"other"},VD={NPX:"npx",GLOBAL:"global",PROJECT:"project",OTHER:"other"},bg={ZERO:"0",ONE:"1",TWO_THREE:"2-3",FOUR_NINE:"4-9",TEN_PLUS:"10+"},jD=i.object({view:i.nativeEnum(vt).optional(),surface:i.nativeEnum(Jo).optional(),tabs:i.nativeEnum(bg).optional()}),KD={CONNECT:"connect",HUD:"hud",LINK:"link"},WD=i.object({via:i.nativeEnum(KD)}),zD={STARTED:"started",COMPLETED:"completed"},YD={PROVED:"proved",NOT_PROVED:"not_proved",FAILED:"failed",BLOCKED:"blocked",STOPPED:"stopped"},XD={AGENT:"agent",HUD:"hud",DASHBOARD:"dashboard",CLI_TRY:"cli_try",PLAN:"plan"},qD=i.object({phase:i.nativeEnum(zD),source:i.nativeEnum(XD),hosted:i.boolean(),outcome:i.nativeEnum(YD).optional(),journeys:i.nativeEnum(bg).optional(),replayed:i.nativeEnum(bg).optional()}),Hx={accountState:i.nativeEnum(GD).optional(),linked:i.boolean().optional(),workspaceId:i.string().min(1).max(128).optional(),client:i.nativeEnum(BD).optional(),launch:i.nativeEnum(VD).optional(),hud:jD.optional(),link:WD.optional(),harness:qD.optional()}});var ZD,QD,Ux,Sg=S(()=>{"use strict";ne();ZD={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},QD={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},Ux=i.object({source:i.nativeEnum(ZD),kind:i.string().min(1).max(64),falseGreen:i.boolean(),tool:i.string().min(1).max(64).optional(),repeat:i.boolean(),attribution:i.nativeEnum(QD),fingerprint:i.string().max(16).optional(),occurrence:i.number().int().positive().optional()})});var JD,Ut,YK,eM,tM,nM,rM,oM,Fx,iM,aM,sM,cM,lM,dM,uM,pM,fM,hM,XK,Gx=S(()=>{"use strict";ne();Ix();hg();gg();Ps();Qo();Ps();Eg();Tg();Sg();Sg();JD=3,Ut={RETICLE_INSTALLED:"reticle_installed",CLI_COMMAND_RUN:"cli_command_run",DAEMON_STARTED:"daemon_started",DAEMON_STOPPED:"daemon_stopped",SESSION_PROGRESS:"session_progress",VERIFICATION_COMPLETED:"verification_completed",PROJECT_PROFILED:"project_profiled",VERSION_CHANGED:"version_changed",RUNTIME_CRASHED:"runtime_crashed",FEEDBACK_SUBMITTED:"feedback_submitted",IDENTIFIED:"identified",MCP_CLIENT_CONNECTED:"mcp_client_connected",APP_INSTRUMENTED:"app_instrumented",MCP_CONNECTION_LOST:"mcp_connection_lost",INIT_COMPLETED:"init_completed",ONBOARDING_STEP:"onboarding_step",BUG_FOUND:"bug_found",TOOL_REFUSED:"tool_refused",HUD_VIEWED:"hud_viewed",HUD_SIGNIN_PROMPTED:"hud_signin_prompted",PLATFORM_LINKED:"platform_linked",HARNESS_RUN:"harness_run"},YK=new Set([Ut.DAEMON_STARTED,Ut.DAEMON_STOPPED,Ut.SESSION_PROGRESS,Ut.MCP_CLIENT_CONNECTED,Ut.APP_INSTRUMENTED,Ut.PROJECT_PROFILED,Ut.VERIFICATION_COMPLETED,Ut.BUG_FOUND,Ut.RUNTIME_CRASHED,Ut.FEEDBACK_SUBMITTED,Ut.TOOL_REFUSED,Ut.HUD_VIEWED,Ut.HUD_SIGNIN_PROMPTED,Ut.HARNESS_RUN]),eM={HUMAN:"human",AGENT:"agent"},tM={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},nM={HARNESS:"harness"},rM=i.object({via:i.string().min(1).max(64),verified:i.string().min(1).max(16),passed:i.boolean(),falseGreenCaught:i.boolean(),durationMs:i.number().int().nonnegative().optional(),browser:i.string().min(1).max(16).optional(),brand:i.nativeEnum($e).optional(),reason:i.nativeEnum(Ke).optional(),uncleanLoss:i.nativeEnum(ZS).optional(),driven:i.nativeEnum(nM).optional()}),oM=i.object({from:i.string().min(1).max(64),to:i.string().min(1).max(64),nudged:i.boolean().optional(),direction:i.string().min(1).max(16)}),Fx={RETICLE:"reticle",OTHER:"other"},iM=i.object({kind:i.string().min(1).max(32),errorType:i.string().min(1).max(64).optional(),fingerprint:i.string().min(1).max(64).optional(),message:i.string().max(300).optional(),frames:i.array(i.string().max(120)).max(12).optional(),tool:i.string().min(1).max(64).optional(),breadcrumb:i.array(i.string().max(64)).max(12).optional(),nodeVersion:i.string().max(24).optional(),arch:i.string().max(16).optional(),machine:mg.optional(),syscall:i.string().max(32).optional(),errno:i.string().max(32).optional(),loopback:i.boolean().optional(),port:i.enum([Fx.RETICLE,Fx.OTHER]).optional(),internalFrame:i.string().max(64).optional()}),aM=i.object({reconnect:i.boolean(),daemonAgeMs:i.number().int().nonnegative(),client:i.string().min(1).max(64).optional(),appConnected:i.boolean().optional()}),sM=i.object({initialized:i.boolean(),agentAttached:i.boolean(),msToFirstApp:i.number().int().nonnegative(),firstEver:i.boolean().optional()}),cM={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},lM={SSE_ENDED:"sse_ended",DAEMON_SHUTDOWN:"daemon_shutdown",SSE_ERROR:"sse_error",SSE_ABORTED:"sse_aborted",SSE_CLOSED:"sse_closed",CONNECT_ERROR:"connect_error",OTHER:"other"},dM=i.object({stage:i.nativeEnum(cM),reason:i.nativeEnum(lM),attempts:i.number().int().nonnegative(),pendingLost:i.number().int().nonnegative().optional()}),uM={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",INSTALL_SCRIPT:"install_script",DOCS_SITE:"docs_site",README:"readme",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},pM={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",CI_RUNNER:"ci_runner",AGENT_SANDBOX:"agent_sandbox"},fM={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},hM=i.object({ok:i.boolean(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),mcpRegistered:i.boolean().optional(),confirmation:i.nativeEnum(fM).optional()}),XK=i.object({v:i.literal(JD),anonymousId:i.string().min(1).max(128),projectId:i.string().min(1).max(128).optional(),sessionId:i.string().min(1).max(64).optional(),event:i.nativeEnum(Ut),ts:i.number().int().nonnegative(),version:i.string().min(1).max(64),ci:i.boolean(),automation:i.nativeEnum(pM).optional(),projectIdSource:i.nativeEnum(tM).optional(),os:i.string().min(1).max(32),tzOffsetMin:i.number().int().min(-900).max(900).optional(),internal:i.boolean().optional(),idEphemeral:i.boolean().optional(),feedback:ex.optional(),actor:i.nativeEnum(eM).optional(),command:i.string().min(1).max(32).optional(),flags:i.array(i.string().max(32)).max(16).optional(),session:Mx.optional(),project:$x.optional(),verification:rM.optional(),versionChange:oM.optional(),crash:iM.optional(),identity:tx.optional(),connection:aM.optional(),init:hM.optional(),onboarding:Ox.optional(),bug:Ux.optional(),refusal:Lx.optional(),outage:dM.optional(),instrumentation:sM.optional(),installSource:i.nativeEnum(uM).optional(),licenseId:i.string().min(1).max(64).optional(),licenseStatus:i.nativeEnum(Px).optional(),licenseKeyPresent:i.boolean().optional(),...Hx})});var Bx=S(()=>{"use strict"});var e3,Vx=S(()=>{"use strict";cm();e3={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:Ns.ACT,ACT_SEQUENCE:Ns.ACT_SEQUENCE,ACT_AND_WAIT:Ns.ACT_AND_WAIT,OBSERVE:"reticle_observe",LINEAGE:"reticle_lineage",WAIT_FOR:"reticle_wait_for",NETWORK:"reticle_network",CONSOLE:"reticle_console",ANIMATIONS:"reticle_animations",ASSERT:"reticle_assert",RECONCILE:"reticle_reconcile",BASELINE_SAVE:"reticle_baseline_save",BASELINE_LIST:"reticle_baseline_list",DIFF:"reticle_diff",RECORD_START:"reticle_record_start",RECORD_STOP:"reticle_record_stop",REPLAY:"reticle_replay",EXPLORE:"reticle_explore",NARRATE:"reticle_narrate",CLOCK:"reticle_clock",STATE:"reticle_state",STORAGE:"reticle_storage",CAPABILITIES:"reticle_capabilities",CONTRACT_SAVE:"reticle_contract_save",DOMAIN:"reticle_domain",FLOW_SAVE:"reticle_flow_save",FLOW_LIST:"reticle_flow_list",FLOW_LOAD:"reticle_flow_load",FLOW_DELETE:"reticle_flow_delete",FLOW_REPLAY:"reticle_flow_replay",FLOW_VERIFY:"reticle_flow_verify",FLOW_SAVE_RECORDED:"reticle_flow_save_recorded",FLOW_HEAL:"reticle_flow_heal",FLOW_MUTATE:"reticle_flow_mutate",ANNOTATE:"reticle_annotate",AFFECTED:"reticle_affected",COVERAGE:"reticle_coverage",VERIFY_CHANGE:"reticle_verify_change",VERIFY_EXPLORE:"reticle_verify_explore",INTENT:"reticle_intent",CONTEXT:"reticle_context",VERIFY:"reticle_verify",PROJECT:"reticle_project",ACCOUNT:"reticle_account",MEMORY:"reticle_memory",RUN_RECORD:"reticle_run_record",SCREENSHOT:"reticle_screenshot",NETWORK_MOCK:"reticle_network_mock",VIEWPORT:"reticle_viewport",VISUAL_DIFF:"reticle_visual_diff",CRAWL:"reticle_crawl",SCROLL_TO:"reticle_scroll_to",SESSION_TUNE:"reticle_session_tune",END_SESSION:"reticle_end_session",YIELD:"reticle_yield",RESUME:"reticle_resume",MESSAGES:"reticle_messages",REVIEW:"reticle_review",WAIT_READY:"reticle_wait_ready",NAVIGATE:"reticle_navigate",REFRESH:"reticle_refresh",RUN_EXPORT:"reticle_run_export",BASELINE:"reticle_baseline",SESSION:"reticle_session",RECORD:"reticle_record",FLOW:"reticle_flow",LEASE:"reticle_lease",LEASE_ACQUIRE:"reticle_lease_acquire",LEASE_RELEASE:"reticle_lease_release",TOOLS:"reticle_tools",RUN:"reticle_run",FEEDBACK:"reticle_feedback"}});var jx=S(()=>{"use strict"});var Kx=S(()=>{"use strict"});var c3,l3,d3,u3,Wx=S(()=>{"use strict";ks();Ps();Ap();Mt();c3={[ei.WEB]:{surface:Pn.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[ei.ELECTRON]:{surface:Pn.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[ei.TAURI]:{surface:Pn.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},l3=new Set(Object.values($n)),d3={[ei.WEB]:Or.WEB,[ei.ELECTRON]:Or.WEBVIEW,[ei.TAURI]:Or.WEBVIEW},u3={[Pn.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Pn.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Pn.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Pn.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Pn.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Pn.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var Xx,mM,gM,zx,EM,qx,bM,Yx,TM,nt,SM,_M,xM,AM,Zx,yM,vM,Qx,_g=S(()=>{"use strict";ne();Xx=i.object({calls:i.number().int().nonnegative(),verdicts:i.number().int().nonnegative(),passed:i.number().int().nonnegative(),failed:i.number().int().nonnegative(),unknown:i.number().int().nonnegative(),refusals:i.number().int().nonnegative(),marks:i.number().int().nonnegative(),sessions:i.number().int().nonnegative(),tokensReturned:i.number().int().nonnegative(),drivingMs:i.number().int().nonnegative()}),mM=i.object({date:i.string(),counts:Xx}),gM=i.object({longestRunMs:i.number().int().nonnegative(),bestVerdictDay:i.number().int().nonnegative(),bestDefectDay:i.number().int().nonnegative(),streakDays:i.number().int().nonnegative(),bestStreakDays:i.number().int().nonnegative()}),zx=i.object({value:i.number().nonnegative(),basis:i.string()}),EM=i.object({tokens:zx,minutes:zx}),qx=10,bM=i.object({at:i.number().int().nonnegative(),title:i.string(),detail:i.string().optional(),source:i.string().optional()}),Yx=i.object({counts:Xx,days:i.array(mM),records:gM,savings:EM,since:i.number().int().nonnegative(),defects:i.array(bM).default([])}),TM=i.object({signedIn:i.boolean(),org:i.string().optional(),email:i.string().optional(),host:i.string().optional()}),nt={FREE:"free",TRIAL:"trial",PAID:"paid"},SM=i.object({provider:i.string(),harnessEnabled:i.boolean(),harnessEntitled:i.boolean(),providerReady:i.boolean().optional(),credits:i.object({used:i.number().int().min(0),limit:i.number().int().min(0),kind:i.enum([nt.FREE,nt.TRIAL,nt.PAID]).optional(),daysLeft:i.number().int().min(0).optional()}).optional(),platformUrl:i.string().optional(),gate:i.object({unlocked:i.boolean(),percent:i.number().int().min(0).max(100).optional(),reason:i.string().max(400).optional(),prompt:i.string().max(4e3).optional()}).optional(),plan:i.object({kind:i.enum([nt.FREE,nt.TRIAL,nt.PAID]),daysLeft:i.number().int().min(0).optional(),seats:i.number().int().min(0).optional()}).optional(),harnessRuns:i.number().int().min(0).optional(),memoryEntries:i.number().int().min(0).optional()}),_M=i.object({runId:i.string(),steps:i.number().int().min(0)}),xM=500,AM=5,Zx=64,yM=i.object({text:i.string().max(xM),seen:i.boolean(),by:i.string().max(Zx).optional()}),vM=i.object({agents:i.array(i.string().max(Zx)).max(8),notes:i.array(yM).max(AM)}),Qx=i.object({schemaVersion:i.number().int().positive(),project:Yx,global:Yx,projectName:i.string().optional(),dashboardUrl:i.string().optional(),account:TM.optional(),harnessConfig:SM.optional(),harnessDrive:_M.optional(),agent:vM.optional(),notices:i.array(i.unknown()).max(8).optional(),coverage:i.record(i.number()).optional(),sync:i.record(i.unknown()).optional(),instrumentation:i.record(i.unknown()).optional()})});var Jx=S(()=>{"use strict"});function Fs(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619)>>>0;return e.toString(16).padStart(8,"0")}function eA(t){let e=Object.keys(t).sort().map(n=>{var r;return`${n}:${[...(r=t[n])!=null?r:[]].sort().join(",")}`}).join("|");return Fs(e)}var xg,od,tA=S(()=>{"use strict";Mt();xg=eA({messageKinds:Object.values(Dt),commands:Object.values(L),actions:Object.values(k),events:Object.values(x)}),od={commands:Object.values(L),events:Object.values(x),actions:Object.values(k)}});var nA,rA=S(()=>{"use strict";nA="[Reticle] this page could not open a websocket to "});var oA=S(()=>{"use strict"});var H=S(()=>{"use strict";tS();u_();p_();f_();Mt();m_();b_();S_();A_();y_();Qo();v_();R_();Km();Yl();I_();zm();M_();P_();H_();sg();nx();rx();Gl();cm();d_();um();ox();Im();Nm();Cm();ax();_p();sx();cx();co();Pm();Mm();Um();Fm();Gm();lx();px();hx();mx();gx();Ex();bx();Tx();Sx();ug();xx();og();tg();yx();vx();Rx();Gx();fg();hg();Bx();Vx();jx();Ap();yp();Kx();Wx();gg();Tg();Eg();Ps();_g();Jx();tA();rA();oA()});function aA(t){Ag=t}function yg(t){sA=t}function lA(){return Ag}function dA(t){iA=t.join(",")}function ht(t){return t.closest(ti)!==null}function ni(t){return ht(t)?!cA()||t.closest(NM)===null:!1}function Gs(t){return t!==null&&t.closest(ti)!==null}function rn(t){let n=[cA()?wM:ti,RM,iA].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Ip(t){for(let e of Array.from(t.querySelectorAll(OM)))if(e.closest(ti)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var ti,RM,iA,Ag,sA,cA,NM,wM,OM,at=S(()=>{"use strict";H();ti=Xl,RM="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",iA="",Ag=!1;sA=!1;cA=()=>Ag&&!sA;NM="[data-reticle-dock]";wM="[data-reticle-log],[data-reticle-harness-log],[data-reticle-chat-pill-text],[data-reticle-agent-said],[data-reticle-agent-note]";OM='dialog[open], [aria-modal="true"]'});function Bs(){return Cp}function rr(){return`[${Cp}]`}function Pe(t){return t.getAttribute(Cp)}function uA(t){Cp=t!==void 0&&E_.test(t)?t:ca}var Cp,on=S(()=>{"use strict";H();Cp=ca});function pA(t,e){var o;if(t===null||typeof t!="object")return;let r=((o=t.ownerDocument)!=null?o:t).defaultView;if(r!=null)return r[e]}function bn(t,e,n){var o;let r=(o=pA(t,e))!=null?o:n;return typeof r=="function"&&t instanceof r}function EA(t){let e=Ft(t)?"HTMLTextAreaElement":"HTMLInputElement",n=pA(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var an,vg,Ze,IM,ri,ve,Ft,or,Vs,fA,hA,mA,gA,Lp,Un=S(()=>{"use strict";an=t=>bn(t,"Element",typeof Element=="undefined"?void 0:Element),vg=t=>bn(t,"HTMLImageElement",typeof HTMLImageElement=="undefined"?void 0:HTMLImageElement),Ze=t=>bn(t,"HTMLElement",typeof HTMLElement=="undefined"?void 0:HTMLElement),IM=t=>bn(t,"SVGElement",typeof SVGElement=="undefined"?void 0:SVGElement),ri=t=>Ze(t)||IM(t),ve=t=>bn(t,"HTMLInputElement",typeof HTMLInputElement=="undefined"?void 0:HTMLInputElement),Ft=t=>bn(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement=="undefined"?void 0:HTMLTextAreaElement),or=t=>bn(t,"HTMLSelectElement",typeof HTMLSelectElement=="undefined"?void 0:HTMLSelectElement),Vs=t=>bn(t,"HTMLButtonElement",typeof HTMLButtonElement=="undefined"?void 0:HTMLButtonElement),fA=t=>bn(t,"HTMLMeterElement",typeof HTMLMeterElement=="undefined"?void 0:HTMLMeterElement),hA=t=>bn(t,"HTMLOutputElement",typeof HTMLOutputElement=="undefined"?void 0:HTMLOutputElement),mA=t=>bn(t,"HTMLProgressElement",typeof HTMLProgressElement=="undefined"?void 0:HTMLProgressElement),gA=t=>bn(t,"HTMLFormElement",typeof HTMLFormElement=="undefined"?void 0:HTMLFormElement),Lp=t=>bn(t,"HTMLIFrameElement",typeof HTMLIFrameElement=="undefined"?void 0:HTMLIFrameElement)});function $p(t){return CM.has(t)||t.startsWith(kp)||t.startsWith(Dp)||t.startsWith(Mp)}var st,kp,Dp,Mp,CM,Lr=S(()=>{"use strict";st={SESSION:"__reticle_session",REF_BASE:"__reticle_ref_base",PRESENTER_LOG:"reticle-presenter-log",PRESENTER_LOG_OWNER:"reticle-presenter-log-owner",PRESENTER_SETTINGS:"reticle-presenter-settings",PRESENTER_MINIMISED:"reticle-presenter-minimised",PRESENTER_VIEW:"reticle-presenter-view",CAROUSEL_DISMISSED:"reticle.carousel.dismissed",ANNOTATION_HISTORY:"reticle.annotations.history.v1"},kp="reticle.tour.seen.",Dp="reticle.harness.persona.",Mp="reticle.impact.seen.",CM=new Set(Object.values(st))});function ga(t){let e=G.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${LM}`}function MM(t){try{let e=t==null?void 0:t.getItem(TA),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var bA,LM,Rg,kM,TA,DM,ad,ct,sd,fo,js,Ks,Ws,ho,SA,Ng,_A,id,J,Rt=S(()=>{"use strict";H();Lr();bA=1e4,LM="\u2026",Rg="e";kM=1e3,TA=st.REF_BASE,DM=100;id=class{constructor(e=()=>globalThis.sessionStorage){b(this,ho);b(this,ad,new WeakMap);b(this,ct,new Map);b(this,sd);b(this,fo,0);b(this,js,0);b(this,Ks,0);b(this,Ws,0);h(this,sd,e)}get size(){return c(this,ct).size}markEdited(){h(this,Ws,c(this,fo))}mintedBeforeLastEdit(e){if(c(this,Ws)===0||!e.startsWith(Rg))return!1;let n=Number(e.slice(Rg.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,Ws)}refFor(e){let n=c(this,ad).get(e);if(n!==void 0){let o=c(this,ct).get(n);return c(this,ct).delete(n),c(this,ct).set(n,o!=null?o:new WeakRef(e)),n}c(this,fo)>=c(this,js)&&E(this,ho,SA).call(this),h(this,fo,c(this,fo)+1);let r=ix(`${Rg}${String(c(this,fo))}`);return c(this,ad).set(e,r),c(this,ct).set(r,new WeakRef(e)),h(this,Ks,c(this,Ks)+1),c(this,Ks)>=kM?(h(this,Ks,0),E(this,ho,_A).call(this)):c(this,ct).size>bA&&E(this,ho,Ng).call(this),r}resolve(e){let n=c(this,ct).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,ct).delete(e),null):(c(this,ct).delete(e),c(this,ct).set(e,n),r)}};ad=new WeakMap,ct=new WeakMap,sd=new WeakMap,fo=new WeakMap,js=new WeakMap,Ks=new WeakMap,Ws=new WeakMap,ho=new WeakSet,SA=function(){let e;try{e=c(this,sd).call(this)}catch{e=void 0}let n=Math.max(MM(e),c(this,fo));h(this,js,n+DM);try{e==null||e.setItem(TA,String(c(this,js)))}catch{}h(this,fo,n)},Ng=function(){let e=c(this,ct).keys().next();e.done!==!0&&c(this,ct).delete(e.value)},_A=function(){for(let[e,n]of c(this,ct)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,ct).delete(e)}for(;c(this,ct).size>bA;)E(this,ho,Ng).call(this)};J=new id});function Re(t,e){return t[e]}function xA(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:Re(e,"set")}var oi=S(()=>{"use strict"});function HM(){for(let t of ii)t.deref()===void 0&&ii.delete(t);for(;ii.size>$M;){let t=ii.values().next();if(t.done===!0)break;ii.delete(t.value)}}function vA(){let t=[];for(let e of ii){let n=e.deref();n!==void 0&&t.push(n)}return t}function yA(t,e){if(!AA.has(t)){AA.add(t),ii.add(new WeakRef(t)),Og+=1,Og>=PM&&(Og=0,HM()),Ig.add(e);for(let n of Pp)n(t)}}function RA(){return vA()}function NA(t){return Ig.has(t)}function zs(t){if(!Ig.has(t))return null;for(let e of vA())if(e.host===t)return e;return null}function wA(t){return Pp.add(t),()=>Pp.delete(t)}function OA(){let t=Element.prototype,e=Re(t,"attachShadow");if(typeof e!="function")return()=>{};wg+=1;let n=function(a){let s=e.call(this,a);return yA(s,this),s};t.attachShadow=n;let r=o=>{for(let a of o.querySelectorAll("*")){let s=a.shadowRoot;s!==null&&(yA(s,a),r(s))}};return document.documentElement!==null&&r(document.documentElement),()=>{Re(t,"attachShadow")===n&&(t.attachShadow=e),wg-=1,!(wg>0)&&(ii.clear(),Pp.clear())}}var wg,ii,AA,Ig,$M,PM,Og,Pp,Ys=S(()=>{"use strict";oi();wg=0,ii=new Set,AA=new WeakSet,Ig=new WeakSet,$M=4e3,PM=250,Og=0;Pp=new Set});function IA(t){var n;return((n=t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi))!=null?n:[]).map(r=>Number(r))}function GM(t){return/NaN|Infinity/i.test(t)?!0:IA(t).some(e=>!Number.isFinite(e))}function BM(t){let e=IA(t).filter(a=>Number.isFinite(a));if(e.length===0)return!0;let n=e.filter((a,s)=>s%2===0),r=e.filter((a,s)=>s%2===1),o=a=>a.every(s=>s===a[0]);return n.length>1&&o(n)&&o(r)}function Hp(t){let e=[],n=0;for(let o of UM)for(let a of Array.from(t.querySelectorAll(o)))for(let s of FM){let l=a.getAttribute(s);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;GM(l)?e.push({kind:"non-finite-coordinates",tag:o,attr:s,sample:d}):l.trim().length===0?e.push({kind:"empty-geometry",tag:o,attr:s,sample:d}):BM(l)&&e.push({kind:"degenerate-geometry",tag:o,attr:s,sample:d})}let r=t.querySelectorAll("canvas").length>0;return{examined:n,findings:e,canvas:r}}function CA(t,e){var o,a,s,l,d,u,p;let n=(a=(o=e.Chart)==null?void 0:o.getChart)==null?void 0:a.call(o,t);if(n!=null)return{library:"chartjs",data:(s=n.data)!=null?s:null};let r=(d=(l=e.echarts)==null?void 0:l.getInstanceByDom)==null?void 0:d.call(l,t);return r!=null?{library:"echarts",data:(p=(u=r.getOption)==null?void 0:u.call(r))!=null?p:null}:null}var UM,FM,Cg=S(()=>{"use strict";UM=["path","polyline","polygon"],FM=["d","points"]});function cd(t,e,n){let r=Math.max(0,Math.min(n,e.remainingCharacters));if(t.length<=r)return e.remainingCharacters-=t.length,t;e.truncatedValues+=1;let o=r<=ld.length?ld.slice(0,r):`${t.slice(0,r-ld.length)}${ld}`;return e.remainingCharacters-=o.length,o}function dd(t,e,n,r){if(r!==void 0&&tt(r))return _e;if(n>G.MAX_SERIALIZE_DEPTH||e.nodes>=Xs)return e.truncatedValues+=1,ld;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return cd(t,e,(r==null?void 0:r.toLowerCase())==="error"?G.MAX_ERROR_LENGTH:G.MAX_STRING_LENGTH);if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="bigint")return t.toString();if(typeof t=="undefined"||typeof t=="function"||typeof t=="symbol")return qs;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Map){let o=Object.create(null),a=0;for(let[s,l]of t){if(e.nodes>=Xs||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let d=cd(typeof s=="string"?s:String(s),e,LA),u=dd(l,e,n+1,d);u!==qs&&(o[d]=u),a+=1}return o}if(t instanceof Set){let o=[],a=0;for(let s of t){if(e.nodes>=Xs||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-a;break}let l=dd(s,e,n+1);o.push(l===qs?null:l),a+=1}return o}if(ArrayBuffer.isView(t)&&!(t instanceof DataView)){let o=t.length,a=[],s=0;for(let l of t){if(e.nodes>=Xs||s>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=o-s;break}a.push(l),e.nodes+=1,s+=1}return a}if(t instanceof Error)return{name:cd(t.name,e,256),message:cd(t.message,e,G.MAX_ERROR_LENGTH)};if(e.seen.has(t))return"[CIRCULAR]";e.seen.add(t);try{if(Array.isArray(t)){let d=[],u=t.slice(0,G.MAX_COLLECTION_ITEMS);e.droppedItems+=Math.max(0,t.length-u.length);for(let p of u){if(e.nodes>=Xs){e.droppedItems+=1;continue}let f=dd(p,e,n+1);if(e.nodes>=Xs){e.droppedItems+=1;continue}d.push(f===qs?null:f)}return d}let o=Object.create(null),a=Object.keys(t),s=a.slice(0,G.MAX_OBJECT_KEYS);e.droppedItems+=Math.max(0,a.length-s.length);let l=s.map(d=>{try{let u=t[d];return{key:d,value:u,scalar:u===null||typeof u!="object",ok:!0}}catch{return{key:d,value:void 0,scalar:!0,ok:!1}}});for(let d of[...l.filter(u=>u.scalar),...l.filter(u=>!u.scalar)]){let u=cd(d.key,e,LA);if(!d.ok){o[u]=Lg;continue}try{let p=dd(d.value,e,n+1,d.key);p!==qs&&(o[u]=p)}catch{o[u]=Lg}}return o}finally{e.seen.delete(t)}}function ud(t){return pd(t).value}function pd(t){let e={seen:new WeakSet,remainingCharacters:VM,nodes:0,droppedItems:0,truncatedValues:0},n=dd(t,e,0),r=n===qs?null:n;if(e.droppedItems===0&&e.truncatedValues===0)return{value:r};let o=[];return e.droppedItems>0&&o.push(`${e.droppedItems} item(s) dropped`),e.truncatedValues>0&&o.push(`${e.truncatedValues} value(s) truncated`),{value:r,truncation:{droppedItems:e.droppedItems,truncatedValues:e.truncatedValues,note:`partial \u2014 ${o.join(", ")}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`}}}function kr(t){try{return JSON.stringify(ud(t))}catch{return JSON.stringify(Lg)}}var ld,Lg,qs,LA,VM,Xs,Dr=S(()=>{"use strict";H();ld="[TRUNCATED]",Lg="[UNSERIALIZABLE]",qs=Symbol("omit"),LA=256,VM=Math.floor(G.MAX_MESSAGE_BYTES/4),Xs=G.MAX_COLLECTION_ITEMS*5});function jM(t){if(t===null)return;let e=/^(.*):(\d+):(\d+)$/.exec(t);if(e===null)return;let n=e[1],r=Number(e[2]);if(!(n===void 0||n.length===0||!Number.isFinite(r)))return{file:n,line:r}}function fd(t){let e=t.closest(`[${kg}]`);return e!==null?jM(e.getAttribute(kg)):void 0}function Up(t,e){return e!==void 0?{file:e.file,line:e.line}:fd(t)}function kA(t){return t.querySelector(`[${kg}]`)!==null}function Fp(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var kg,hd=S(()=>{"use strict";H();kg=Ds});function qM(t){let e=t.type.toLowerCase();return e==="search"?"searchbox":XM.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function ZM(t){let e=t.getAttribute("aria-label");if(e!==null&&e.trim().length>0)return!0;let n=t.getAttribute("aria-labelledby");if(n!==null&&n.trim().length>0)return!0;let r=t.getAttribute("title");return r!==null&&r.trim().length>0}function xe(t){var r;let e=t.getAttribute("role");if(e!==null&&e.trim().length>0)return e.trim();switch(t.tagName.toLowerCase()){case"a":return t.hasAttribute("href")?"link":"generic";case"button":return"button";case"input":return qM(t);case"textarea":return"textbox";case"select":return t.multiple?"listbox":"combobox";case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"heading";case"ul":case"ol":return"list";case"li":return"listitem";case"nav":return"navigation";case"main":return"main";case"aside":return"complementary";case"dialog":return"dialog";case"img":return"img";case"table":return"table";case"tr":return"row";case"tbody":case"thead":case"tfoot":return"rowgroup";case"td":return t.closest('[role~="grid"], [role~="treegrid"]')!==null?"gridcell":"cell";case"th":{let o=((r=t.getAttribute("scope"))!=null?r:"").toLowerCase();return o==="row"||o==="rowgroup"?"rowheader":"columnheader"}case"option":return"option";case"optgroup":return"group";case"section":return ZM(t)?"region":"generic";case"article":return"article";case"fieldset":return"group";case"details":return"group";case"summary":return"button";case"progress":return"progressbar";case"meter":return"meter";case"output":return"status";case"hr":return"separator";case"area":return t.hasAttribute("href")?"link":"generic";case"form":return"form";case"p":return"paragraph";case"header":return"banner";case"footer":return"contentinfo";default:return"generic"}}function Zs(t){return t.replace(/\s+/g," ").trim()}function QM(t){let e=t.getAttribute("aria-labelledby");if(e===null)return null;let n=[];for(let o of e.split(/\s+/)){let a=t.ownerDocument.getElementById(o);a!==null&&n.push(Zs(md(a)))}let r=n.join(" ").trim();return r.length>0?r:null}function md(t){var o;if(t.nodeType===Node.TEXT_NODE)return(o=t.textContent)!=null?o:"";if(t.nodeType!==Node.ELEMENT_NODE)return"";let e=t;if(e.getAttribute("aria-hidden")==="true")return"";if(vg(e)){let a=e.getAttribute("alt");return a===null?"":a}let n="",r=!1;for(let a of e.childNodes){let s=md(a);if(s.length===0)continue;let l=Node.ELEMENT_NODE===a.nodeType;n.length>0&&(l||r)&&(n+=" "),n+=s,r=l}return n}function Ne(t){let e=QM(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(vg(t)){let a=t.getAttribute("alt");if(a!==null)return a.trim()}if(ve(t)||Ft(t)||or(t)||Vs(t)||fA(t)||hA(t)||mA(t)){let a=t.labels;if(a!==null&&a.length>0){let s=[...a].map(l=>Zs(md(l))).join(" ").trim();if(s.length>0)return s}}if(t.tagName.toLowerCase()==="fieldset"){let a=[...t.children].find(s=>s.tagName.toLowerCase()==="legend");if(a!==void 0){let s=Zs(md(a));if(s.length>0)return s}}if(ve(t)||Ft(t)||or(t)){if(ve(t)){let a=t.type.toLowerCase();if(a==="submit"||a==="button"||a==="reset"){let s=Zs(t.value);if(s.length>0)return s}}if(ve(t)||Ft(t)){let a=t.getAttribute("placeholder");if(a!==null&&a.trim().length>0)return a.trim()}}if(YM.has(xe(t))){let a=Zs(md(t));if(a.length>0)return a}let o=t.getAttribute("title");return o!==null&&o.trim().length>0?o.trim():""}function Gp(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function go(t,e=Gt(t)){let n=[fe.PRESENT];n.push(e?fe.VISIBLE:fe.HIDDEN);let o=(Vs(t)||ve(t)||or(t)||Ft(t))&&t.disabled||Gp(t,"aria-disabled")===!0;return n.push(o?fe.DISABLED:fe.ENABLED),(ve(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||Gp(t,"aria-checked")===!0)&&n.push(fe.CHECKED),Gp(t,"aria-expanded")===!0&&n.push(fe.EXPANDED),Gp(t,"aria-pressed")===!0&&n.push(fe.PRESSED),t.ownerDocument.activeElement===t&&n.push(fe.FOCUSED),n}function ir(t){var o,a,s,l,d;if(!ve(t)&&!Ft(t)&&!or(t))return!1;let e=(o=t.getAttribute("autocomplete"))!=null?o:"",n=[(a=t.getAttribute("name"))!=null?a:"",t.id,(s=Pe(t))!=null?s:"",(l=t.getAttribute(ca))!=null?l:"",(d=t.getAttribute("aria-label"))!=null?d:""],r=JM.test(e);return ve(t)&&t.type.toLowerCase()==="password"||r||n.some(tt)}function Mg(t){if(ve(t)||Ft(t)||or(t))return ir(t)?t.value===""?"":_e:t.value;let e=t.getAttribute("aria-valuenow");return e!=null?e:void 0}function e2(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(KM);if(n===null||n.hasAttribute(WM))return!1;let r=Array.from(n.children).find(o=>zM===o.localName);return r===void 0||!r.contains(t)}function t2(t){return!t.ownerDocument.hidden||!("getAnimations"in t)?!1:t.getAnimations().some(e=>e.playState==="running"||e.pending)}function r2(t){return t.hasAttribute(n2)}function o2(t,e){return!!(t.getAttribute("aria-hidden")==="true"&&!r2(t)||Ze(t)&&t.hidden||e2(t)||e!==null&&(e.display==="none"||e.visibility==="hidden"||e.visibility==="collapse"||Number.parseFloat(e.opacity||"1")===0&&!t2(t)))}function i2(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=zs(e);if(n===null)return null;for(let r of Array.from(n.querySelectorAll("slot")))if(r.assignedElements().includes(t))return r;return null}function a2(t){var r;let e=(r=t.assignedSlot)!=null?r:i2(t);if(e!==null)return e;if(t.parentElement!==null)return t.parentElement;let n=t.getRootNode().host;return n!=null?n:null}function BA(t){if(t===void 0)return new Map;let e=PA.get(t);return e===void 0&&(e=new Map,PA.set(t,e)),e}function mo(t,e){var r,o,a;let n=e.get(t);if(n===void 0){let s=(o=(r=t.ownerDocument.defaultView)==null?void 0:r.getComputedStyle(t))!=null?o:null;if(o2(t,s))return n={hidden:!0,style:s,parent:null,clipX:!1,clipY:!1,scrollX:!1,scrollY:!1,hasClipping:!1},e.set(t,n),n;let l=a2(t),d=l===null?void 0:mo(l,e),[u,p]=Dg(s),f=t.ownerDocument.documentElement,g=!(t===f||t===t.ownerDocument.body&&Dg(mo(f,e).style).every(y=>y==="visible"))&&!FA.has((a=s==null?void 0:s.display)!=null?a:"")&&!(Ze(t)&&(s==null?void 0:s.display)==="inline"),T=g&&DA.has(u),_=g&&DA.has(p);n={hidden:(d==null?void 0:d.hidden)===!0,style:s,parent:l,clipX:T,clipY:_,scrollX:g&&MA.has(u),scrollY:g&&MA.has(p),hasClipping:T||_||(d==null?void 0:d.hasClipping)===!0},e.set(t,n)}return n}function Dg(t){var o;let e=(o=t==null?void 0:t.overflow)!=null?o:"",[n="visible",r=n]=(e===""?"visible":e).split(/\s+/);return[t===null||t.overflowX===""?n:t.overflowX,t===null||t.overflowY===""?r:t.overflowY]}function l2(t,e,n){for(let r=mo(t,n).parent;r!==null;r=mo(r,n).parent){let o=mo(r,n).style;if(o===null||o.display==="contents")continue;if(!e&&o.position!==""&&o.position!=="static")return r;let a=!(o.display==="inline"&&Ze(r)&&!c2.has(r.localName))&&o.display!=="table-column"&&o.display!=="table-column-group",s=l=>a||!GA.has(l);if([...$A].some(l=>{let d=o.getPropertyValue(l);return s(l)&&d!==""&&d!=="none"})||o.willChange.split(",").some(l=>$A.has(l.trim())&&s(l.trim()))||a&&!FA.has(o.display)&&(o.contain.split(/\s+/).some(l=>s2.has(l))||o.contentVisibility==="auto"))return r}return null}function HA(t,e){var ce;if(e.clipBox!==void 0)return e.clipBox;let n=t.getBoundingClientRect(),r=e.style,o=he=>Number.parseFloat(he!=null?he:"")||0,a=(he,Ie)=>Ie===void 0||Ie===""||Ie==="none"||Ie==="hidden"?0:o(he),s=Ze(t)&&t.offsetWidth>0?n.width/t.offsetWidth:1,l=Ze(t)&&t.offsetHeight>0?n.height/t.offsetHeight:1,d=Ze(t)&&t.offsetWidth>0?n.left+t.clientLeft*s:n.left+a(r==null?void 0:r.borderLeftWidth,r==null?void 0:r.borderLeftStyle),u=Ze(t)&&t.offsetHeight>0?n.top+t.clientTop*l:n.top+a(r==null?void 0:r.borderTopWidth,r==null?void 0:r.borderTopStyle),p=Ze(t)&&t.offsetWidth>0?d+t.clientWidth*s:n.right-a(r==null?void 0:r.borderRightWidth,r==null?void 0:r.borderRightStyle),f=Ze(t)&&t.offsetHeight>0?u+t.clientHeight*l:n.bottom-a(r==null?void 0:r.borderBottomWidth,r==null?void 0:r.borderBottomStyle),m=((ce=r==null?void 0:r.overflowClipMargin)!=null?ce:"").split(/\s+/),g=o(m.at(-1)),T=m.includes("border-box"),_=m.includes("content-box"),[y,A]=Dg(r),v=y==="clip"?(T?n.left:d+(_?o(r==null?void 0:r.paddingLeft)*s:0))-g*s:d,O=y==="clip"?(T?n.right:p-(_?o(r==null?void 0:r.paddingRight)*s:0))+g*s:p,B=A==="clip"?(T?n.top:u+(_?o(r==null?void 0:r.paddingTop)*l:0))-g*l:u,oe=A==="clip"?(T?n.bottom:f-(_?o(r==null?void 0:r.paddingBottom)*l:0))+g*l:f;return e.clipBox={left:v,right:O,top:B,bottom:oe,width:O-v,height:oe-B},e.clipBox}function d2(t,e,n,r){let o=(u,p,f,m,g)=>{if(p>m&&u<g)return[u,p];let T=Math.min(f,g-m);return u>=g?[g-T,g]:[m,m+T]},[a,s]=n?o(t.left,t.right,t.width,e.left,e.right):[t.left,t.right],[l,d]=r?o(t.top,t.bottom,t.height,e.top,e.bottom):[t.top,t.bottom];return{left:a,right:s,top:l,bottom:d,width:s-a,height:d-l}}function VA(t,e,n,r=!1){let o=n,a=mo(t,e);if(a.hidden)return null;if(a.parent===null||!mo(a.parent,e).hasClipping)return o;let s;for(let l=t;l!==null;l=mo(l,e).parent){let d=mo(l,e);if(d.hidden)return null;l===s&&(s=void 0);let u=d.style;if(r&&l!==t&&s===void 0&&(d.scrollX||d.scrollY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0&&(o=d2(o,HA(l,d),d.scrollX,d.scrollY))),l!==t&&s===void 0&&(d.clipX||d.clipY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0)){let p=HA(l,d),f=d.clipX?Math.max(o.left,p.left):o.left,m=d.clipX?Math.min(o.right,p.right):o.right,g=d.clipY?Math.max(o.top,p.top):o.top,T=d.clipY?Math.min(o.bottom,p.bottom):o.bottom;if(m<=f||T<=g)return null;o={left:f,right:m,top:g,bottom:T,width:m-f,height:T-g}}s===void 0&&((u==null?void 0:u.position)==="absolute"||(u==null?void 0:u.position)==="fixed")&&(s=l2(l,(u==null?void 0:u.position)==="fixed",e))}return o}function $g(t,e){if(!Gt(t,e))return!1;let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=VA(t,BA(e),t.getBoundingClientRect());return r==null||r.width<=0||r.height<=0?!1:r.bottom>0&&r.right>0&&r.top<n.innerHeight&&r.left<n.innerWidth}function Gt(t,e){if(!t.isConnected)return!1;let n=e==null?void 0:e.get(t);if(n!==void 0)return n;let r=VA(t,BA(e),void 0,!0)!==null;return e!==void 0&&e.set(t,r),r}function u2(t){var n;let e=Zs((n=t.textContent)!=null?n:"");return e.length>UA?`${e.slice(0,UA)}\u2026`:e}function Mr(t,e){let n=Mg(t),r=u2(t),o=Ne(t),a=Gt(t,e),s={ref:J.refFor(t),role:xe(t),name:o,states:go(t,a),visible:a};n!==void 0&&n.length>0&&(s.value=n),r.length>0&&r!==o&&(s.text=r);let l=Fp(fd(t));if(l!==void 0&&(s.source=l),t.querySelector("path, polyline, polygon")!==null){let d=Hp(t).findings;d.length>0&&(s.chart=d)}return s}var KM,WM,zM,YM,XM,JM,n2,DA,MA,FA,GA,$A,s2,c2,PA,UA,Bt=S(()=>{"use strict";on();H();Un();Rt();Ys();Cg();Dr();hd();KM="details",WM="open",zM="summary",YM=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),XM=new Set(["text","email","tel","url","password",""]);JM=/\b(cc-|current-password|new-password|one-time-code)/i;n2="data-aria-hidden";DA=new Set(["hidden","clip"]),MA=new Set(["auto","scroll"]),FA=new Set(["contents","table-row","table-row-group","table-header-group","table-footer-group","table-column","table-column-group"]),GA=new Set(["transform","translate","rotate","scale","perspective"]),$A=new Set([...GA,"filter","backdrop-filter"]),s2=new Set(["layout","paint","strict","content"]),c2=new Set(["img","video","audio","canvas","iframe","embed","object","input","textarea","select"]),PA=new WeakMap;UA=80});function sy(t){var o;let e=[],n=new Set,r;try{r=t.querySelectorAll(rr())}catch{return e}for(let a=0;a<r.length&&e.length<F2;a+=1){let s=(o=r[a])==null?void 0:o.getAttribute(Bs());if(s==null)continue;let l=s.trim();l.length===0||n.has(l)||l.startsWith(G2)||(n.add(l),e.push(l))}return e}var F2,G2,cy=S(()=>{"use strict";on();F2=200,G2="reticle-"});var Bg,ly,Vg,ar,Td=S(()=>{"use strict";Bg=globalThis,Vg=typeof((ly=Bg.console)==null?void 0:ly.warn)=="function"?Bg.console.warn.bind(Bg.console):null,ar=(...t)=>{Vg==null||Vg(...t)}});function my(t){return jg.add(t),()=>jg.delete(t)}function B2(t){if(t===null||typeof t!="object"&&typeof t!="function")return!1;let e=t;return typeof e.getState=="function"&&typeof e.subscribe=="function"}function gy(t,e,n){if(K2(t,e),B2(e)){let r=()=>e.getState(),o=a=>e.subscribe(a);ec.set(t,r),Wp.set(t,o),dy(t,r,o);return}if(typeof e!="function"){let r=typeof e=="object"&&e!==null&&"subscribe"in e;ar(`[reticle] store "${t}" is neither a getter function nor a {getState, subscribe} store`+(r?" \u2014 it has subscribe but no getState. Wrap it with an adapter or add getState.":"."));return}if(ec.set(t,e),n!==void 0){Wp.set(t,n),dy(t,e,n);return}j2(t)}function dy(t,e,n){for(let r of jg)try{r([t,e,n])}catch{}}function Ey(t){ec.delete(t),Wp.delete(t)}function ai(){return[...ec.keys()]}function by(){let t=[];for(let[e,n]of Wp){let r=ec.get(e);r!==void 0&&t.push([e,r,n])}return t}function Wg(t){let e={};for(let[n,r]of ec)if(!(t!==void 0&&n!==t))try{e[n]=r()}catch(o){e[n]={__error:o instanceof Error?o.message:String(o)}}return e}function Ty(t){return Sd(t).stores}function Sd(t){let e={},n={};for(let[r,o]of Object.entries(Wg(t))){let a=pd(o);e[r]=a.value,a.truncation!==void 0&&(n[r]=a.truncation)}return Object.keys(n).length>0?{stores:e,truncation:n}:{stores:e}}function j2(t){V2.has(t)||uy.has(t)||(uy.add(t),ar(`[reticle] store "${t}" was registered without a subscribe function. It can be READ, but its changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`))}function zp(t,e){Sy.set(t,e)}function K2(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;Kg.set(e,t);let n=Sy.get(e);n!==void 0&&Kg.set(n,t)}function _y(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return Kg.get(t)}var Eo,py,ec,fy,Wp,hy,jg,uy,V2,Kg,Sy,Ea=S(()=>{"use strict";H();Td();Dr();Eo=globalThis,ec=(py=Eo.__reticleStores)!=null?py:Eo.__reticleStores=new Map,Wp=(fy=Eo.__reticleStoreSubs)!=null?fy:Eo.__reticleStoreSubs=new Map,jg=(hy=Eo.__reticleStoreListeners)!=null?hy:Eo.__reticleStoreListeners=new Set;uy=new Set,V2=new Set([ap]);Kg=new WeakMap,Sy=new WeakMap});function Ay(){return typeof document=="undefined"?[]:sy(document)}function yy(){return ai().filter(t=>ap!==t)}function Xp(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function W2(){return{testids:[],signals:[],stores:[],flows:[]}}function Yg(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function qp(t){Yp=t}function tc(t){if(Yg(sn.testids,t.testids),Yg(sn.signals,t.signals),Yg(sn.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=sn.flows.find(r=>r.name===e.name);n===void 0?sn.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}Yp==null||Yp()}function si(){return{testids:Xp(sn.testids,Ay()),signals:[...sn.signals],stores:Xp(sn.stores,yy()),flows:sn.flows.map(t=>({name:t.name,steps:[...t.steps]})),...lA()?{presenterExposed:!0}:{}}}function vy(){return[...sn.testids]}function Zp(){return sn.signals.length>0||sn.flows.length>0||Xp(sn.testids,Ay()).length>0||Xp(sn.stores,yy()).length>0}var zg,xy,sn,Yp,ci=S(()=>{"use strict";H();at();cy();Ea();zg=globalThis;sn=(xy=zg.__reticleCapabilities)!=null?xy:zg.__reticleCapabilities=W2()});function Ny(t){nc.some(e=>e.name===t.name)||nc.push(t)}function $r(t){for(let e of nc){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function Qp(t){for(let e of nc){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function Jp(t){for(let e of nc)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function _d(){return nc.map(t=>t.name)}var Xg,Ry,nc,li=S(()=>{"use strict";Xg=globalThis,nc=(Ry=Xg.__reticleAdapters)!=null?Ry:Xg.__reticleAdapters=[]});function rf(){return Jg>0}function We(t){Jg+=1;try{return t()}finally{Jg-=1}}var Jg,rc=S(()=>{"use strict";Jg=0});var Gn,Vy,rE,jy,Wy,Ky,af,ee,Te,zy,Yy,Xy,di,qy,lt=S(()=>{"use strict";Gn=globalThis,Vy=typeof Gn.setTimeout=="function"?Gn.setTimeout.bind(Gn):null,rE=typeof Gn.clearTimeout=="function"?Gn.clearTimeout.bind(Gn):null,jy=typeof Gn.requestAnimationFrame=="function"?Gn.requestAnimationFrame.bind(Gn):null,Ky=typeof((Wy=Gn.performance)==null?void 0:Wy.now)=="function"?Gn.performance.now.bind(Gn.performance):null,af=()=>Ky?Ky():0,ee=(t,e=0)=>Vy?Vy(t,e):0,Te=t=>{rE==null||rE(t)},zy=(t,e)=>{let n=!1,r=0,o=()=>{n||(t(),!n&&(r=ee(o,e)))};return r=ee(o,e),()=>{n=!0,Te(r)}},Yy=200,Xy=(t=Yy)=>new Promise(e=>{let n=!1,r=a=>{n||(n=!0,Te(o),e({settled:a}))},o=ee(()=>r(!1),t);jy?jy(()=>r(!0)):ee(()=>r(!0),0)}),di=()=>Xy().then(()=>{}),qy=async(t=Yy)=>(await Promise.resolve(),Xy(t))});var Vv={};bs(Vv,{MASK:()=>Gv,cloneForRender:()=>Bv,renderPage:()=>UP});function kP(t){var e;return t instanceof HTMLInputElement&&t.type==="password"?!0:[t.name,t.id,(e=t.getAttribute("autocomplete"))!=null?e:""].some(n=>n.length>0&&tt(n))}function DP(t,e){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){let n=kP(t)&&t.value.length>0?Gv:t.value;t instanceof HTMLTextAreaElement?e.textContent=n:e.setAttribute("value",n)}t instanceof HTMLInputElement&&(t.checked?e.setAttribute("checked",""):e.removeAttribute("checked")),t instanceof HTMLOptionElement&&(t.selected?e.setAttribute("selected",""):e.removeAttribute("selected"))}function MP(t){var r;let e=[...Array.from(t.styleSheets),...(r=t.adoptedStyleSheets)!=null?r:[]],n=[];for(let o of e)try{for(let a of Array.from(o.cssRules))n.push(a.cssText)}catch{}return n.join(`
|
|
2
|
-
`)}function
|
|
3
|
-
${
|
|
4
|
-
`)}var
|
|
5
|
-
${ge("root")}{position:fixed;inset:0;pointer-events:none;z-index:${String(
|
|
1
|
+
"use strict";var ReticleSdk=(()=>{var Vm=Object.defineProperty;var Ak=Object.getOwnPropertyDescriptor;var yk=Object.getOwnPropertyNames;var vk=Object.prototype.hasOwnProperty;var JS=t=>{throw TypeError(t)};var S=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Ua=(t,e)=>{for(var n in e)Vm(t,n,{get:e[n],enumerable:!0})},Rk=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yk(e))!vk.call(t,o)&&o!==n&&Vm(t,o,{get:()=>e[o],enumerable:!(r=Ak(e,o))||r.enumerable});return t};var Nk=t=>Rk(Vm({},"__esModule",{value:!0}),t);var jm=(t,e,n)=>e.has(t)||JS("Cannot "+n);var c=(t,e,n)=>(jm(t,e,"read from private field"),n?n.call(t):e.get(t)),b=(t,e,n)=>e.has(t)?JS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),f=(t,e,n,r)=>(jm(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),E=(t,e,n)=>(jm(t,e,"access private method"),n);var e_=(t,e,n,r)=>({set _(o){f(t,e,o,n)},get _(){return c(t,e,r)}});var t_=S(()=>{"use strict"});var de,Km,U,Pr,ed=S(()=>{(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{let s={};for(let a of o)s[a]=a;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(l=>typeof o[o[l]]!="number"),a={};for(let l of s)a[l]=o[l];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&s.push(a);return s},t.find=(o,s)=>{for(let a of o)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,s=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(de||(de={}));(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(Km||(Km={}));U=de.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Pr=t=>{switch(typeof t){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(t)?U.nan:U.number;case"boolean":return U.boolean;case"function":return U.function;case"bigint":return U.bigint;case"symbol":return U.symbol;case"object":return Array.isArray(t)?U.array:t===null?U.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?U.promise:typeof Map!="undefined"&&t instanceof Map?U.map:typeof Set!="undefined"&&t instanceof Set?U.set:typeof Date!="undefined"&&t instanceof Date?U.date:U.object;default:return U.unknown}}});var w,wk,sn,Op=S(()=>{ed();w=de.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),wk=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),sn=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(s){return s.message},r={_errors:[]},o=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let l=r,d=0;for(;d<a.path.length;){let u=a.path[d];d===a.path.length-1?(l[u]=l[u]||{_errors:[]},l[u]._errors.push(n(a))):l[u]=l[u]||{_errors:[]},l=l[u],d++}}};return o(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,de.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];n[s]=n[s]||[],n[s].push(e(o))}else r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};sn.create=t=>new sn(t)});var Ok,So,Wm=S(()=>{Op();ed();Ok=(t,e)=>{let n;switch(t.code){case w.invalid_type:t.received===U.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case w.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,de.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:n=`Unrecognized key(s) in object: ${de.joinValues(t.keys,", ")}`;break;case w.invalid_union:n="Invalid input";break;case w.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${de.joinValues(t.options)}`;break;case w.invalid_enum_value:n=`Invalid enum value. Expected ${de.joinValues(t.options)}, received '${t.received}'`;break;case w.invalid_arguments:n="Invalid function arguments";break;case w.invalid_return_type:n="Invalid function return type";break;case w.invalid_date:n="Invalid date";break;case w.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:de.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case w.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case w.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case w.custom:n="Invalid input";break;case w.invalid_intersection_types:n="Intersection results could not be merged";break;case w.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case w.not_finite:n="Number must be finite";break;default:n=e.defaultError,de.assertNever(t)}return{message:n}},So=Ok});function Ik(t){n_=t}function Fa(){return n_}var n_,Ip=S(()=>{Wm();n_=So});function P(t,e){let n=Fa(),r=td({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===So?void 0:So].filter(o=>!!o)});t.common.issues.push(r)}var td,Ck,bt,z,ss,Dt,Cp,Lp,ai,Ga,zm=S(()=>{Ip();Wm();td=t=>{let{data:e,path:n,errorMaps:r,issueData:o}=t,s=[...n,...o.path||[]],a={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let l="",d=r.filter(u=>!!u).slice().reverse();for(let u of d)l=u(a,{data:e,defaultError:l}).message;return{...o,path:s,message:l}},Ck=[];bt=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let o of n){if(o.status==="aborted")return z;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let o of n){let s=await o.key,a=await o.value;r.push({key:s,value:a})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let o of n){let{key:s,value:a}=o;if(s.status==="aborted"||a.status==="aborted")return z;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value!="undefined"||o.alwaysSet)&&(r[s.value]=a.value)}return{status:e.value,value:r}}},z=Object.freeze({status:"aborted"}),ss=t=>({status:"dirty",value:t}),Dt=t=>({status:"valid",value:t}),Cp=t=>t.status==="aborted",Lp=t=>t.status==="dirty",ai=t=>t.status==="valid",Ga=t=>typeof Promise!="undefined"&&t instanceof Promise});var r_=S(()=>{});var V,o_=S(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}))});function re(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,l)=>{var u,p;let{message:d}=t;return a.code==="invalid_enum_value"?{message:d!=null?d:l.defaultError}:typeof l.data=="undefined"?{message:(u=d!=null?d:r)!=null?u:l.defaultError}:a.code!=="invalid_type"?{message:l.defaultError}:{message:(p=d!=null?d:n)!=null?p:l.defaultError}},description:o}}function c_(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}function Yk(t){return new RegExp(`^${c_(t)}$`)}function l_(t){let e=`${a_}T${c_(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function Xk(t,e){return!!((e==="v4"||!e)&&Gk.test(t)||(e==="v6"||!e)&&Vk.test(t))}function qk(t,e){if(!$k.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function Zk(t,e){return!!((e==="v4"||!e)&&Bk.test(t)||(e==="v6"||!e)&&jk.test(t))}function Qk(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return s%a/10**o}function Ba(t){if(t instanceof an){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=$n.create(Ba(r))}return new an({...t._def,shape:()=>e})}else return t instanceof Ao?new Ao({...t._def,type:Ba(t.element)}):t instanceof $n?$n.create(Ba(t.unwrap())):t instanceof Hr?Hr.create(Ba(t.unwrap())):t instanceof $r?$r.create(t.items.map(e=>Ba(e))):t}function Xm(t,e){let n=Pr(t),r=Pr(e);if(t===e)return{valid:!0,data:t};if(n===U.object&&r===U.object){let o=de.objectKeys(e),s=de.objectKeys(t).filter(l=>o.indexOf(l)!==-1),a={...t,...e};for(let l of s){let d=Xm(t[l],e[l]);if(!d.valid)return{valid:!1};a[l]=d.data}return{valid:!0,data:a}}else if(n===U.array&&r===U.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let a=t[s],l=e[s],d=Xm(a,l);if(!d.valid)return{valid:!1};o.push(d.data)}return{valid:!0,data:o}}else return n===U.date&&r===U.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}function d_(t,e){return new Es({values:t,typeName:q.ZodEnum,...re(e)})}function s_(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}function u_(t,e={},n){return t?li.create().superRefine((r,o)=>{var a,l;let s=t(r);if(s instanceof Promise)return s.then(d=>{var u,p;if(!d){let h=s_(e,r),m=(p=(u=h.fatal)!=null?u:n)!=null?p:!0;o.addIssue({code:"custom",...h,fatal:m})}});if(!s){let d=s_(e,r),u=(l=(a=d.fatal)!=null?a:n)!=null?l:!0;o.addIssue({code:"custom",...d,fatal:u})}}):li.create()}var Hn,i_,ae,Lk,kk,Dk,Mk,Pk,$k,Hk,Uk,Fk,Ym,Gk,Bk,Vk,jk,Kk,Wk,a_,zk,ci,as,cs,ls,ds,Va,us,ps,li,xo,lr,ja,Ao,an,fs,_o,kp,hs,$r,Dp,Ka,Wa,Mp,ms,gs,Es,bs,di,Un,$n,Hr,Ts,Ss,za,Jk,nd,rd,_s,eD,q,tD,p_,f_,nD,rD,h_,oD,iD,sD,aD,cD,lD,dD,uD,pD,fD,hD,mD,gD,ED,bD,TD,SD,_D,xD,AD,yD,vD,RD,ND,wD,OD,ID,CD,LD,kD,DD,MD,PD,$D,m_=S(()=>{Op();Ip();o_();zm();ed();Hn=class{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},i_=(t,e)=>{if(ai(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new sn(t.common.issues);return this._error=n,this._error}}};ae=class{get description(){return this._def.description}_getType(e){return Pr(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Pr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new bt,ctx:{common:e.parent.common,data:e.data,parsedType:Pr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Ga(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var s;let r={common:{issues:[],async:(s=n==null?void 0:n.async)!=null?s:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Pr(e)},o=this._parseSync({data:e,path:r.path,parent:r});return i_(r,o)}"~validate"(e){var r,o;let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Pr(e)};if(!this["~standard"].async)try{let s=this._parseSync({data:e,path:[],parent:n});return ai(s)?{value:s.value}:{issues:n.common.issues}}catch(s){(o=(r=s==null?void 0:s.message)==null?void 0:r.toLowerCase())!=null&&o.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(s=>ai(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Pr(e)},o=this._parse({data:e,path:r.path,parent:r}),s=await(Ga(o)?o:Promise.resolve(o));return i_(r,s)}refine(e,n){let r=o=>typeof n=="string"||typeof n=="undefined"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{let a=e(o),l=()=>s.addIssue({code:w.custom,...r(o)});return typeof Promise!="undefined"&&a instanceof Promise?a.then(d=>d?!0:(l(),!1)):a?!0:(l(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new Un({schema:this,typeName:q.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return $n.create(this,this._def)}nullable(){return Hr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ao.create(this)}promise(){return di.create(this,this._def)}or(e){return fs.create([this,e],this._def)}and(e){return hs.create(this,e,this._def)}transform(e){return new Un({...re(this._def),schema:this,typeName:q.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new Ts({...re(this._def),innerType:this,defaultValue:n,typeName:q.ZodDefault})}brand(){return new nd({typeName:q.ZodBranded,type:this,...re(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new Ss({...re(this._def),innerType:this,catchValue:n,typeName:q.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return rd.create(this,e)}readonly(){return _s.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Lk=/^c[^\s-]{8,}$/i,kk=/^[0-9a-z]+$/,Dk=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Mk=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Pk=/^[a-z0-9_-]{21}$/i,$k=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Hk=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Uk=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Gk=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Bk=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Vk=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,jk=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Kk=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Wk=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,a_="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",zk=new RegExp(`^${a_}$`);ci=class t extends ae{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==U.string){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:U.string,received:s.parsedType}),z}let r=new bt,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,l=e.data.length<s.value;(a||l)&&(o=this._getOrReturnCtx(e,o),a?P(o,{code:w.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):l&&P(o,{code:w.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")Uk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"email",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Ym||(Ym=new RegExp(Fk,"u")),Ym.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"emoji",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")Mk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"uuid",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")Pk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"nanoid",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")Lk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")kk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cuid2",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")Dk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ulid",code:w.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),P(o,{validation:"url",code:w.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"regex",code:w.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?l_(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?zk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?Yk(s).test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{code:w.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?Hk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"duration",code:w.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?Xk(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"ip",code:w.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?qk(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"jwt",code:w.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?Zk(e.data,s.version)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"cidr",code:w.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?Kk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64",code:w.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?Wk.test(e.data)||(o=this._getOrReturnCtx(e,o),P(o,{validation:"base64url",code:w.invalid_string,message:s.message}),r.dirty()):de.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:w.invalid_string,...V.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...V.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...V.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!=null?n:!1,local:(r=e==null?void 0:e.local)!=null?r:!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)=="undefined"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...V.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...V.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...V.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...V.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...V.errToObj(n)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};ci.create=t=>{var e;return new ci({checks:[],typeName:q.ZodString,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...re(t)})};as=class t extends ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==U.number){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:U.number,received:s.parsedType}),z}let r,o=new bt;for(let s of this._def.checks)s.kind==="int"?de.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),P(r,{code:w.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Qk(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),P(r,{code:w.not_finite,message:s.message}),o.dirty()):de.assertNever(s);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&de.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};as.create=t=>new as({checks:[],typeName:q.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...re(t)});cs=class t extends ae{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==U.bigint)return this._getInvalidInput(e);let r,o=new bt;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),P(r,{code:w.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):de.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:U.bigint,received:n.parsedType}),z}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};cs.create=t=>{var e;return new cs({checks:[],typeName:q.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!=null?e:!1,...re(t)})};ls=class extends ae{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==U.boolean){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.boolean,received:r.parsedType}),z}return Dt(e.data)}};ls.create=t=>new ls({typeName:q.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...re(t)});ds=class t extends ae{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==U.date){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_type,expected:U.date,received:s.parsedType}),z}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return P(s,{code:w.invalid_date}),z}let r=new bt,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),P(o,{code:w.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):de.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};ds.create=t=>new ds({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:q.ZodDate,...re(t)});Va=class extends ae{_parse(e){if(this._getType(e)!==U.symbol){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.symbol,received:r.parsedType}),z}return Dt(e.data)}};Va.create=t=>new Va({typeName:q.ZodSymbol,...re(t)});us=class extends ae{_parse(e){if(this._getType(e)!==U.undefined){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.undefined,received:r.parsedType}),z}return Dt(e.data)}};us.create=t=>new us({typeName:q.ZodUndefined,...re(t)});ps=class extends ae{_parse(e){if(this._getType(e)!==U.null){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.null,received:r.parsedType}),z}return Dt(e.data)}};ps.create=t=>new ps({typeName:q.ZodNull,...re(t)});li=class extends ae{constructor(){super(...arguments),this._any=!0}_parse(e){return Dt(e.data)}};li.create=t=>new li({typeName:q.ZodAny,...re(t)});xo=class extends ae{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Dt(e.data)}};xo.create=t=>new xo({typeName:q.ZodUnknown,...re(t)});lr=class extends ae{_parse(e){let n=this._getOrReturnCtx(e);return P(n,{code:w.invalid_type,expected:U.never,received:n.parsedType}),z}};lr.create=t=>new lr({typeName:q.ZodNever,...re(t)});ja=class extends ae{_parse(e){if(this._getType(e)!==U.undefined){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.void,received:r.parsedType}),z}return Dt(e.data)}};ja.create=t=>new ja({typeName:q.ZodVoid,...re(t)});Ao=class t extends ae{_parse(e){let{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==U.array)return P(n,{code:w.invalid_type,expected:U.array,received:n.parsedType}),z;if(o.exactLength!==null){let a=n.data.length>o.exactLength.value,l=n.data.length<o.exactLength.value;(a||l)&&(P(n,{code:a?w.too_big:w.too_small,minimum:l?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(P(n,{code:w.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(P(n,{code:w.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,l)=>o.type._parseAsync(new Hn(n,a,n.path,l)))).then(a=>bt.mergeArray(r,a));let s=[...n.data].map((a,l)=>o.type._parseSync(new Hn(n,a,n.path,l)));return bt.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:V.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:V.toString(n)}})}nonempty(e){return this.min(1,e)}};Ao.create=(t,e)=>new Ao({type:t,minLength:null,maxLength:null,exactLength:null,typeName:q.ZodArray,...re(e)});an=class t extends ae{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=de.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==U.object){let u=this._getOrReturnCtx(e);return P(u,{code:w.invalid_type,expected:U.object,received:u.parsedType}),z}let{status:r,ctx:o}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),l=[];if(!(this._def.catchall instanceof lr&&this._def.unknownKeys==="strip"))for(let u in o.data)a.includes(u)||l.push(u);let d=[];for(let u of a){let p=s[u],h=o.data[u];d.push({key:{status:"valid",value:u},value:p._parse(new Hn(o,h,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof lr){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of l)d.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")l.length>0&&(P(o,{code:w.unrecognized_keys,keys:l}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let p of l){let h=o.data[p];d.push({key:{status:"valid",value:p},value:u._parse(new Hn(o,h,o.path,p)),alwaysSet:p in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of d){let h=await p.key,m=await p.value;u.push({key:h,value:m,alwaysSet:p.alwaysSet})}return u}).then(u=>bt.mergeObjectSync(r,u)):bt.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var s,a,l,d;let o=(l=(a=(s=this._def).errorMap)==null?void 0:a.call(s,n,r).message)!=null?l:r.defaultError;return n.code==="unrecognized_keys"?{message:(d=V.errToObj(e).message)!=null?d:o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:q.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of de.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}omit(e){let n={};for(let r of de.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:()=>n})}deepPartial(){return Ba(this)}partial(e){let n={};for(let r of de.objectKeys(this.shape)){let o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}return new t({...this._def,shape:()=>n})}required(e){let n={};for(let r of de.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof $n;)s=s._def.innerType;n[r]=s}return new t({...this._def,shape:()=>n})}keyof(){return d_(de.objectKeys(this.shape))}};an.create=(t,e)=>new an({shape:()=>t,unknownKeys:"strip",catchall:lr.create(),typeName:q.ZodObject,...re(e)});an.strictCreate=(t,e)=>new an({shape:()=>t,unknownKeys:"strict",catchall:lr.create(),typeName:q.ZodObject,...re(e)});an.lazycreate=(t,e)=>new an({shape:t,unknownKeys:"strip",catchall:lr.create(),typeName:q.ZodObject,...re(e)});fs=class extends ae{_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function o(s){for(let l of s)if(l.result.status==="valid")return l.result;for(let l of s)if(l.result.status==="dirty")return n.common.issues.push(...l.ctx.common.issues),l.result;let a=s.map(l=>new sn(l.ctx.common.issues));return P(n,{code:w.invalid_union,unionErrors:a}),z}if(n.common.async)return Promise.all(r.map(async s=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(o);{let s,a=[];for(let d of r){let u={...n,common:{...n.common,issues:[]},parent:null},p=d._parseSync({data:n.data,path:n.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!s&&(s={result:p,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;let l=a.map(d=>new sn(d));return P(n,{code:w.invalid_union,unionErrors:l}),z}}get options(){return this._def.options}};fs.create=(t,e)=>new fs({options:t,typeName:q.ZodUnion,...re(e)});_o=t=>t instanceof ms?_o(t.schema):t instanceof Un?_o(t.innerType()):t instanceof gs?[t.value]:t instanceof Es?t.options:t instanceof bs?de.objectValues(t.enum):t instanceof Ts?_o(t._def.innerType):t instanceof us?[void 0]:t instanceof ps?[null]:t instanceof $n?[void 0,..._o(t.unwrap())]:t instanceof Hr?[null,..._o(t.unwrap())]:t instanceof nd||t instanceof _s?_o(t.unwrap()):t instanceof Ss?_o(t._def.innerType):[],kp=class t extends ae{_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==U.object)return P(n,{code:w.invalid_type,expected:U.object,received:n.parsedType}),z;let r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(P(n,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let o=new Map;for(let s of n){let a=_o(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let l of a){if(o.has(l))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(l)}`);o.set(l,s)}}return new t({typeName:q.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...re(r)})}};hs=class extends ae{_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=(s,a)=>{if(Cp(s)||Cp(a))return z;let l=Xm(s.value,a.value);return l.valid?((Lp(s)||Lp(a))&&n.dirty(),{status:n.value,value:l.data}):(P(r,{code:w.invalid_intersection_types}),z)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,a])=>o(s,a)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};hs.create=(t,e,n)=>new hs({left:t,right:e,typeName:q.ZodIntersection,...re(n)});$r=class t extends ae{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==U.array)return P(r,{code:w.invalid_type,expected:U.array,received:r.parsedType}),z;if(r.data.length<this._def.items.length)return P(r,{code:w.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),z;!this._def.rest&&r.data.length>this._def.items.length&&(P(r,{code:w.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,l)=>{let d=this._def.items[l]||this._def.rest;return d?d._parse(new Hn(r,a,r.path,l)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>bt.mergeArray(n,a)):bt.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};$r.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $r({items:t,typeName:q.ZodTuple,rest:null,...re(e)})};Dp=class t extends ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==U.object)return P(r,{code:w.invalid_type,expected:U.object,received:r.parsedType}),z;let o=[],s=this._def.keyType,a=this._def.valueType;for(let l in r.data)o.push({key:s._parse(new Hn(r,l,r.path,l)),value:a._parse(new Hn(r,r.data[l],r.path,l)),alwaysSet:l in r.data});return r.common.async?bt.mergeObjectAsync(n,o):bt.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof ae?new t({keyType:e,valueType:n,typeName:q.ZodRecord,...re(r)}):new t({keyType:ci.create(),valueType:e,typeName:q.ZodRecord,...re(n)})}},Ka=class extends ae{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==U.map)return P(r,{code:w.invalid_type,expected:U.map,received:r.parsedType}),z;let o=this._def.keyType,s=this._def.valueType,a=[...r.data.entries()].map(([l,d],u)=>({key:o._parse(new Hn(r,l,r.path,[u,"key"])),value:s._parse(new Hn(r,d,r.path,[u,"value"]))}));if(r.common.async){let l=new Map;return Promise.resolve().then(async()=>{for(let d of a){let u=await d.key,p=await d.value;if(u.status==="aborted"||p.status==="aborted")return z;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}})}else{let l=new Map;for(let d of a){let u=d.key,p=d.value;if(u.status==="aborted"||p.status==="aborted")return z;(u.status==="dirty"||p.status==="dirty")&&n.dirty(),l.set(u.value,p.value)}return{status:n.value,value:l}}}};Ka.create=(t,e,n)=>new Ka({valueType:e,keyType:t,typeName:q.ZodMap,...re(n)});Wa=class t extends ae{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==U.set)return P(r,{code:w.invalid_type,expected:U.set,received:r.parsedType}),z;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(P(r,{code:w.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(P(r,{code:w.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());let s=this._def.valueType;function a(d){let u=new Set;for(let p of d){if(p.status==="aborted")return z;p.status==="dirty"&&n.dirty(),u.add(p.value)}return{status:n.value,value:u}}let l=[...r.data.values()].map((d,u)=>s._parse(new Hn(r,d,r.path,u)));return r.common.async?Promise.all(l).then(d=>a(d)):a(l)}min(e,n){return new t({...this._def,minSize:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:V.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};Wa.create=(t,e)=>new Wa({valueType:t,minSize:null,maxSize:null,typeName:q.ZodSet,...re(e)});Mp=class t extends ae{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==U.function)return P(n,{code:w.invalid_type,expected:U.function,received:n.parsedType}),z;function r(l,d){return td({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Fa(),So].filter(u=>!!u),issueData:{code:w.invalid_arguments,argumentsError:d}})}function o(l,d){return td({data:l,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Fa(),So].filter(u=>!!u),issueData:{code:w.invalid_return_type,returnTypeError:d}})}let s={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof di){let l=this;return Dt(async function(...d){let u=new sn([]),p=await l._def.args.parseAsync(d,s).catch(g=>{throw u.addIssue(r(d,g)),u}),h=await Reflect.apply(a,this,p);return await l._def.returns._def.type.parseAsync(h,s).catch(g=>{throw u.addIssue(o(h,g)),u})})}else{let l=this;return Dt(function(...d){let u=l._def.args.safeParse(d,s);if(!u.success)throw new sn([r(d,u.error)]);let p=Reflect.apply(a,this,u.data),h=l._def.returns.safeParse(p,s);if(!h.success)throw new sn([o(p,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:$r.create(e).rest(xo.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||$r.create([]).rest(xo.create()),returns:n||xo.create(),typeName:q.ZodFunction,...re(r)})}},ms=class extends ae{get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ms.create=(t,e)=>new ms({getter:t,typeName:q.ZodLazy,...re(e)});gs=class extends ae{_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return P(n,{received:n.data,code:w.invalid_literal,expected:this._def.value}),z}return{status:"valid",value:e.data}}get value(){return this._def.value}};gs.create=(t,e)=>new gs({value:t,typeName:q.ZodLiteral,...re(e)});Es=class t extends ae{_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return P(n,{expected:de.joinValues(r),received:n.parsedType,code:w.invalid_type}),z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return P(n,{received:n.data,code:w.invalid_enum_value,options:r}),z}return Dt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Es.create=d_;bs=class extends ae{_parse(e){let n=de.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==U.string&&r.parsedType!==U.number){let o=de.objectValues(n);return P(r,{expected:de.joinValues(o),received:r.parsedType,code:w.invalid_type}),z}if(this._cache||(this._cache=new Set(de.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=de.objectValues(n);return P(r,{received:r.data,code:w.invalid_enum_value,options:o}),z}return Dt(e.data)}get enum(){return this._def.values}};bs.create=(t,e)=>new bs({values:t,typeName:q.ZodNativeEnum,...re(e)});di=class extends ae{unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==U.promise&&n.common.async===!1)return P(n,{code:w.invalid_type,expected:U.promise,received:n.parsedType}),z;let r=n.parsedType===U.promise?n.data:Promise.resolve(n.data);return Dt(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};di.create=(t,e)=>new di({type:t,typeName:q.ZodPromise,...re(e)});Un=class extends ae{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:a=>{P(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let a=o.transform(r.data,s);if(r.common.async)return Promise.resolve(a).then(async l=>{if(n.value==="aborted")return z;let d=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return d.status==="aborted"?z:d.status==="dirty"?ss(d.value):n.value==="dirty"?ss(d.value):d});{if(n.value==="aborted")return z;let l=this._def.schema._parseSync({data:a,path:r.path,parent:r});return l.status==="aborted"?z:l.status==="dirty"?ss(l.value):n.value==="dirty"?ss(l.value):l}}if(o.type==="refinement"){let a=l=>{let d=o.refinement(l,s);if(r.common.async)return Promise.resolve(d);if(d instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){let l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?z:(l.status==="dirty"&&n.dirty(),a(l.value),{status:n.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?z:(l.status==="dirty"&&n.dirty(),a(l.value).then(()=>({status:n.value,value:l.value}))))}if(o.type==="transform")if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ai(a))return z;let l=o.transform(a.value,s);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>ai(a)?Promise.resolve(o.transform(a.value,s)).then(l=>({status:n.value,value:l})):z);de.assertNever(o)}};Un.create=(t,e,n)=>new Un({schema:t,typeName:q.ZodEffects,effect:e,...re(n)});Un.createWithPreprocess=(t,e,n)=>new Un({schema:e,effect:{type:"preprocess",transform:t},typeName:q.ZodEffects,...re(n)});$n=class extends ae{_parse(e){return this._getType(e)===U.undefined?Dt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};$n.create=(t,e)=>new $n({innerType:t,typeName:q.ZodOptional,...re(e)});Hr=class extends ae{_parse(e){return this._getType(e)===U.null?Dt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Hr.create=(t,e)=>new Hr({innerType:t,typeName:q.ZodNullable,...re(e)});Ts=class extends ae{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===U.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Ts.create=(t,e)=>new Ts({innerType:t,typeName:q.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...re(e)});Ss=class extends ae{_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ga(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new sn(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new sn(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ss.create=(t,e)=>new Ss({innerType:t,typeName:q.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...re(e)});za=class extends ae{_parse(e){if(this._getType(e)!==U.nan){let r=this._getOrReturnCtx(e);return P(r,{code:w.invalid_type,expected:U.nan,received:r.parsedType}),z}return{status:"valid",value:e.data}}};za.create=t=>new za({typeName:q.ZodNaN,...re(t)});Jk=Symbol("zod_brand"),nd=class extends ae{_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},rd=class t extends ae{_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?z:s.status==="dirty"?(n.dirty(),ss(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?z:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:q.ZodPipeline})}},_s=class extends ae{_parse(e){let n=this._def.innerType._parse(e),r=o=>(ai(o)&&(o.value=Object.freeze(o.value)),o);return Ga(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};_s.create=(t,e)=>new _s({innerType:t,typeName:q.ZodReadonly,...re(e)});eD={object:an.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(q||(q={}));tD=(t,e={message:`Input not instance of ${t.name}`})=>u_(n=>n instanceof t,e),p_=ci.create,f_=as.create,nD=za.create,rD=cs.create,h_=ls.create,oD=ds.create,iD=Va.create,sD=us.create,aD=ps.create,cD=li.create,lD=xo.create,dD=lr.create,uD=ja.create,pD=Ao.create,fD=an.create,hD=an.strictCreate,mD=fs.create,gD=kp.create,ED=hs.create,bD=$r.create,TD=Dp.create,SD=Ka.create,_D=Wa.create,xD=Mp.create,AD=ms.create,yD=gs.create,vD=Es.create,RD=bs.create,ND=di.create,wD=Un.create,OD=$n.create,ID=Hr.create,CD=Un.createWithPreprocess,LD=rd.create,kD=()=>p_().optional(),DD=()=>f_().optional(),MD=()=>h_().optional(),PD={string:(t=>ci.create({...t,coerce:!0})),number:(t=>as.create({...t,coerce:!0})),boolean:(t=>ls.create({...t,coerce:!0})),bigint:(t=>cs.create({...t,coerce:!0})),date:(t=>ds.create({...t,coerce:!0}))},$D=z});var i={};Ua(i,{BRAND:()=>Jk,DIRTY:()=>ss,EMPTY_PATH:()=>Ck,INVALID:()=>z,NEVER:()=>$D,OK:()=>Dt,ParseStatus:()=>bt,Schema:()=>ae,ZodAny:()=>li,ZodArray:()=>Ao,ZodBigInt:()=>cs,ZodBoolean:()=>ls,ZodBranded:()=>nd,ZodCatch:()=>Ss,ZodDate:()=>ds,ZodDefault:()=>Ts,ZodDiscriminatedUnion:()=>kp,ZodEffects:()=>Un,ZodEnum:()=>Es,ZodError:()=>sn,ZodFirstPartyTypeKind:()=>q,ZodFunction:()=>Mp,ZodIntersection:()=>hs,ZodIssueCode:()=>w,ZodLazy:()=>ms,ZodLiteral:()=>gs,ZodMap:()=>Ka,ZodNaN:()=>za,ZodNativeEnum:()=>bs,ZodNever:()=>lr,ZodNull:()=>ps,ZodNullable:()=>Hr,ZodNumber:()=>as,ZodObject:()=>an,ZodOptional:()=>$n,ZodParsedType:()=>U,ZodPipeline:()=>rd,ZodPromise:()=>di,ZodReadonly:()=>_s,ZodRecord:()=>Dp,ZodSchema:()=>ae,ZodSet:()=>Wa,ZodString:()=>ci,ZodSymbol:()=>Va,ZodTransformer:()=>Un,ZodTuple:()=>$r,ZodType:()=>ae,ZodUndefined:()=>us,ZodUnion:()=>fs,ZodUnknown:()=>xo,ZodVoid:()=>ja,addIssueToContext:()=>P,any:()=>cD,array:()=>pD,bigint:()=>rD,boolean:()=>h_,coerce:()=>PD,custom:()=>u_,date:()=>oD,datetimeRegex:()=>l_,defaultErrorMap:()=>So,discriminatedUnion:()=>gD,effect:()=>wD,enum:()=>vD,function:()=>xD,getErrorMap:()=>Fa,getParsedType:()=>Pr,instanceof:()=>tD,intersection:()=>ED,isAborted:()=>Cp,isAsync:()=>Ga,isDirty:()=>Lp,isValid:()=>ai,late:()=>eD,lazy:()=>AD,literal:()=>yD,makeIssue:()=>td,map:()=>SD,nan:()=>nD,nativeEnum:()=>RD,never:()=>dD,null:()=>aD,nullable:()=>ID,number:()=>f_,object:()=>fD,objectUtil:()=>Km,oboolean:()=>MD,onumber:()=>DD,optional:()=>OD,ostring:()=>kD,pipeline:()=>LD,preprocess:()=>CD,promise:()=>ND,quotelessJson:()=>wk,record:()=>TD,set:()=>_D,setErrorMap:()=>Ik,strictObject:()=>hD,string:()=>p_,symbol:()=>iD,transformer:()=>wD,tuple:()=>bD,undefined:()=>sD,union:()=>mD,unknown:()=>lD,util:()=>de,void:()=>uD});var qm=S(()=>{Ip();zm();r_();ed();m_();Op()});var J=S(()=>{qm();qm()});var Ya,Zm=S(()=>{"use strict";Ya={ACT:"reticle_act",ACT_SEQUENCE:"reticle_act_sequence",ACT_AND_WAIT:"reticle_act_and_wait",INVOKE:"reticle_invoke"}});var Pp,Qm,Jm,I,zj,HD,Yj,yo=S(()=>{"use strict";Pp={SIGNAL:"signal",NET:"net",STATE:"state"},Qm={ELEMENT:"element",TEXT:"text"},Jm={NETWORK:"network",APP:"app"},I={ELEMENT:Qm.ELEMENT,TEXT:Qm.TEXT,SIGNAL:Pp.SIGNAL,NET:Pp.NET,STATE:Pp.STATE,ROUTE:"route",CONSOLE:"console",ANIMATION:"animation",SETTLED:"settled",COMPARE:"compare",ALL_OF:"allOf",ANY_OF:"anyOf",NOT:"not"},zj=new Set(Object.values(Pp)),HD=new Set(Object.values(Qm)),Yj=new Set([...HD,I.ROUTE])});var g_,E_,b_,eg,UD,T_,Fn,S_,De,jt,$p,od=S(()=>{"use strict";g_=1,E_={FLOW_REPLAY:"flow_replay",MANUAL:"manual"},b_={PASS:"pass",DRIFT:"drift",ERROR:"error",FAIL:"fail"},eg=2,UD=3,T_=new Set([1,eg,UD]),Fn={TESTID:"testid",ROLE:"role",SIGNAL:"signal",COMPONENT:"component"},S_="unresolved",De={ASSERT_SIGNAL:"assert-signal",ASSERT_VISIBLE:"assert-visible",ASSERT_STATE:"assert-state",ASSERT_NET:"assert-net",MARK_DYNAMIC:"mark-dynamic",SUCCESS_STATE:"success-state",INTENT:"intent"},jt={IDLE:"idle",RECORDING:"recording",ANNOTATING:"annotating"},$p={ACTIVE:"active",QUARANTINED:"quarantined",DRAFT:"draft"}});var __,tg=S(()=>{"use strict";__={READ:"read",IDEMPOTENT:"idempotent",COMMITS:"commits"}});var x_=S(()=>{"use strict"});var x,id,xs,A_=S(()=>{"use strict";x={DOM_ADDED:"dom.added",DOM_REMOVED:"dom.removed",DOM_ATTR:"dom.attr",DOM_TEXT:"dom.text",NET_REQUEST:"net.request",NET_PENDING:"net.pending",NET_STREAM:"net.stream",PERF:"perf",ROUTE_CHANGE:"route.change",CONSOLE_LOG:"console.log",CONSOLE_WARN:"console.warn",CONSOLE_ERROR:"console.error",CONSOLE_INFO:"console.info",CONSOLE_DEBUG:"console.debug",ERROR_UNCAUGHT:"error.uncaught",VISIBLE_SHOWN:"visible.shown",ANIM_START:"anim.start",ANIM_END:"anim.end",SCROLL_POSITION:"scroll.position",REVEAL_SHOWN:"reveal.shown",SIGNAL:"signal",STATE_CHANGE:"state.change",STORAGE_CHANGE:"storage.change",PAGE_HEALTH:"page.health",CONTEXT_OPENED:"context.opened",DIALOG_OPENED:"dialog.opened",RENDER_COMMIT:"render.commit",FOCUS_CHANGE:"focus.change",FIELD_CHANGE:"field.change",FLOW_RECORDED:"flow.recorded",TRANSPORT_OVERFLOW:"transport.overflow",TRUNCATED:"truncated",BLIND_SPOT:"blind-spot",SDK_FAILED:"sdk.failed",NET_DETAIL:"net.detail",HUMAN_CONTROL:"human.control",HUMAN_MARK:"human.mark",DOWNLOAD:"download",HUD_USED:"hud.used",MEDIA_STATE:"media.state",CANVAS_DIGEST:"canvas.digest"},id={PLAY:"play",PLAYING:"playing",PAUSE:"pause",SEEKED:"seeked",ENDED:"ended",LOADED_DATA:"loadeddata",CAN_PLAY:"canplay",WAITING:"waiting",ERROR:"error"},xs={POLL:"poll",ACT:"act"}});function v_(t=ng,e=FD){return`ws://${e}:${String(t)}${As}`}var ng,As,Hp,y_,FD,Gn,Up,e6,G,ye,Fp,R_,N_,w_,Xa,t6,O_,r6,sd,Gp,Bp,I_,qa,ad,GD,o6,L,C_,L_,ue,et,k,We,Za,Kt,Wt=S(()=>{"use strict";x_();A_();ng=4400,As="/reticle",Hp=1,y_=1,FD="localhost";Gn={SESSION:"__reticle_session",PROJECT:"__reticle_project",OPENED:"__reticle_opened",HUD:"__reticle_hud"},Up="https://app.reticle.sh",e6={MAX_RUNS:50,MAX_BYTES:4*1024*1024},G={MAX_MESSAGE_BYTES:1024*1024,MAX_MESSAGES_PER_SECOND:2e4,MAX_SESSIONS:32,MAX_PENDING_CONNECTIONS:16,HELLO_TIMEOUT_MS:5e3,MAX_BUFFER_BYTES:8*1024*1024,MAX_SESSION_ID_LENGTH:128,MAX_URL_LENGTH:4096,MAX_TITLE_LENGTH:512,MAX_ADAPTERS:32,MAX_CONTRACT_NAMES:128,MAX_ADAPTER_NAME_LENGTH:128,MAX_TOKEN_LENGTH:512,MAX_COMMAND_ID_LENGTH:128,MAX_COMMAND_NAME_LENGTH:128,MAX_REF_LENGTH:128,MAX_ERROR_LENGTH:4096,MAX_STACK_LENGTH:4e3,MAX_SERIALIZE_DEPTH:8,MAX_COLLECTION_ITEMS:200,MAX_OBJECT_KEYS:200,MAX_STRING_LENGTH:64*1024,MAX_MARK_NOTE_LENGTH:2e3,MAX_MARK_LABEL_LENGTH:256},ye="[REDACTED]",Fp="confirmDangerous",R_="native",N_="reveal",w_="inViewport",Xa={NO_PROVIDER:"no-visual-provider",CAPTURE_FAILED:"capture-failed",BASELINE_MISSING:"baseline-missing",DIMENSION_MISMATCH:"dimension-mismatch",FULL_PAGE_UNSUPPORTED:"full-page-unsupported",CROP_UNSUPPORTED:"crop-unsupported",NOT_COMPOSITED:"window-not-composited"},t6=1440*60*1e3,O_=1,r6={MAX_EVENTS:2e3,MAX_AGE_MS:6e4,MAX_BYTES:G.MAX_BUFFER_BYTES},sd="reticle:busy",Gp="__reticle_renders",Bp={DOM:"dom",JOURNAL:"journal"},I_={WINDOW:"window"},qa={LCP:"lcp",CLS:"cls",LONGTASK:"longtask"},ad={HOVER_NATIVE_ENTER_LEAVE:"target has enter/leave handlers; synthetic hover may not trigger them \u2014 expect no state change",REAL_INPUT_FELL_BACK:"real-input provider was available but failed; fell back to synthetic dispatch",CLICK_OCCLUDED:"target is visually occluded by another element; a real user could not click it (synthetic dispatch still delivered the event) \u2014 dismiss the overlay or scroll the target clear",GLOBAL_PRESS:"press landed on the focused element or document \u2014 no named target was given, so this effect does not claim one",CLICK_NOT_A_CONTROL:"target is not a control and sits inside none (no button/link/input role, onclick, tabindex or pointer cursor), so a click on it may do nothing \u2014 if nothing happened, target the control inside it by role"},GD="console.",o6=[x.CONSOLE_LOG,x.CONSOLE_WARN,x.CONSOLE_ERROR,x.CONSOLE_INFO].map(t=>t.slice(GD.length)),L={CLICK:"click",DBLCLICK:"dblclick",HOVER:"hover",FOCUS:"focus",BLUR:"blur",FILL:"fill",TYPE:"type",CLEAR:"clear",SELECT:"select",CHECK:"check",UNCHECK:"uncheck",SUBMIT:"submit",PRESS:"press",UPLOAD:"upload",SCROLL_INTO_VIEW:"scrollIntoView",SCROLL:"scroll",DRAG:"drag",TAP:"tap",ZOOM:"zoom"},C_={TIMEOUT:"timeout",THROTTLED:"throttled"},L_={UNAVAILABLE:"component-state-unavailable"},ue={VISIBLE:"visible",HIDDEN:"hidden",ENABLED:"enabled",DISABLED:"disabled",CHECKED:"checked",EXPANDED:"expanded",PRESSED:"pressed",FOCUSED:"focused",PRESENT:"present",IN_VIEWPORT:"inViewport"},et={ROLE:"role",TEXT:"text",LABEL:"label",PLACEHOLDER:"placeholder",TESTID:"testid",ALT:"alt",COMPONENT:"component"},k={SNAPSHOT:"snapshot",QUERY:"query",MATCH:"match",INSPECT:"inspect",ACT:"act",ACT_SEQUENCE:"act_sequence",ANIMATIONS:"animations",NARRATE:"narrate",CLOCK:"clock",CAPABILITIES:"capabilities",STATE_READ:"state_read",STORAGE_READ:"storage_read",SCROLL:"scroll",SESSION_CONFIG:"session_config",PRESENTER:"presenter",IMPACT:"impact",CAPTURE:"capture",RENDER:"render",NAVIGATE:"navigate",REFRESH:"refresh",FLOWS:"flows",FLOW_PROGRESS:"flow.progress",PLAN:"plan",MARKERS:"markers"},We={IDLE:"idle",READING:"reading",ACTING:"acting"},Za={FULL:"full",INTERACTIVE:"interactive",STATUS:"status"},Kt={HELLO:"hello",COMMAND:"command",COMMAND_RESULT:"command_result",EVENT:"event"}});var Bn,BD,Vn,c6,ys=S(()=>{"use strict";J();Bn={WEB:"web",DESKTOP:"desktop",MOBILE:"mobile",SERVICE:"service",GAME:"game",DEVICE:"device"},BD=i.union([i.nativeEnum(Bn),i.string().regex(/^x-[a-z0-9-]+$/,"a surface this specification does not name must start with x-")]),Vn=i.object({surface:BD,instance:i.string().min(1),epoch:i.number().int().nonnegative().optional(),locator:i.string().optional(),revision:i.string().optional()}),c6=i.object({kind:i.enum(["instance","epoch"]),from:i.string(),to:i.string()})});var R,_n,cn,zt,rg,og,dr=S(()=>{"use strict";J();R={UI:"ui",NET:"net",STATE:"state",SIGNAL:"signal",LOG:"log",ROUTE:"route",STORAGE:"storage",TIME:"time",VISUAL:"visual"},_n=i.union([i.nativeEnum(R),i.string().regex(/^x-[a-z0-9-]+$/,"a channel this specification does not name must start with x-")]),cn={INDEPENDENT:"independent",ACTUATION_DERIVED:"actuation-derived"},zt={CONSEQUENCE:"consequence",PRESENCE:"presence",CONTEXT:"context"},rg=i.object({id:_n,independence:i.nativeEnum(cn),grade:i.nativeEnum(zt),note:i.string().optional()}),og={[R.UI]:{independence:cn.ACTUATION_DERIVED,grade:zt.PRESENCE},[R.NET]:{independence:cn.INDEPENDENT,grade:zt.CONSEQUENCE},[R.STATE]:{independence:cn.ACTUATION_DERIVED,grade:zt.CONSEQUENCE},[R.SIGNAL]:{independence:cn.ACTUATION_DERIVED,grade:zt.CONSEQUENCE},[R.LOG]:{independence:cn.INDEPENDENT,grade:zt.CONTEXT},[R.ROUTE]:{independence:cn.ACTUATION_DERIVED,grade:zt.PRESENCE},[R.STORAGE]:{independence:cn.ACTUATION_DERIVED,grade:zt.CONSEQUENCE},[R.TIME]:{independence:cn.INDEPENDENT,grade:zt.CONTEXT},[R.VISUAL]:{independence:cn.ACTUATION_DERIVED,grade:zt.PRESENCE}}});var k_=S(()=>{"use strict"});var m6,D_=S(()=>{"use strict";J();ys();m6=i.object({id:i.string().min(1),subject:Vn,capturedAt:i.number().int(),payload:i.unknown().optional()})});var b6,M_=S(()=>{"use strict";J();b6=i.object({mutation:i.string().min(1)})});var VD,ig,jD,KD,P_,$_,sg,H_,U_,cd=S(()=>{"use strict";J();dr();VD={USER:"user",DEVELOPER:"developer",AGENT:"agent",SYSTEM:"system",WORKFLOW:"workflow",DERIVED:"derived"},ig={DECLARED:"declared",BOUND:"bound",ABANDONED:"abandoned"},jD=i.object({id:i.string().min(1),statement:i.string().min(1),origin:i.nativeEnum(VD),claims:i.array(i.string()).default([]),declaredAt:i.number().int().optional()}),KD=i.discriminatedUnion("status",[i.object({status:i.literal(ig.ABANDONED),abandonedBecause:i.string().trim().min(1)}),i.object({status:i.literal(ig.DECLARED),abandonedBecause:i.undefined().optional()}),i.object({status:i.literal(ig.BOUND),abandonedBecause:i.undefined().optional()})]),P_=jD.and(KD),$_={BEFORE_ACTION:"before-action",AFTER_ACTION:"after-action"},sg=i.object({id:i.string().min(1),predicate:i.unknown(),reads:i.string().min(1),channels:i.array(_n).min(1)}),H_=i.object({id:i.string().min(1),intent:i.string().optional(),statement:i.string().min(1),declaredAt:i.nativeEnum($_),assertions:i.array(sg).default([])}),U_=i.object({id:i.string().min(1),statement:i.string().min(1),predicate:i.unknown(),channels:i.array(_n).min(1),severity:i.enum(["blocking","advisory"]).default("blocking")})});var WD,Qa,R6,ag,F_,G_,zD,B_,ui=S(()=>{"use strict";J();dr();ys();WD=i.object({id:i.string().min(1),window:i.string().min(1),channel:_n,at:i.number().int(),value:i.unknown(),summary:i.string().min(1)}),Qa={AUTHORITATIVE:"authoritative",DERIVED:"derived",OBSERVED:"observed",LEARNED:"learned"},R6={[Qa.LEARNED]:0,[Qa.OBSERVED]:1,[Qa.DERIVED]:2,[Qa.AUTHORITATIVE]:3},ag=i.object({class:i.nativeEnum(Qa),source:i.string().min(1),method:i.string().min(1),subject:Vn,at:i.number().int(),confidence:i.number().min(0).max(1).optional()}),F_=i.object({observation:WD,provenance:ag,independence:i.nativeEnum(cn),grade:i.nativeEnum(zt)}),G_={CHANNEL_UNOBSERVED:"channel-unobserved",BOUNDARY_UNCROSSABLE:"boundary-uncrossable",BUFFER_TRUNCATED:"buffer-truncated",REDACTED:"redacted",STILL_IN_FLIGHT:"still-in-flight",EFFECT_ELSEWHERE:"effect-elsewhere"},zD=i.object({kind:i.nativeEnum(G_),channel:_n.optional(),detail:i.string().min(1),impeaching:i.boolean(),remedy:i.string().optional()}),B_=i.object({window:i.string().min(1),observed:i.array(_n),blindSpots:i.array(zD)})});var XD,qD,Vp,ZD,jp,cg,C6,V_=S(()=>{"use strict";J();dr();ui();XD=i.object({channel:_n}),qD=i.union([i.object({summary:i.string().min(1),valueContains:i.string().min(1)}),i.object({summary:i.string().min(1).optional(),valueContains:i.undefined().optional()})]),Vp=XD.and(qD),ZD={EXACTLY:"exactly",AT_LEAST:"at-least",AT_MOST:"at-most"},jp={COUNT:"count",PRESENT:"present",ABSENT:"absent",MEASURE:"measure"},cg={EQUALS:"equals",AT_LEAST:"at-least",AT_MOST:"at-most"},C6=i.discriminatedUnion("kind",[i.object({kind:i.literal(jp.COUNT),match:Vp,op:i.nativeEnum(ZD),value:i.number().int().nonnegative()}),i.object({kind:i.literal(jp.PRESENT),match:Vp}),i.object({kind:i.literal(jp.ABSENT),match:Vp}),i.object({kind:i.literal(jp.MEASURE),match:Vp,op:i.nativeEnum(cg),value:i.number().finite(),tolerance:i.number().nonnegative().finite().default(0)})])});var M6,lg,P6,Kp,j_,ld,K_,$6,vs=S(()=>{"use strict";J();ys();M6=i.object({name:i.string().min(1),meaning:i.string().min(1),parameters:i.unknown().optional(),mutating:i.boolean()}),lg={UNDECLARED:"undeclared",UNSUPPORTED:"unsupported",UNRESOLVED:"unresolved",UNAVAILABLE:"unavailable",GUARDED:"guarded",MALFORMED:"malformed"},P6=i.object({ref:i.string().min(1),describes:i.string().min(1),at:i.string().optional()}),Kp=i.object({id:i.string().min(1),actor:i.string().min(1),capability:i.string().min(1),target:i.string().optional(),parameters:i.unknown().optional(),at:i.number().int()}),j_=i.object({action:i.string().min(1),dispatched:i.boolean(),refused:i.object({reason:i.nativeEnum(lg),detail:i.string().min(1)}).optional(),subject:Vn,at:i.number().int()}),ld={QUIESCENCE:"quiescence",TICKS:"ticks",ACK:"ack",SIGNAL:"signal",SETTLED_PHYSICAL:"settled-physical",EXIT:"exit",TERMINATED:"terminated",BUDGET_EXHAUSTED:"budget-exhausted"},K_=i.object({id:i.string().min(1),openedAt:i.number().int(),closedAt:i.number().int().optional(),budgetMs:i.number().int().positive(),closes:i.nativeEnum(ld),closedBy:i.nativeEnum(ld).optional(),subject:Vn}),$6=new Set([ld.BUDGET_EXHAUSTED,ld.TERMINATED])});var Wp,QD,W_,JD,dg,ug,z_,Ja=S(()=>{"use strict";J();dr();Wp={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},QD=i.string().min(1),W_={ADVANCED_OVER_FAILURE:"advanced-over-failure",CLAIMED_OVER_FAILURE:"claimed-over-failure",EFFECT_DISCARDED:"effect-discarded",CLAIM_UNCORROBORATED:"claim-uncorroborated",FAILURE_INSIDE_SUCCESS:"failure-inside-success",VALUE_NOT_APPLIED:"value-not-applied",DUPLICATED_EFFECT:"duplicated-effect",STALE_APPLIED:"stale-applied",NO_EFFECT:"no-effect",FAULT_MISATTRIBUTED:"fault-misattributed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},JD=i.union([i.nativeEnum(W_),i.string().regex(/^x-[a-z0-9-]+$/,"an anomaly this specification does not name must start with x-")]),dg={OBSERVED:"observed",ABSENCE_DERIVED:"absence-derived",ADVISORY:"advisory"},ug=i.object({kind:JD,tier:i.nativeEnum(dg),claim:i.string().min(1),counter:i.string().min(1),between:i.tuple([_n,_n]),evidence:i.array(i.string()).default([])}),z_=i.object({id:i.string().min(1),claim:i.string().min(1),window:i.string().min(1),verdict:i.nativeEnum(Wp),grade:i.nativeEnum(zt).optional(),reasons:i.array(QD).default([]),evidence:i.array(i.string()).default([]),anomalies:i.array(ug).default([]),supersedes:i.string().optional(),at:i.number().int()})});var eM,tM,nM,z6,Y_,rM,Y6,pg=S(()=>{"use strict";J();vs();cd();ui();Ja();eM=i.string().min(1).regex(/^(?!.*(?:^|\/)\.{1,2}(?:\/|$))[^/]+(?:\/[^/]+)*$/,{message:"a flow name is `/`-separated segments: no empty segment, no leading or trailing slash, no `.` or `..`"}),tM=i.object({id:i.string().min(1),invoke:eM,with:i.unknown().optional(),at:i.number().int()}),nM=i.union([Kp,tM]),z6=i.object({name:i.string().min(1),version:i.number().int().positive(),startState:i.unknown().optional(),requires:i.unknown().optional(),ensures:i.unknown().optional(),claim:i.string().min(1),steps:i.array(nM),expects:i.array(sg).default([]),mayRebind:i.boolean().default(!1)}),Y_=i.object({verdict:i.string().min(1),expected:i.string().min(1),actual:i.string().min(1),evidence:i.array(i.string()).min(1),location:i.object({file:i.string(),line:i.number().int().optional(),symbol:i.string().optional()}).optional(),instruction:i.string().min(1)}),rM={INVARIANT:"invariant",FAILURE_MODE:"failure-mode",GAP:"gap",REPAIR_OUTCOME:"repair-outcome"},Y6=i.object({id:i.string().min(1),kind:i.nativeEnum(rM),statement:i.string().min(1),provenance:ag,observations:i.number().int().nonnegative().default(0),promotedBy:i.string().optional(),promotedAt:i.number().int().optional()})});var oM,iM,oK,X_=S(()=>{"use strict";J();dr();cd();vs();ui();Ja();pg();ys();oM="1.0",iM=i.object({constraint:i.string().min(1),at:i.number().int(),detail:i.string().min(1),evidence:i.array(i.string()).default([])}),oK=i.object({ovp:i.literal(oM),id:i.string().min(1),verifier:i.object({name:i.string().min(1),version:i.string().min(1),profile:i.string().optional()}),subject:Vn,channels:i.array(rg),witnesses:i.array(i.object({name:i.string().min(1),subject:Vn,channels:i.array(rg)})).default([]),intents:i.array(P_).default([]),claims:i.array(H_).default([]),constraints:i.array(U_).default([]),actions:i.array(Kp).default([]),receipts:i.array(j_).default([]),windows:i.array(K_).default([]),evidence:i.array(F_).default([]),coverage:i.array(B_).default([]),anomalies:i.array(ug).default([]),verdicts:i.array(z_).default([]),violations:i.array(iM).default([]),repairs:i.array(Y_).default([]),startedAt:i.number().int(),endedAt:i.number().int()})});var fg=S(()=>{"use strict";Ja()});var hg=S(()=>{"use strict";cd();dr();ui();vs();Ja()});var mg=S(()=>{"use strict";vs();dr();fg();ui();hg()});var gg=S(()=>{"use strict"});var q_=S(()=>{"use strict";gg()});var Rs,OK,IK,CK,Z_=S(()=>{"use strict";J();dr();Rs={EFFECT:"effect",IN_REALM:"in-realm",SURFACE:"surface"},OK=[Rs.EFFECT,Rs.IN_REALM,Rs.SURFACE],IK={[Rs.EFFECT]:[R.NET,R.LOG],[Rs.IN_REALM]:[R.NET,R.LOG,R.STATE,R.SIGNAL],[Rs.SURFACE]:[R.NET,R.LOG,R.STATE,R.SIGNAL,R.UI]},CK=i.object({name:i.string().min(1),version:i.string().min(1),platform:i.string().min(1),claims:i.nativeEnum(Rs),homepage:i.string().optional()})});var Q_=S(()=>{"use strict";mg();dr();vs();ui();ys()});var ec=S(()=>{"use strict";ys();dr();k_();D_();M_();cd();V_();vs();ui();Ja();pg();X_();mg();fg();gg();q_();hg();Z_();Q_()});var xn,ze,J_,Yt,vo=S(()=>{"use strict";xn={YES:"yes",NO:"no",UNKNOWN:"unknown",NO_FAULT:"no-fault"},ze={VERSION_SKEW:"version_skew",CAPABILITY_ABSENT:"capability-absent",INCONCLUSIVE:"inconclusive",OBSERVATION_LOST:"observation_lost",WINDOW_CLOSED_EARLY:"window_closed_early",ASSERTION_FAILED:"assertion_failed",CONTRADICTED:"contradicted",ALREADY_TRUE:"already_true",HIDDEN_MATCH:"hidden_match",UNCLEAN_CAPTURE:"unclean_capture",VACUOUS_GRADE:"vacuous_grade",NOTHING_DECLARED:"nothing_declared",OUTCOME_PENDING:"outcome_pending",OUTCOME_UNREAD:"outcome_unread",UNSETTLED:"unsettled",EVIDENCE_INCOMPLETE:"evidence_incomplete",PROVED:"proved",ABSENCE_BLIND_SPOT:"absence_blind_spot"},J_={BUFFER_LOSS:"buffer_loss",TRANSPORT_GAP:"transport_gap",BLIND_SPOT:"blind_spot",JOURNAL_LOSS:"journal_loss",OTHER:"other"},Yt={CLOSED_SHADOW_ROOT:"closed-shadow-root",RATE_LIMITED:"rate-limited",CROSS_ORIGIN_IFRAME:"cross-origin-iframe",UNINSTRUMENTED_FRAME:"uninstrumented-frame",VIRTUALIZED_UNMOUNTED:"virtualized-unmounted",WRAPPED_NETWORK:"wrapped-network",UNOBSERVED_IPC:"unobserved-ipc",VERDICTLESS_SEND:"verdictless-send",UNWATCHED_STATE:"unwatched-state"}});var cM,lM,ex,Eg=S(()=>{"use strict";J();vo();cM={FINDABLE:"findable",DISCOVERABILITY:"discoverability",AGENT_ASSUMPTION:"agent_assumption",DEFECT:"defect"},lM=20,ex=i.object({goal:i.string().min(1).max(500),kind:i.nativeEnum(cM),agent:i.object({verified:i.nativeEnum(xn),claim:i.string().max(2e3)}),harness:i.object({verified:i.nativeEnum(xn),found:i.boolean(),searched:i.array(i.string().max(500)).max(lM),gaveUpAt:i.string().max(500).optional()})})});var dM,uM,pM,fM,hM,mM,tx,gM,zp,EM,bM,TM,SM,_M,xM,AM,yM,vM,RM,g3,NM,bg,Tg,wM,OM,IM,CM,LM,kM,DM,MM,PM,$M,E3,Sg=S(()=>{"use strict";J();ec();yo();vo();Eg();dM=3,uM=1,pM=2,fM={pass:xn.YES,fail:xn.NO},hM={network:I.NET,layout:I.ELEMENT},mM=i.string().brand(),tx={PASS:"pass",FAIL:"fail",PARTIAL:"partial",UNKNOWN:"unknown"},gM={PASS:"pass",FAIL:"fail",SKIPPED:"skipped",HEALED:"healed"},zp={AUTH:"auth",PAYMENT:"payment",DB:"db",MIGRATION:"migration",RLS:"rls",SECRETS:"secrets",DESTRUCTIVE:"destructive",EXTERNAL:"external"},EM={LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"},bM={EDIT:"edit",CI:"ci",MANUAL:"manual",OEM:"oem"},TM={ADDED:"added",MODIFIED:"modified",DELETED:"deleted"},SM={CODING_AGENT:"coding-agent",OEM_PIPELINE:"oem-pipeline",HUMAN:"human"},_M={REACT:"react",NEXT:"next",VITE:"vite",OTHER:"other"},xM={PREVIEW:"preview",CI:"ci",LOCAL:"local"},AM={HIGH:"high",MEDIUM:"medium",LOW:"low"},yM={DEV:"dev",PROD_PREVIEW:"prod-preview"},vM=i.object({file:i.string(),line:i.number().optional(),component:i.string().optional()}),RM=i.object({path:i.string(),changeKind:i.nativeEnum(TM),risk:i.array(i.nativeEnum(zp)).default([])}),g3=64*1024,NM={BROWSER:"browser",RENDERED:"rendered"},bg={RUNS_DIR:"runs",MANIFEST_FILE:"shots.jsonl",JPEG_QUALITY:.7,MAX_SIDE_PX:1600,MAX_PER_RUN:300,MAX_BYTES:1.5*1024*1024,FRAME_TOOL:"frame"},Tg=i.object({file:i.string(),source:i.nativeEnum(NM),width:i.number(),height:i.number(),sha256:i.string()}),wM=Tg.extend({seq:i.number(),tool:i.string(),step:i.string().optional(),verdict:i.boolean().optional(),checkId:i.string().optional(),actionId:i.string().optional()}),OM=i.object({step:i.number(),anchor:i.string(),ok:i.boolean(),page:i.string().optional(),endPage:i.string().optional(),consequence:i.string().optional(),error:i.string().optional(),drift:i.string().optional(),screenshot:Tg.optional()}),IM=i.object({startPath:i.string().optional(),steps:i.array(i.unknown())}),CM=i.object({name:i.string(),template:i.string().optional(),status:i.nativeEnum(gM),steps:i.number(),durationMs:i.number(),oracle:i.string().optional(),healed:i.object({from:i.string(),to:i.string(),consequenceVerified:i.boolean()}).optional(),evidenceRef:i.string().optional(),failureReason:i.string().optional(),stepResults:i.array(OM).optional(),recording:IM.optional(),recordingOmitted:i.boolean().optional()}),LM=i.object({kind:i.preprocess(t=>{var e;return typeof t=="string"&&(e=hM[t])!=null?e:t},i.nativeEnum(I).optional()),predicate:i.string(),status:i.preprocess(t=>{var e;return typeof t=="string"&&(e=fM[t])!=null?e:t},i.nativeEnum(xn)),evidence:i.unknown().optional(),declaredBeforeActing:i.boolean().optional(),expected:i.string().optional(),observed:i.string().optional(),grade:i.string().optional(),couldNotSee:i.array(i.string()).optional(),reason:i.string().optional(),checkId:i.string().optional(),actionId:i.string().optional(),intent:i.string().optional(),intentDerived:i.boolean().optional(),failedPart:i.number().int().min(0).optional(),screenshot:Tg.optional(),supersedes:i.string().optional()}),kM=i.object({surface:i.nativeEnum(zp),severity:i.nativeEnum(EM),detail:i.string(),evidence:i.object({file:i.string().optional(),line:i.number().optional(),network:i.string().optional()}).optional(),gated:i.boolean().default(!1)}),DM=i.object({consoleErrors:i.array(i.object({level:i.string(),message:i.string(),at:i.number()})).default([]),networkAnomalies:i.array(i.object({method:i.string(),url:i.string(),status:i.number().optional(),issue:i.string()})).default([]),stateAssertions:i.array(i.object({store:i.string(),path:i.string(),expected:i.unknown(),actual:i.unknown(),ok:i.boolean()})).default([]),timeline:i.array(i.object({at:i.number(),kind:i.string(),summary:i.string()})).default([])}),MM=i.object({flow:i.string().optional(),step:i.number().optional(),expected:i.string(),actual:i.string(),sourceLocation:vM.optional(),suggestedPrompt:i.string()}),PM=i.object({status:i.nativeEnum(tx),reasons:i.array(i.string()).default([]),confidence:i.nativeEnum(AM),blockingRisks:i.number().default(0),checkId:i.string().optional(),supersedes:i.string().optional()}),$M=i.object({alg:i.string(),value:i.string(),signedAt:i.number()}),E3=i.object({schemaVersion:i.union([i.literal(dM),i.literal(pM),i.literal(uM)]),runId:mM,createdAt:i.number(),durationMs:i.number(),profile:i.nativeEnum(yM),project:i.object({name:i.string(),framework:i.nativeEnum(_M),commit:i.string().optional(),branch:i.string().optional(),env:i.nativeEnum(xM).optional(),previewUrl:i.string().optional()}),agent:i.object({id:i.string(),kind:i.nativeEnum(SM),model:i.string().optional()}),episodeId:i.string().optional(),agentSession:i.string().optional(),trigger:i.object({kind:i.nativeEnum(bM),diffRef:i.string().optional(),note:i.string().optional()}),editEpoch:i.number().optional(),subject:Vn.optional(),context:i.record(i.unknown()).optional(),changedFiles:i.array(RM).default([]),flows:i.array(CM).default([]),checks:i.array(LM).default([]),risks:i.array(kM).default([]),evidence:DM,repair:i.object({failurePackets:i.array(MM).default([])}).optional(),screenshots:i.array(wM).optional(),verdict:PM,signature:$M.optional(),disparity:i.array(ex).optional(),agentClaim:i.nativeEnum(tx).optional()})});var HM,dd,UM,FM,GM,BM,y3,VM,jM,KM,v3,R3,_g=S(()=>{"use strict";J();Wt();od();Sg();HM=i.array(i.string().refine(t=>!t.includes("="),t=>({message:`\`attrs\` takes attribute NAMES only, not \`name=value\` \u2014 got ${JSON.stringify(t)}. It PROJECTS each attribute onto the match, it does not filter on it. Drop the \`=value\` half and read the returned \`attrs\` map, or assert the value with an \`element\` predicate carrying \`value\`.`}))),dd=i.object({by:i.nativeEnum(et).optional(),value:i.string().optional(),role:i.string().optional(),name:i.string().optional(),text:i.string().optional(),label:i.string().optional(),placeholder:i.string().optional(),testid:i.string().optional(),alt:i.string().optional(),component:i.string().optional(),attrs:HM.optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).strict().optional(),scope:i.string().optional(),self:i.boolean().optional(),matchCase:i.boolean().optional()}).strict(),UM=i.object({name:i.string(),steps:i.array(i.string())}),FM=i.object({surface:i.nativeEnum(zp),paths:i.array(i.string()).optional(),note:i.string().optional()}),GM=i.object({owner:i.string().optional(),safety:i.array(i.string()).optional(),scope:i.array(i.string()).optional(),redact:i.array(i.string()).optional(),risk:i.array(FM).optional()}),BM=i.object({testids:i.array(i.string()),signals:i.array(i.string()),stores:i.array(i.string()),flows:i.array(UM),governance:GM.optional()}),y3=i.object({version:i.literal(O_),generatedAt:i.number(),capabilities:BM}),VM=i.object({consoleErrors:i.number().optional(),networkErrors:i.number().optional(),driftSteps:i.number().optional()}),jM=i.object({kind:i.nativeEnum(E_),name:i.string(),status:i.nativeEnum(b_),at:i.number(),summary:i.string().optional(),evidence:VM.optional(),durationMs:i.number().optional()}),KM=i.object({flows:i.array(i.string()).optional(),routes:i.array(i.string()).optional(),bestObservability:i.object({percent:i.number(),at:i.number()}).optional()}),v3=i.object({version:i.literal(g_),learned:KM.optional(),runs:i.array(jM)}),R3=i.discriminatedUnion("kind",[i.object({kind:i.literal(De.ASSERT_SIGNAL),name:i.string().min(1),dataMatches:i.record(i.unknown()).optional()}),i.object({kind:i.literal(De.ASSERT_VISIBLE),testid:i.string().min(1)}),i.object({kind:i.literal(De.ASSERT_STATE),statePath:i.string().min(1),store:i.string().min(1).optional(),equals:i.unknown().optional()}),i.object({kind:i.literal(De.ASSERT_NET),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()})}),i.object({kind:i.literal(De.MARK_DYNAMIC),testid:i.string().min(1)}),i.object({kind:i.literal(De.SUCCESS_STATE),signal:i.string().min(1).optional(),testid:i.string().min(1).optional(),statePath:i.string().min(1).optional(),store:i.string().min(1).optional(),equals:i.unknown().optional(),hold:i.boolean().optional(),net:i.object({method:i.string().min(1).optional(),urlContains:i.string().min(1).optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).optional(),console:i.object({level:i.string().min(1).optional(),absent:i.boolean().optional()}).optional(),text:i.object({contains:i.string().min(1),scope:i.string().min(1).optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).optional()}),i.object({kind:i.literal(De.INTENT),text:i.string().min(1)})])});function rx(t,e){let n=nx(t),r=nx(e);return[...new Set([...Object.keys(n),...Object.keys(r)])].every(s=>n[s]===r[s])}function nx(t){var e,n;return I.NET===t.from?{...t,body:(e=t.body)!=null?e:Ag.RESPONSE,method:(n=t.method)==null?void 0:n.toUpperCase()}:{...t}}var Ag,Yp,xg,yg,vg=S(()=>{"use strict";J();yo();Ag={RESPONSE:"response",REQUEST:"request"},Yp={VALUE:"value",NUMBER:"number"},xg=i.string().min(1),yg=i.discriminatedUnion("from",[i.object({from:i.literal(I.NET),urlContains:i.string().min(1),method:i.string().optional(),body:i.enum([Ag.RESPONSE,Ag.REQUEST]).optional(),path:xg}).strict(),i.object({from:i.literal(I.SIGNAL),name:i.string().min(1),path:xg}).strict(),i.object({from:i.literal(I.STATE),store:i.string().optional(),path:xg}).strict(),i.object({from:i.literal(I.TEXT),scope:i.string().min(1)}).strict()])});var ox,Rg,Ng=S(()=>{"use strict";J();ec();ox=i.object({op:i.nativeEnum(cg),value:i.number().finite(),tolerance:i.number().finite().nonnegative().optional()}).strict(),Rg=i.discriminatedUnion("property",[i.object({property:i.literal("nonEmpty")}).strict(),i.object({property:i.literal("oneOf"),values:i.array(i.unknown()).min(1)}).strict(),i.object({property:i.literal("withinTolerance"),of:i.number().finite(),tolerance:i.number().finite().nonnegative()}).strict(),i.object({property:i.literal("matchesPattern"),pattern:i.string().min(1)}).strict(),i.object({property:i.literal("type"),is:i.enum(["string","number","boolean","array","object"])}).strict(),i.object({property:i.literal("changed")}).strict(),i.object({property:i.literal("unchanged")}).strict(),i.object({property:i.literal("increased"),by:ox.optional()}).strict(),i.object({property:i.literal("decreased"),by:ox.optional()}).strict()])});function ax(t){if(t.kind!==void 0||typeof t[wg]!="string")return t;let e={...t,kind:t[wg]};return delete e[wg],e}function cx(){var e;if(Og!==void 0)return Og;let t=new Map;for(let n of dx().options){let r=n.shape,o=r.kind._def.value,s=I.ELEMENT===o?sx:[];t.set(o,new Set([...Object.keys(r).filter(a=>a!=="kind"),...Object.keys((e=ix[o])!=null?e:{}),...s]))}return Og=t,t}function zM(t){let e=lx(t);if(e.length===0)return;let n=cx(),r=l=>{let d=n.get(l);return d!==void 0&&e.every(u=>d.has(u))},o=e.flatMap(l=>{let d=WM[l];return d===void 0?[]:[d]});if(1<o.length)return;let[s]=o;if(s!==void 0)return r(s)?s:void 0;let a=[...n.keys()].filter(r);return a.length===1?a[0]:void 0}function YM(t){let e=ax(t);return e.kind===void 0?zM(e):void 0}function XM(t){let e=ax(t),n=YM(t);return n===void 0?e:{...e,kind:n}}function qM(t){let e=lx(t).map(n=>`\`${n}\``);return`this predicate has no \`kind\`, and its keys (${e.length>0?e.join(", "):"none"}) do not fit exactly one kind. Add \`kind\`: one of ${[...cx().keys()].join(", ")}`}function ZM(t,e){if(typeof t!="object"||t===null||Array.isArray(t))return t;let r=XM(t);r.kind===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:qM(r)});let o=typeof r.kind=="string"?r.kind:"",s=ix[o],a=r;if(s!==void 0){a={...r};for(let[l,d]of Object.entries(s))a[l]!==void 0&&(a[d]===void 0&&(a[d]=a[l]),delete a[l])}return I.ELEMENT===o?QM(a):a}function QM(t){if(t.query!==void 0)return t;let e=sx.filter(o=>t[o]!==void 0);if(e.length===0)return t;let n={...t},r={};for(let o of e)r[o]=n[o],delete n[o];return n.query=r,n}function dx(){return i.discriminatedUnion("kind",[i.object({kind:i.literal(I.ELEMENT),query:dd,state:i.nativeEnum(ue).optional(),absent:i.boolean().optional()}).strict(),i.object({kind:i.literal(I.TEXT),contains:i.string().optional(),visible:i.boolean().optional(),absent:i.boolean().optional(),scope:i.string().optional(),self:i.boolean().optional(),satisfies:Rg.optional(),ignoreCase:i.boolean().optional()}).strict(),i.object({kind:i.literal(I.NET),method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),ok:i.boolean().optional(),since:i.number().optional(),count:i.number().int().nonnegative().optional(),bodyContains:i.string().min(1).optional(),bodyMatches:i.record(i.string(),i.unknown()).optional(),requestBodyContains:i.string().min(1).optional(),requestBodyMatches:i.record(i.string(),i.unknown()).optional(),repeatable:i.boolean().optional()}).strict(),i.object({kind:i.literal(I.ROUTE),pathname:i.string().optional(),contains:i.string().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(I.CONSOLE),level:i.string().optional(),contains:i.string().min(1).optional(),absent:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(I.ANIMATION),name:i.string().optional(),target:i.string().optional(),completed:i.boolean().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(I.SIGNAL),name:i.string().optional(),dataMatches:i.record(i.unknown()).optional(),count:i.number().int().nonnegative().optional(),since:i.number().optional()}).strict(),i.object({kind:i.literal(I.STATE),store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),satisfies:Rg.optional()}).strict(),i.object({kind:i.literal(I.SETTLED),quietMs:i.number().positive().optional(),channel:i.enum([Jm.NETWORK,Jm.APP]).optional()}).strict(),i.object({kind:i.literal(I.COMPARE),left:yg,right:yg,as:i.enum([Yp.VALUE,Yp.NUMBER]).optional(),tolerance:i.number().finite().nonnegative().optional()}).strict(),i.object({kind:i.literal(I.ALL_OF),predicates:i.array(ud).min(1)}).strict(),i.object({kind:i.literal(I.ANY_OF),predicates:i.array(ud).min(1)}).strict(),i.object({kind:i.literal(I.NOT),predicate:ud}).strict()])}function JM(t,e){if(typeof t!="object"||t===null)return;let n=t;if(I.NET===n.kind){eP(n.repeatable,n.urlContains,e);return}if(I.COMPARE===n.kind){tP(t,e);return}I.TEXT===n.kind&&(n.contains===void 0&&n.satisfies===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"a text predicate must say WHAT about the text: `contains` for a substring, `satisfies` for a property of it. With neither it matches any element with any text and cannot fail"}),n.satisfies!==void 0&&n.contains===void 0&&n.scope===void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:"`satisfies` needs a subject: add `scope` (the element whose text is tested, with `self: true` to read the scope root itself) or a `contains` that selects one. Without either, the locator is every element on the page and the property would run against whichever one happened to match first"}))}function eP(t,e,n){t===!0&&(typeof e=="string"&&e.trim().length>0||n.addIssue({code:i.ZodIssueCode.custom,message:'`repeatable: true` needs a non-empty `urlContains` naming the read endpoint, for example `{ kind: "net", method: "POST", urlContains: "/graphql", repeatable: true }`. Without one it would excuse every request in the window from duplicate-request, a real double submit included'}))}function tP(t,e){rx(t.left,t.right)&&e.addIssue({code:i.ZodIssueCode.custom,message:"`left` and `right` read the same value, so this comparison agrees with itself on every page and cannot fail. Compare two different readings: what the page shows against what the server answered, or what was sent against what came back"}),t.tolerance!==void 0&&Yp.NUMBER!==t.as&&e.addIssue({code:i.ZodIssueCode.custom,message:'`tolerance` applies to a numeric comparison only: add `as: "number"`'})}var ix,wg,sx,WM,Og,lx,ud,Ig=S(()=>{"use strict";J();_g();Wt();vg();yo();Ng();ix={[I.TEXT]:{text:"contains",value:"contains",query:"contains"},[I.ROUTE]:{path:"pathname",urlContains:"contains",url:"contains",pathContains:"contains"},[I.NET]:{url:"urlContains",responseBodyMatches:"bodyMatches",pathContains:"urlContains"},[I.CONSOLE]:{textContains:"contains"},[I.SIGNAL]:{data:"dataMatches"},[I.ALL_OF]:{of:"predicates",allOf:"predicates"},[I.ANY_OF]:{of:"predicates",anyOf:"predicates"},[I.NOT]:{of:"predicate",not:"predicate"}},wg="type",sx=Object.keys(dd.shape);WM={text:I.TEXT,allOf:I.ALL_OF,anyOf:I.ANY_OF,not:I.NOT};lx=t=>Object.keys(t).filter(e=>t[e]!==void 0);ud=i.lazy(()=>i.preprocess(ZM,dx()).superRefine(JM))});function ux(t){return`${t} is an element ref, which only exists in the session that minted it \u2014 scope by a CSS selector or a testid so the flow can check it again`}function Xp(t){let e=(n,r)=>r!==void 0&&nP.test(r)?`${n} "${r}"`:void 0;switch(t.kind){case I.ALL_OF:case I.ANY_OF:for(let n of t.predicates){let r=Xp(n);if(r!==void 0)return r}return;case I.NOT:return Xp(t.predicate);case I.TEXT:return e("text.scope",t.scope);case I.ELEMENT:return e("element.query.scope",t.query.scope);case I.ANIMATION:return e("animation.target",t.target);case I.COMPARE:for(let[n,r]of[["left",t.left],["right",t.right]]){if(I.TEXT!==r.from)continue;let o=e(`compare.${n}.scope`,r.scope);if(o!==void 0)return o}return;default:return}}var nP,Cg=S(()=>{"use strict";yo();nP=/^e\d+$/});function fx(t){let e=[];if(t.signal!==void 0){let a={kind:I.SIGNAL,name:t.signal};t.signalData!==void 0&&(a.dataMatches=t.signalData),t.signalCount!==void 0&&(a.count=t.signalCount,e.push({kind:I.SETTLED})),e.push(a)}if(t.route!==void 0){let a={kind:I.ROUTE};return t.route.pathname!==void 0&&(a.pathname=t.route.pathname),t.route.contains!==void 0&&(a.contains=t.route.contains),a}if(t.net!==void 0){let a={kind:I.NET};t.net.method!==void 0&&(a.method=t.net.method),t.net.urlContains!==void 0&&(a.urlContains=t.net.urlContains),t.net.status!==void 0&&(a.status=t.net.status),t.net.count!==void 0&&(a.count=t.net.count,e.push({kind:I.SETTLED})),e.push(a)}if(t.console!==void 0){let a={kind:I.CONSOLE};t.console.level!==void 0&&(a.level=t.console.level),t.console.absent!==void 0&&(a.absent=t.console.absent,t.console.absent&&e.push({kind:I.SETTLED})),e.push(a)}let n=t.state;if(n!==void 0){let a={kind:I.STATE,path:n.path};n.store!==void 0&&(a.store=n.store),n.equals!==void 0&&(a.equals=n.equals),n.hold===!0&&e.push({kind:I.SETTLED}),e.push(a)}let r=t.element;if(r!==void 0){let a={};r.testid!==void 0&&(a.testid=r.testid),r.role!==void 0&&(a.role=r.role),r.name!==void 0&&(a.name=r.name),Object.keys(a).length>0&&e.push({kind:I.ELEMENT,query:a})}let o=t.text;if(o!==void 0){let a={kind:I.TEXT,contains:o.contains};o.scope!==void 0&&(a.scope=o.scope),o.visible!==void 0&&(a.visible=o.visible),o.absent===!0&&(a.absent=!0,e.push({kind:I.SETTLED})),e.push(a)}let[s]=e;if(e.length!==0)return e.length===1&&s!==void 0?s:{kind:I.ALL_OF,predicates:e}}var px,Lg=S(()=>{"use strict";J();yo();px=i.object({route:i.object({pathname:i.string().optional(),contains:i.string().optional()}).optional(),signal:i.string().optional(),signalData:i.record(i.unknown()).optional(),signalCount:i.number().int().nonnegative().optional(),net:i.object({method:i.string().optional(),urlContains:i.string().optional(),status:i.number().optional(),count:i.number().int().nonnegative().optional()}).strict().optional(),console:i.object({level:i.string().optional(),absent:i.boolean().optional()}).strict().optional(),element:i.object({testid:i.string().optional(),role:i.string().optional(),name:i.string().optional()}).strict().optional(),text:i.object({contains:i.string().min(1),scope:i.string().optional(),absent:i.boolean().optional(),visible:i.boolean().optional()}).strict().optional(),state:i.object({store:i.string().optional(),path:i.string(),equals:i.unknown().optional(),hold:i.boolean().optional()}).strict().optional()}).strict()});var hx=S(()=>{"use strict"});var gx,rP,kg,mx,oP,Ex,iP,t8,bx=S(()=>{"use strict";J();od();tg();Wt();Ig();Cg();Lg();od();hx();gx=i.discriminatedUnion("kind",[i.object({kind:i.literal(Fn.TESTID),value:i.string().min(1),of:i.number().int().min(2).optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional()}),i.object({kind:i.literal(Fn.ROLE),role:i.string().min(1),name:i.string().optional(),nth:i.number().int().min(0).optional(),of:i.number().int().min(2).optional()}),i.object({kind:i.literal(Fn.SIGNAL),name:i.string().min(1)}),i.object({kind:i.literal(Fn.COMPONENT),component:i.string().optional(),source:i.object({file:i.string(),line:i.number(),column:i.number().optional()}).optional(),role:i.string().optional(),name:i.string().optional()})]),rP=ud.superRefine((t,e)=>{let n=Xp(t);n!==void 0&&e.addIssue({code:i.ZodIssueCode.custom,message:ux(n)})}),kg=i.union([rP,px.transform(t=>fx(t))]),mx=i.array(kg).transform(t=>t.filter(e=>e!==void 0)),oP=i.object({tool:i.string(),anchor:gx,source:i.object({file:i.string().min(1),line:i.number().int().positive().optional()}).optional(),id:i.string().min(1).optional(),effect:i.nativeEnum(__).optional(),healed:i.object({from:i.string(),at:i.number()}).optional(),writes:i.boolean().optional(),action:i.nativeEnum(L).optional(),args:i.record(i.unknown()).optional(),expect:kg.optional(),degraded:i.boolean().optional(),timeoutMs:i.number().int().nonnegative().optional(),invoke:i.string().min(1).optional(),page:i.string().optional(),endPage:i.string().optional()}),Ex=oP.extend({steps:i.lazy(()=>i.array(Ex).optional())}),iP=i.object({version:i.number().int().refine(t=>T_.has(t)),name:i.string(),intent:i.string().optional(),intentDerived:i.boolean().optional(),intentId:i.string().optional(),projectId:i.string().optional(),startPath:i.string().optional(),template:i.string().min(1).optional(),fixture:i.string().optional(),requires:mx.optional(),ensures:mx.optional(),author:i.object({agent:i.string().min(1).optional(),person:i.string().min(1).optional()}).optional(),createdAt:i.number(),steps:i.array(Ex),signalTimeoutMs:i.number().int().positive().optional(),success:kg.optional(),dynamic:i.array(gx).optional(),labels:i.array(i.string().min(1)).optional(),needs:i.array(i.string().min(1)).optional(),status:i.enum([$p.ACTIVE,$p.QUARANTINED,$p.DRAFT]).optional(),learned:i.array(i.object({kind:i.string().min(1),step:i.number().int().min(-1),state:i.enum(["open","guarded"]),cleanRuns:i.number().int().nonnegative().optional()})).optional(),knownBugs:i.array(i.object({id:i.string().min(1),summary:i.string().min(1),assertions:i.array(i.string())})).optional(),quarantine:i.object({reason:i.string().min(1),since:i.string().min(1),owner:i.string().min(1),until:i.string().optional()}).optional()}),t8=i.object({name:i.string(),flow:iP})});var Tx=S(()=>{"use strict"});var Sx=S(()=>{"use strict"});var _x=S(()=>{"use strict"});var ln,Dg,pd,sP,a8,xx,fd,Ax,Mg,qp,hd=S(()=>{"use strict";ln={FETCH:"fetch",XHR:"xhr",BEACON:"beacon",IPC:"ipc",DOCUMENT:"document",NAVIGATION:"navigation"},Dg="ipc://",pd={OK:200,ERROR:500},sP={NEXT_DEV_OVERLAY:"/__nextjs",NEXT_HMR:"/_next/webpack-hmr",NEXT_HMR_CHUNKS:"/_next/static/webpack/",WEBPACK_HOT_UPDATE:".hot-update.",VITE_CLIENT:"/@vite/",VITE_REACT_REFRESH:"/@react-refresh",VITE_PING:"/__vite_ping"},a8=Object.values(sP),xx="urlRaw",fd="requestShape",Ax="none",Mg="Next-Action",qp="nextAction"});var u8,yx=S(()=>{"use strict";hd();u8=new Set([ln.FETCH,ln.XHR])});var pi,vx=S(()=>{"use strict";pi={ERROR_STATUS:"error-status",STREAMING:"streaming",NOT_TEXT:"not-text",UNREADABLE:"unreadable"}});var tc,Zp,Rx,Nx=S(()=>{"use strict";tc="data-reticle-source",Zp="__RETICLE_ROOT__",Rx="__RETICLE_SDK_VERSION__"});var Ns,wx,Ox,Ix=S(()=>{"use strict";Ns="data-testid",wx=["data-test-subj","data-cy","data-test","data-qa","data-e2e"],Ox=/^[a-zA-Z_][\w-]*$/});var Cx,Lx=S(()=>{"use strict";Wt();Cx=new Set([x.DOM_TEXT,x.ANIM_START,x.ANIM_END,x.RENDER_COMMIT,x.PAGE_HEALTH,x.SCROLL_POSITION])});function Pg(t){let e=t.text;if(typeof e=="string"&&0<e.length)return e;let n=t.key;return typeof n=="string"&&0<n.length?n:aP}function $g(t){let e=t.keys;if(!Array.isArray(e))return[];let n=[];for(let r of e)typeof r=="string"&&0<r.length&&n.push(r);return n}function lP(t){let e=t.modifiers;return Array.isArray(e)&&0<e.length}function Dx(t){if(lP(t))return!0;let e=$g(t);if(1<e.length)return!0;if(e.length===1){let n=e[0];return n!==void 0&&kx.has(n.toLowerCase())}return kx.has(Pg(t).toLowerCase())}var aP,cP,kx,Mx=S(()=>{"use strict";aP="Enter",cP=["Escape","Tab"],kx=new Set(cP.map(t=>t.toLowerCase()))});function nc(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?0:Math.min(t,3e4)}var Px=S(()=>{"use strict"});var dP,x8,uP,A8,$x=S(()=>{"use strict";J();vo();dP="https://app.reticle.sh",x8=`Reticle Cloud (not linked): keeps this history across runs and agents, adds a team view and the hosted Harness. Plans and prices: ${dP}`,uP=i.object({claim:i.string(),verified:i.nativeEnum(xn),evidence:i.string().optional()}),A8=i.object({verified:i.nativeEnum(xn),claims:i.array(uP),caught:i.array(i.string()),flows:i.object({saved:i.array(i.string()),replayed:i.array(i.object({name:i.string(),verified:i.nativeEnum(xn)}))}),memory:i.object({written:i.number().int().min(0),read:i.number().int().min(0)}),wallMs:i.number().int().min(0),firstVerdictMs:i.number().int().min(0).optional(),cloud:i.string().optional()})});var pt,R8,Hx=S(()=>{"use strict";vo();pt={CODE:"code",ENVIRONMENT:"environment",HARNESS:"harness",COULD_NOT_SEE:"could-not-see",NONE:"none"},R8={[ze.ASSERTION_FAILED]:pt.CODE,[ze.CONTRADICTED]:pt.CODE,[ze.OUTCOME_PENDING]:pt.ENVIRONMENT,[ze.UNSETTLED]:pt.ENVIRONMENT,[ze.VERSION_SKEW]:pt.HARNESS,[ze.WINDOW_CLOSED_EARLY]:pt.HARNESS,[ze.NOTHING_DECLARED]:pt.HARNESS,[ze.VACUOUS_GRADE]:pt.HARNESS,[ze.ALREADY_TRUE]:pt.HARNESS,[ze.HIDDEN_MATCH]:pt.HARNESS,[ze.CAPABILITY_ABSENT]:pt.COULD_NOT_SEE,[ze.OBSERVATION_LOST]:pt.COULD_NOT_SEE,[ze.UNCLEAN_CAPTURE]:pt.COULD_NOT_SEE,[ze.EVIDENCE_INCOMPLETE]:pt.COULD_NOT_SEE,[ze.ABSENCE_BLIND_SPOT]:pt.COULD_NOT_SEE,[ze.OUTCOME_UNREAD]:pt.COULD_NOT_SEE,[ze.INCONCLUSIVE]:pt.COULD_NOT_SEE,[ze.PROVED]:pt.NONE}});var ws,pP,fP,hP,O8,Ux=S(()=>{"use strict";J();ws={CONNECTING:"connecting",WAITING_FOR_APP:"waiting_for_app",FLOWS_FOUND:"flows_found",FLOW_STARTED:"flow_started",FLOW_FINISHED:"flow_finished",GRADING:"grading",PUSHED:"pushed"},pP=120,fP=200,hP=i.object({phase:i.enum([ws.CONNECTING,ws.WAITING_FOR_APP,ws.FLOWS_FOUND,ws.FLOW_STARTED,ws.FLOW_FINISHED,ws.GRADING,ws.PUSHED]),index:i.number().int().nonnegative().optional(),total:i.number().int().nonnegative().optional(),name:i.string().max(pP).optional(),ok:i.boolean().optional(),at:i.number().int().nonnegative()}),O8=i.object({runId:i.string().min(1).max(200),events:i.array(hP).max(fP)})});function Fx(t){return t===$e.ACTIVE||t===$e.PAUSED||t===$e.ENDED}var $e,md,Xt,Os,Gx,Bx,Is,Hg=S(()=>{"use strict";$e={ACTIVE:"active",PAUSED:"paused",ENDED:"ended"};md="auto",Xt={PAUSE:"pause",RESUME:"resume",END:"end",MESSAGE:"message",REPLAY:"replay",SYNC:"sync",SIGNIN:"signin",HARNESS:"harness",HARNESS_RUN:"harness-run",HARNESS_STOP:"harness-stop",HARNESS_LINK:"harness-link"},Os={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"},Gx={HEARTBEAT_MS:5e3,STALE_THRESHOLD_MS:12e3,LEDGER_NOTICE_FRACTION:.25},Bx={IDLE_END_MS:3e5,IDLE_END_MIN_MS:5e3,REAP_INTERVAL_MS:5e3,BRIDGE_LOST_MS:15e3,DAEMON_IDLE_SHUTDOWN_MS:3e5,DAEMON_IDLE_CHECK_MS:3e4,DAEMON_AGENT_RECENT_MS:18e5},Is={VISIBILITY:"visibilitychange",FOCUS:"focus",BLUR:"blur",HEARTBEAT:"heartbeat",INITIAL:"initial"}});var An,Tt,fi,gd,yn,Vx,Qp,rc,dn,Ed=S(()=>{"use strict";An={BUBBLE:"bubble",COLLAPSED:"collapsed",EXPANDED:"expanded"},Tt={CHAT:"chat",FLOWS:"flows",NOTES:"notes",HARNESS:"harness",SETTINGS:"settings",REPORT:"report",ACCOUNT:"account",NONE:"none"},fi={RAIL:"rail",HARNESS:"harness",HEADER:"header"},gd={ON:"on",OFF:"off"},yn={SHOWN:"shown",HIDDEN:"hidden",REMOVED:"removed"},Vx="reload to restore",Qp={TOP_LEFT:"top-left",TOP_RIGHT:"top-right",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right"},rc={PLAYING:"playing",PASSED:"passed",FAILED:"failed"},dn={PENDING:"pending",RUNNING:"running",PASSED:"passed",FAILED:"failed",BLOCKED:"blocked",NOT_TAKEN:"not-taken",UNDECIDED:"undecided"}});var bd,k8,jx=S(()=>{"use strict";bd="[data-reticle-overlay],[data-reticle-cursor],[data-reticle-hud],[data-reticle-glow],[data-reticle-mark],[data-reticle-blocker],[data-reticle-tour]",k8=`${bd}{display:none !important}`});var Ug,Kx,mP,gP,EP,$8,H8,Cs,Jp,Fg=S(()=>{"use strict";J();Ed();Ug={TAB:"tab",HEADLESS:"headless",HEADED:"headed"},Kx={LOCAL:"local",PLATFORM:"platform"},mP=2e3,gP=128,EP=500,$8={target:i.enum([Ug.TAB,Ug.HEADLESS,Ug.HEADED]),mode:i.enum([Kx.LOCAL,Kx.PLATFORM]),url:i.string().url().refine(t=>/^https?:/i.test(t)),hud:i.enum([yn.SHOWN,yn.HIDDEN,yn.REMOVED]),persona:i.string().min(1).max(mP),maxSteps:i.number().int().min(1).max(EP),record:i.boolean(),plan:i.string().min(1).max(gP),confirmDangerous:i.boolean()},H8=i.object({seq:i.number().int().nonnegative(),tool:i.string().min(1).max(100),args:i.record(i.unknown()).default({})}),Cs={SOURCE:"source",TESTID:"testid"},Jp="file:line source mapping"});var ef,zx,Yx,Wx,F8,Xx=S(()=>{"use strict";ef="https://calendar.app.google/h9NRDbBBQetyTzWM6",zx="hey@reticle.sh",Yx="mailto:hey@reticle.sh?subject=Reticle%20feedback",Wx='npx @reticlehq/server feedback --contact you@company.com "what you are building"',F8={HUMAN:`Stuck, or want Reticle to work differently? Talk to the founder: ${ef} \xB7 or send a note with your email: ${Wx}`,AGENT:`If the person you are working with is stuck or Reticle got in their way, offer them a call with the founder (${ef}) or a note with their email (${Wx}). Offer it; never book a call or submit an email for them.`}});function qx(t){let e="";for(let n=0;n<8;n++){let r=Math.floor(t()*Gg.length);e+=Gg[Math.min(Math.max(r,0),Gg.length-1)]}return e}var Gg,Zx=S(()=>{"use strict";Gg="0123456789abcdefghijklmnopqrstuvwxyz"});var Qx=S(()=>{"use strict"});function Bg(t){return bP.test(t)}function Jx(t){let e=new Set;for(let n of t!=null?t:[]){let r=n.trim().toLowerCase();r.length>0&&e.add(r)}return e}function eA(t,e){var a,l;let n=Jx((a=t==null?void 0:t.keys)==null?void 0:a.filter(d=>typeof d=="string")),r=((l=t==null?void 0:t.keys)!=null?l:[]).filter(d=>d instanceof RegExp),o=Jx(t==null?void 0:t.allow),s=[...o].filter(d=>Bg(d)&&!n.has(d));return s.length>0&&e!==void 0&&e(`[reticle] redact.allow is exempting ${s.join(", ")} from redaction. The default rule treats ${s.length===1?"that key":"those keys"} as a credential, so ${s.length===1?"its value":"their values"} will now reach the agent transcript and the on-disk journal in cleartext.`),{isSensitiveKey:d=>{let u=d.toLowerCase();if(n.has(u))return!0;for(let p of r)if(p.lastIndex=0,p.test(d))return!0;return o.has(u)?!1:Bg(d)}}}function tA(t){Vg=t}function it(t){return Vg===void 0?Bg(t):Vg.isSensitiveKey(t)}function _P(t){return new TextEncoder().encode(t).byteLength}function xP(t){if(!/^data:/i.test(t))return;let e=t.indexOf(","),n=e===-1?t.slice(5):t.slice(5,e),[r="",...o]=n.split(";"),s=/^[\w.+-]+\/[\w.+-]+$/.test(r)?r:"text/plain",a=o.some(d=>d.toLowerCase()==="base64")?";base64":"",l=e===-1?"":t.slice(e+1);return`data:${s}${a},<\u2026${String(_P(l))} bytes\u2026>`}function jn(t,e=it){var A;let n=xP(t);if(n!==void 0)return n;let r=t.indexOf("#"),o=r===-1?"":t.slice(r),s=r===-1?t:t.slice(0,r),a=s.indexOf("?"),l=a===-1?s:s.slice(0,a),d=a===-1?"":s.slice(a+1),u=!1,p=l,h=/^([a-z][a-z0-9+.-]*:\/\/)[^/]*@/i.exec(l);h!==null&&(p=`${(A=h[1])!=null?A:""}${ye}@${l.slice(h[0].length)}`,u=!0);let m=d;if(d!==""){let N=new URLSearchParams(d),y=!1;for(let v of[...N.keys()])e(v)&&(N.set(v,ye),y=!0);y&&(m=N.toString(),u=!0)}let g=p.split("/");for(let N=0;N+1<g.length;N++){let y=g[N],v=g[N+1];y!==void 0&&v!==void 0&&v.length>=SP&&TP.test(y)&&(g[N+1]=ye,u=!0)}let T=o;if(o.length>1&&(T=o.replace(/(^|[#&?/])([A-Za-z0-9_.-]+)=([^&\s]+)/g,(N,y,v)=>e(v)?`${y}${v}=${ye}`:N),T!==o&&(u=!0)),!u)return t;let _=a===-1?"":`?${m}`;return`${g.join("/")}${_}${T}`}function Ur(t,e=it){let n=jn(t,e);return n===t?{url:n}:{url:n,[xx]:t}}function nA(t){var r;let e=new Set,n=[];for(let o of(r=t==null?void 0:t.keys)!=null?r:[]){if(typeof o!="string")continue;let s=o.trim();if(s.length===0||s.length>Kg)continue;let a=s.toLowerCase();if(!e.has(a)&&(e.add(a),n.push(s),n.length>=jg))break}return n}function Fr(t){return t.replace(AP,ye)}var bP,Vg,TP,SP,jg,Kg,AP,Wg=S(()=>{"use strict";Wt();hd();bP=/password|passwd|passcode|pass[-_]?phrase|(?:otp|totp|mfa|recovery|backup)[-_]?codes?|(?:^|[-_])(?:otp|totp)(?=$|[-_])|secret|(?:(?:access|refresh|auth|bearer|api|id|session|csrf|client)[-_]?tokens?|(?:^|[-_])tokens?(?=$|[-_]))|session[-_]?id|(?:^|[-_])(?:sid|pwd|jwt)(?=$|[-_])|authorization|(?:^|[-_])(?:set[-_])?cookie(?=$|[-_])|api[-_]?key|access[-_]?key|private[-_]?key|client[-_]?secret|credit[-_]?card|card[-_]?(?:number|num|no|pan)(?=$|[-_])|(?:^|[-_])(?:card|pan)(?=$|[-_])|cvv|cvc|ssn|(?:^|[-_])(?:signature|sig)$|(?:^|[-_])credential$|x-(?:amz|goog)-(?:signature|credential|security-token)$/i;TP=/^(reset|verify|verification|confirm|activate|invite|magic|magiclink|token|key|oauth|unsubscribe|password)$/i,SP=12;jg=64,Kg=128;AP=/eyJ[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]{4,}|(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{10,}|sk-(?:ant|proj|svcacct|admin)-[A-Za-z0-9_-]{20,}|(?:AKIA|ASIA)[0-9A-Z]{16}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{22,}|AIza[0-9A-Za-z_-]{35}|xox[baprs]-[A-Za-z0-9-]{10,}|ya29\.[A-Za-z0-9._-]{20,}/g});var Gr,tf=S(()=>{"use strict";Gr={WEB:"web",WEBVIEW:"webview",NATIVE:"native",SERVICE:"service"}});function zg(){return[R.UI,R.NET,R.STATE,R.SIGNAL,R.LOG,R.ROUTE,R.TIME]}var q8,Z8,nf=S(()=>{"use strict";ec();yo();q8={[I.ELEMENT]:[R.UI],[I.TEXT]:[R.UI],[I.SIGNAL]:[R.SIGNAL],[I.NET]:[R.NET],[I.STATE]:[R.STATE],[I.ROUTE]:[R.ROUTE],[I.CONSOLE]:[R.LOG],[I.ANIMATION]:[R.UI,R.TIME],[I.SETTLED]:[R.TIME,R.NET],[I.COMPARE]:[R.UI,R.NET,R.STATE,R.SIGNAL],[I.ALL_OF]:zg(),[I.ANY_OF]:zg(),[I.NOT]:zg()};Z8=Object.fromEntries(Object.entries(og).map(([t,e])=>[t,e.independence]))});var rA,rf,of,sf=S(()=>{"use strict";rA={DEVELOPMENT:"development",PRODUCTION:"production"},rf={OBSERVE:"observe",ACT:"act"},of={INSTALLED:"installed",INJECTED:"injected"}});function Yg(t){let e=t.toLowerCase().replace(/^\[|\]$/g,"");if(NP.includes(e))return!0;let n=e.split(".");return OP===n.length&&wP===n[0]&&n.every(r=>{if(!/^\d{1,3}$/.test(r))return!1;let o=Number(r);return o>=0&&o<=IP})}function CP(t){let e=t.toLowerCase();return e.endsWith(oA)&&e.length>oA.length&&!e.startsWith(".")}function cA(t,e){return Yg(e)||CP(e)?!0:LP.includes(t.toLowerCase())}function lA(t,e){return e!==void 0&&aA.has(e.trim().toLowerCase())?!1:vP.test(t.replace(sA," "))}function dA(t){return kP.test(t)}function uA(t){return pA(t)||RP.test(t.replace(sA," "))}function pA(t){let e;try{e=new URL(t).hostname.toLowerCase()}catch{return!1}return MP.some(n=>e===n||e.endsWith(`.${n}`))}function fA(t){var n;if(PP.test((n=t.autocomplete)!=null?n:""))return!0;let e=[t.name,t.id,t.label].map(r=>(r!=null?r:"").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ")).join(" ");return $P.test(e)}function hA(t,e){var r;if(e!==void 0&&aA.has(e.trim().toLowerCase()))return;if(t.split(/\s+/).some(pA))return st.PAY;let n=t.replace(/[_-]+/g," ");return(r=DP.find(([o,s])=>o!==st.PAY&&s.test(n)))==null?void 0:r[0]}var iA,yP,vP,RP,sA,aA,NP,oA,wP,OP,IP,LP,kP,st,DP,MP,PP,$P,Xg,qg=S(()=>{"use strict";iA="delete|remove|destroy|erase|drop|terminate|revoke|reset|close account|cancel subscription",yP="purchase|buy|pay|payment|place order|confirm order|send money|send funds|transfer|withdraw|refund",vP=new RegExp(`\\b(${iA}|${yP})\\b`,"i"),RP=new RegExp(`\\b(${iA})\\b`,"i"),sA=/[_-]+/g,aA=new Set(["option","radio"]),NP=["localhost","::1","0:0:0:0:0:0:0:1"],oA=".localhost",wP="127",OP=4,IP=255;LP=["file:","app:","tauri:"];kP=/^\s*(#.*|javascript:.*)?$/i;st={INVITE:"invite",SEND:"send",SHARE:"share",DELETE:"delete",PAY:"pay",PUBLISH:"publish",REVOKE:"revoke",TRANSFER:"transfer",SIGN_OUT:"sign out",CHANGE_ROLE:"change role",CREATE_KEY:"create key",CHANGE_STATE:"change state"},DP=[[st.INVITE,/\binvit(?:e|es|ed|ing|ation|ations)\b|\/invit/i],[st.TRANSFER,/\b(?:transfer|send money|send funds|withdraw)\b/i],[st.SEND,/\b(?:send|sends|sending|resend|email (?:it|them|the))\b/i],[st.SHARE,/\b(?:share|shares|sharing)\b/i],[st.DELETE,/\b(?:delete|deletes|deleting|remove|removes|removing|destroy|erase|drop)\b/i],[st.PAY,/\b(?:pay|pays|paying|payment|purchase|buy|checkout|check out|subscribe|upgrade|place order|confirm order|refund|add (?:a )?card|start (?:the |your |a )?(?:\d+-day |free )?trial)\b|\/(?:billing|checkout)\b/i],[st.PUBLISH,/\b(?:publish|publishes|deploy|deploys|go live)\b/i],[st.REVOKE,/\b(?:revoke|revokes|deactivate|suspend)\b/i],[st.SIGN_OUT,/\b(?:sign ?out|log ?out|sign off)\b/i],[st.CHANGE_ROLE,/\b(?:change (?:the |their |his |her )?role|make (?:an? )?(?:admin|owner)|promote|demote|set role)\b/i],[st.CREATE_KEY,/\b(?:create|generate|new|mint)(?: an?)?(?: api)? key\b|\/keys\b/i],[st.CHANGE_STATE,/\b(?:reassign|reassigns|reopen|reopens|re-open|archive|archives|unarchive|approve|approves|reject|rejects|mark as (?:fixed|resolved|done|closed))\b/i]],MP=["stripe.com","checkout.dodopayments.com","paddle.com","lemonsqueezy.com","paypal.com","razorpay.com","braintreegateway.com"];PP=/\bcc-(?:number|csc|exp(?:-month|-year)?)\b/i,$P=/card ?(?:number|no\b)|\bcc ?num|\b(?:cvc|cvv|csc|cvc2|cvv2)\b|security code|card ?code|\bexpir(?:y|ation|es)\b|\bexp ?date\b|\bmm ?\/ ?yy\b|\biban\b|account ?number|routing ?number|sort ?code/i;Xg=t=>`would need to ${t} \u2014 not done (outward action): the journey does not ask for it`});var af,mA,HP,gA,EA,bA,UP,FP,Td,Qg,GP,BP,uW,Jg=S(()=>{"use strict";J();Ed();Wt();Hg();Wg();tf();nf();sf();qg();af=i.string().min(1).max(G.MAX_SESSION_ID_LENGTH),mA=i.string().max(G.MAX_REF_LENGTH),HP=i.string().min(1).max(8),gA=i.object({kind:i.nativeEnum(Xt),text:i.string().optional()}),EA=i.object({control:i.string().max(48).regex(/^[a-z][a-zA-Z-]*(\.[a-zA-Z-]+)?$/).optional(),toggle:i.nativeEnum(gd).optional(),view:i.nativeEnum(An).optional(),panel:i.nativeEnum(Tt).optional(),slide:i.string().max(56).optional(),prompt:i.nativeEnum(fi).optional()}),bA=i.object({note:i.string().min(1).max(G.MAX_MARK_NOTE_LENGTH),anchor:i.string().max(G.MAX_REF_LENGTH),strategy:i.nativeEnum(Os),label:i.string().max(G.MAX_MARK_LABEL_LENGTH).optional(),source:i.object({file:i.string().max(G.MAX_URL_LENGTH),line:i.number().int().min(0)}).optional(),route:i.string().max(G.MAX_URL_LENGTH).optional()}),UP=i.object({t:i.number(),type:i.nativeEnum(x),sessionId:af,ref:mA.optional(),seq:i.number().int().min(0).optional(),actionId:mA.optional(),attribution:i.nativeEnum(I_).optional(),documentId:HP.optional(),editEpoch:i.number().int().min(0).optional(),data:i.record(i.unknown()).default({})}),FP=i.object({kind:i.literal(Kt.HELLO),protocolVersion:i.number().int().min(y_).max(Hp),sessionId:af,url:i.string().max(G.MAX_URL_LENGTH),title:i.string().max(G.MAX_TITLE_LENGTH),projectId:af.optional(),adapters:i.array(i.string().max(G.MAX_ADAPTER_NAME_LENGTH)).max(G.MAX_ADAPTERS),token:i.string().max(G.MAX_TOKEN_LENGTH).optional(),env:i.nativeEnum(rA).optional(),scope:i.nativeEnum(rf).optional(),platform:i.nativeEnum(Gr).optional(),channels:i.array(i.nativeEnum(R)).max(G.MAX_ADAPTERS).optional(),commands:i.array(i.string().max(G.MAX_TOKEN_LENGTH)).max(G.MAX_ADAPTERS).optional(),contractParts:i.object({commands:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),events:i.array(i.string()).max(G.MAX_CONTRACT_NAMES),actions:i.array(i.string()).max(G.MAX_CONTRACT_NAMES)}).optional(),hasCapabilities:i.boolean().optional(),captureBodies:i.boolean().optional(),sourceMapping:i.boolean().optional(),instrumentation:i.nativeEnum(of).optional(),sdkVersion:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),contract:i.string().max(G.MAX_ADAPTER_NAME_LENGTH).optional(),redactKeys:i.array(i.string().min(1).max(Kg)).max(jg).optional()}),Td={HARNESS:"harness"},Qg=i.object({kind:i.literal(Kt.COMMAND),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),sessionId:af.optional(),name:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),by:i.nativeEnum(Td).optional(),outward:i.object({allowed:i.array(i.nativeEnum(st)).max(16)}).optional()}),GP=i.object({kind:i.literal(Kt.COMMAND_RESULT),id:i.string().min(1).max(G.MAX_COMMAND_ID_LENGTH),ok:i.boolean(),result:i.unknown().optional(),error:i.string().max(G.MAX_ERROR_LENGTH).optional()}),BP=i.object({kind:i.literal(Kt.EVENT),event:UP}),uW=i.discriminatedUnion("kind",[FP,Qg,GP,BP])});var un,VP,jP,KP,WP,zP,mW,gW,EW,TA=S(()=>{"use strict";J();sf();un={PAYMENT:"payment or checkout",DELETE_WORKSPACE:"delete a workspace or project",REVOKE_KEY:"revoke or rotate a key",SEND_INVITE:"send an invite or email",CANCEL_SUBSCRIPTION:"cancel a subscription",CHANGE_ROLE:"change a member's role",OBSERVE_ONLY:"the session scope is observe, so it does not act",OFF_ORIGIN:"leave the activated origin",EXPIRED:"the session nonce expired"},VP=[un.PAYMENT,un.DELETE_WORKSPACE,un.REVOKE_KEY,un.SEND_INVITE,un.CANCEL_SUBSCRIPTION,un.CHANGE_ROLE],jP=64,KP=256,WP=i.object({rule:i.enum(VP),methods:i.array(i.string().min(1).max(16)).min(1).max(8),path:i.string().min(1).max(KP).refine(t=>{try{return new RegExp(t,"i"),!0}catch{return!1}},"not a valid regular expression")}),zP=i.array(WP).max(jP),mW=[{rule:un.CANCEL_SUBSCRIPTION,methods:["DELETE"],path:"/subscriptions?(/[^/]+)?/?$"},{rule:un.CANCEL_SUBSCRIPTION,methods:["POST","PUT","PATCH"],path:"/subscriptions?(/[^/]+)?/cancel"},{rule:un.PAYMENT,methods:["POST","PUT","PATCH"],path:"/(billing|checkout|payments?|subscriptions?|purchases?|orders?)(/|$)"},{rule:un.DELETE_WORKSPACE,methods:["DELETE"],path:"/(workspaces?|orgs?|organi[sz]ations?|projects?)/[^/]+/?$"},{rule:un.REVOKE_KEY,methods:["DELETE"],path:"/(api-?)?keys?/[^/]+/?$"},{rule:un.REVOKE_KEY,methods:["POST","PUT","PATCH"],path:"/(api-?keys?|keys?|tokens?|secrets?)(/[^/]+)?/(rotate|revoke|regenerate|roll)"},{rule:un.SEND_INVITE,methods:["POST","PUT"],path:"/(invites?|invitations?|emails?|mail)(/|$)"},{rule:un.CHANGE_ROLE,methods:["PATCH","PUT","POST"],path:"/members?/[^/]+(/role)?/?$"}],gW=i.object({workspaceId:i.string().min(1).max(128),nonce:i.string().min(1).max(256),bridgePort:i.number().int().min(1).max(65535),scope:i.nativeEnum(rf),origin:i.string().url().max(2048).optional(),bridge:i.string().url().max(2048).optional()}),EW=i.object({ticket:i.string().min(1).max(4096),expiresAt:i.string().max(64).optional(),policy:zP.optional()})});var SA=S(()=>{"use strict"});function r$(t){return t.length<=xA&&n$.test(t)}var YP,_A,_W,hi,XP,He,qP,ZP,QP,JP,e$,t$,eE,xA,n$,AA,o$,yA,oc=S(()=>{"use strict";J();YP={AGENT:"agent",HUMAN:"human"},_A={BUG:"bug",GAP:"gap",AMBIGUITY:"ambiguity",FEATURE_REQUEST:"feature_request",IMPROVEMENT:"improvement",EXPERIENCE:"experience"},_W=`<${Object.values(_A).join("|")}>`,hi={WEB:"web",ELECTRON:"electron",TAURI:"tauri"},XP={BLINK:"blink",GECKO:"gecko",WEBKIT:"webkit"},He={CHROME:"chrome",EDGE:"edge",ARC:"arc",DIA:"dia",BRAVE:"brave",OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",OTHER:"other"},qP={CDP:"cdp",SDK:"sdk"},ZP={USER:"user",PROJECT:"project"},QP=4e3,JP=8e3,e$=1,t$=5,eE=1e3,xA=254,n$=/^[^\s@,;<>]+@[^\s@,;<>]+\.[^\s@,;<>]+$/;AA=i.object({source:i.nativeEnum(YP),kind:i.nativeEnum(_A),text:i.string().min(1).max(QP),trace:i.string().max(JP).optional(),rating:i.number().int().min(e$).max(t$).optional(),need:i.string().max(eE).optional(),impact:i.string().max(eE).optional(),currentApproach:i.string().max(eE).optional(),model:i.string().min(1).max(64).optional(),clientVersion:i.string().min(1).max(32).optional(),stack:i.string().min(1).max(64).optional(),stackMajor:i.number().int().nonnegative().optional(),runtime:i.nativeEnum(hi).optional(),engine:i.nativeEnum(XP).optional(),driver:i.nativeEnum(qP).optional(),client:i.string().min(1).max(64).optional(),mcpScope:i.nativeEnum(ZP).optional(),contact:i.string().max(xA).refine(r$).optional()}),o$={COMPANY:"company",SIDE_PROJECT:"side_project",OPEN_SOURCE:"open_source",LEARNING:"learning"},yA=i.object({context:i.nativeEnum(o$),company:i.string().min(1).max(128).optional(),email:i.string().min(3).max(254).optional()})});var Br,Vr,lf,_d,tE,xd,St,Ls,i$,s$,OW,cf,a$,c$,l$,Sd,IW,vA=S(()=>{"use strict";J();Wt();vo();oc();Jg();hd();Br={SSE:"sse",WS:"ws",FETCH:"fetch"},Vr={OPEN:"open",IN:"in",OUT:"out",CLOSE:"close"},lf={UP:"up",DOWN:"down"},_d={PUSH:"push",REPLACE:"replace",POP:"pop"},tE="how",xd={INPUT:"input",CHANGE:"change",SETTLED:"settled"},St={FIELD:"field",KIND:"kind",LENGTH:"length",VALUE:"value",REDACTED:"redacted",CHECKED:"checked",PREVIOUS:"previous",PREVIOUS_CHECKED:"previousChecked"},Ls={LOCAL:"local",SESSION:"session",COOKIE:"cookies"},i$=i.object({name:i.string().describe("Cookie name."),value:i.string().describe("Cookie value."),domain:i.string().optional().describe("Cookie domain. Defaults to the navigation URL domain."),path:i.string().optional().describe('Cookie path. Defaults to "/".'),url:i.string().optional().describe("Cookie URL. Defaults to the navigation URL."),httpOnly:i.boolean().optional().describe("Whether the cookie is httpOnly."),secure:i.boolean().optional().describe("Whether the cookie is secure."),sameSite:i.enum(["Strict","Lax","None"]).optional().describe("SameSite policy."),expires:i.number().optional().describe("Unix timestamp in seconds for cookie expiration.")}),s$=i.union([i.record(i.string()),i.array(i$)]),OW=i.object({local:i.record(i.string()).optional().describe("Key-value pairs to seed into window.localStorage before first navigation."),session:i.record(i.string()).optional().describe("Key-value pairs to seed into window.sessionStorage before first navigation."),cookies:s$.optional().describe("Cookies to seed before first navigation: a name-value record scoped to the lease URL or an array of cookie objects.")}).strict(),cf=i.object({role:i.string().optional(),name:i.string().optional()}),a$=i.object({mimeType:i.string(),bytes:i.number(),filename:i.string().optional(),lines:i.number().optional(),preview:i.string().optional(),previewTruncated:i.boolean().optional()}).passthrough(),c$=i.object({transport:i.nativeEnum(Br),direction:i.nativeEnum(Vr),url:i.string(),urlRaw:i.string().optional()}).passthrough(),l$=i.object({id:i.string(),method:i.string(),url:i.string(),status:i.number(),ok:i.boolean(),durationMs:i.number(),initiator:i.string(),urlRaw:i.string().optional(),[qp]:i.string().optional(),[fd]:i.string().optional()}).passthrough(),Sd=i.object({message:i.string()}).passthrough(),IW={[x.DOM_ADDED]:cf,[x.DOM_REMOVED]:cf,[x.DOM_ATTR]:i.object({attr:i.string(),value:i.string().optional(),old:i.string().optional()}).passthrough(),[x.DOM_TEXT]:i.object({text:i.string(),old:i.string().optional(),testid:i.string().optional(),initial:i.boolean().optional()}),[x.NET_REQUEST]:l$,[x.NET_PENDING]:i.object({id:i.string(),method:i.string(),url:i.string(),initiator:i.string(),urlRaw:i.string().optional()}),[x.NET_STREAM]:c$,[x.DOWNLOAD]:a$,[x.PERF]:i.object({metric:i.nativeEnum(qa),value:i.number(),at:i.number(),shifted:i.object({ref:i.string(),selector:i.string()}).optional()}),[x.ROUTE_CHANGE]:i.object({from:i.string(),to:i.string(),pathname:i.string(),search:i.string(),hash:i.string(),[tE]:i.nativeEnum(_d),pattern:i.string().optional()}),[x.CONSOLE_LOG]:Sd,[x.CONSOLE_WARN]:Sd,[x.CONSOLE_ERROR]:Sd,[x.CONSOLE_INFO]:Sd,[x.CONSOLE_DEBUG]:Sd,[x.ERROR_UNCAUGHT]:i.object({message:i.string(),source:i.string().optional(),line:i.number().optional(),kind:i.string().optional()}).passthrough(),[x.VISIBLE_SHOWN]:cf,[x.ANIM_START]:i.object({name:i.string()}),[x.ANIM_END]:i.object({name:i.string()}),[x.SCROLL_POSITION]:i.object({x:i.number(),y:i.number(),percent:i.number(),direction:i.nativeEnum(lf)}),[x.REVEAL_SHOWN]:cf.passthrough(),[x.SIGNAL]:i.object({name:i.string(),data:i.unknown().optional()}),[x.STATE_CHANGE]:i.object({name:i.string(),value:i.unknown()}).passthrough(),[x.STORAGE_CHANGE]:i.object({area:i.nativeEnum(Ls),key:i.string(),old:i.string().optional(),new:i.string().optional()}),[x.PAGE_HEALTH]:i.object({hidden:i.boolean(),focused:i.boolean(),reason:i.string().optional(),brand:i.nativeEnum(He).optional(),runtime:i.string().optional(),engine:i.string().optional(),windowLabel:i.string().optional(),documentStatus:i.number().int().optional()}).passthrough(),[x.CONTEXT_OPENED]:i.object({href:i.string().optional()}).passthrough(),[x.DIALOG_OPENED]:i.object({kind:i.enum(["alert","confirm","prompt"]),message:i.string().optional(),answered:i.union([i.boolean(),i.null()]).optional()}).passthrough(),[x.RENDER_COMMIT]:i.object({commits:i.number()}),[x.FOCUS_CHANGE]:i.object({to:i.string().optional(),from:i.string().optional(),toBody:i.boolean()}),[x.FIELD_CHANGE]:i.object({[St.FIELD]:i.string(),[St.KIND]:i.nativeEnum(xd),[St.LENGTH]:i.number().int().nonnegative(),[St.VALUE]:i.string().optional(),[St.REDACTED]:i.literal(!0).optional(),[St.CHECKED]:i.boolean().optional(),[St.PREVIOUS]:i.string().optional(),[St.PREVIOUS_CHECKED]:i.boolean().optional()}),[x.FLOW_RECORDED]:i.object({name:i.string(),flow:i.unknown()}),[x.TRANSPORT_OVERFLOW]:i.object({dropped:i.number()}),[x.TRUNCATED]:i.object({channel:i.string(),dropped:i.number()}),[x.BLIND_SPOT]:i.object({kind:i.nativeEnum(Yt),count:i.number()}),[x.SDK_FAILED]:i.object({site:i.string().max(64),message:i.string().max(500),errorType:i.string().max(64).optional()}),[x.NET_DETAIL]:i.object({url:i.string(),method:i.string().optional(),status:i.number(),headers:i.record(i.string()),resourceType:i.string().optional()}).passthrough(),[x.HUMAN_CONTROL]:gA,[x.HUMAN_MARK]:bA,[x.HUD_USED]:EA,[x.MEDIA_STATE]:i.object({event:i.nativeEnum(id),tag:i.enum(["video","audio"]),currentTime:i.number(),duration:i.number().optional(),readyState:i.number().int().min(0).max(4),paused:i.boolean()}),[x.CANVAS_DIGEST]:i.object({digest:i.string(),width:i.number().int().nonnegative(),height:i.number().int().nonnegative(),mean:i.tuple([i.number(),i.number(),i.number()]),trigger:i.nativeEnum(xs).optional()})}});var kW,RA=S(()=>{"use strict";Wt();kW=new Set([x.NET_REQUEST,x.NET_PENDING,x.NET_STREAM,x.NET_DETAIL,x.CONSOLE_ERROR,x.CONSOLE_WARN,x.ERROR_UNCAUGHT,x.ROUTE_CHANGE,x.SIGNAL,x.STORAGE_CHANGE,x.FLOW_RECORDED,x.TRANSPORT_OVERFLOW,x.TRUNCATED,x.BLIND_SPOT])});var NA=S(()=>{"use strict"});var wA,OA=S(()=>{"use strict";wA=t=>t});var me,UW,FW,GW,IA=S(()=>{"use strict";nf();me={UI_ADVANCED_REQUEST_FAILED:"ui-advanced-request-failed",UI_ADVANCED_UNSIGNALLED:"ui-advanced-unsignalled",SIGNAL_CONTRADICTED:"signal-contradicted",RESPONSE_IGNORED:"response-ignored",SIGNAL_WITHOUT_CONSEQUENCE:"signal-without-consequence",STATE_VS_RENDER:"state-vs-render",CONSEQUENCE_ELSEWHERE:"consequence-elsewhere",DUPLICATE_REQUEST:"duplicate-request",DUPLICATE_REQUEST_UNRELATED:"duplicate-request-unrelated",SCREEN_REQUEST_MISMATCH:"screen-request-mismatch",STALE_RESPONSE_APPLIED:"stale-response-applied",PARTIAL_FAILURE_IN_OK_RESPONSE:"partial-failure-in-ok-response",UNIT_MISMATCH:"unit-mismatch",PAGINATION_NOT_FETCHED:"pagination-not-fetched",WRITE_FIELD_IGNORED:"write-field-ignored",REQUEST_NEVER_SETTLED:"request-never-settled",FAILURE_MISATTRIBUTED:"failure-misattributed",ACTION_HAD_NO_EFFECT:"action-had-no-effect",ROUTE_RENDERED_NOTHING:"route-rendered-nothing",ROUTE_RENDERED_NOTHING_CRASHED:"route-rendered-nothing-crashed",EVIDENCE_SUPERSEDED:"evidence-superseded",EVIDENCE_PREDATES_EDIT:"evidence-predates-edit"},UW=new Set([me.REQUEST_NEVER_SETTLED,me.UI_ADVANCED_UNSIGNALLED,me.RESPONSE_IGNORED,me.SIGNAL_WITHOUT_CONSEQUENCE,me.STATE_VS_RENDER,me.CONSEQUENCE_ELSEWHERE,me.ROUTE_RENDERED_NOTHING,me.ACTION_HAD_NO_EFFECT,me.DUPLICATE_REQUEST,me.EVIDENCE_SUPERSEDED,me.EVIDENCE_PREDATES_EDIT]),FW=new Set([me.DUPLICATE_REQUEST_UNRELATED,me.SCREEN_REQUEST_MISMATCH]),GW={[me.UI_ADVANCED_REQUEST_FAILED]:[R.UI,R.NET],[me.UI_ADVANCED_UNSIGNALLED]:[R.UI,R.NET],[me.SIGNAL_CONTRADICTED]:[R.SIGNAL,R.NET],[me.RESPONSE_IGNORED]:[R.NET,R.UI],[me.SIGNAL_WITHOUT_CONSEQUENCE]:[R.SIGNAL,R.NET],[me.STATE_VS_RENDER]:[R.STATE,R.UI],[me.CONSEQUENCE_ELSEWHERE]:[R.NET,R.UI],[me.DUPLICATE_REQUEST]:[R.NET,R.NET],[me.DUPLICATE_REQUEST_UNRELATED]:[R.NET,R.NET],[me.SCREEN_REQUEST_MISMATCH]:[R.UI,R.NET],[me.STALE_RESPONSE_APPLIED]:[R.NET,R.UI],[me.PARTIAL_FAILURE_IN_OK_RESPONSE]:[R.NET,R.NET],[me.UNIT_MISMATCH]:[R.UI,R.NET],[me.PAGINATION_NOT_FETCHED]:[R.UI,R.NET],[me.WRITE_FIELD_IGNORED]:[R.NET,R.NET],[me.REQUEST_NEVER_SETTLED]:[R.TIME,R.NET],[me.FAILURE_MISATTRIBUTED]:[R.UI,R.NET],[me.ACTION_HAD_NO_EFFECT]:[R.NET,R.UI],[me.ROUTE_RENDERED_NOTHING]:[R.ROUTE,R.NET],[me.ROUTE_RENDERED_NOTHING_CRASHED]:[R.ROUTE,R.LOG],[me.EVIDENCE_SUPERSEDED]:[R.TIME,R.UI],[me.EVIDENCE_PREDATES_EDIT]:[R.TIME,R.UI]}});var Ro,df,jW,KW,CA=S(()=>{"use strict";Wt();Ro="__reticleIpc",df="reticle_capture",jW=Xa.FULL_PAGE_UNSUPPORTED,KW=Xa.NOT_COMPOSITED});var LA=S(()=>{"use strict"});var kA=S(()=>{"use strict"});var DA=S(()=>{"use strict"});function MA(t){return t===ic.CALM||t===ic.WAITING||t===ic.ASK||t===ic.WARN}var ic,PA,qW,ZW,$A=S(()=>{"use strict";ic={CALM:"calm",WAITING:"waiting",ASK:"ask",WARN:"warn"};PA="note that a lease is a SEPARATE context: the human watching this tab sees nothing of what you do there, so prefer this tab while someone is following along",qW='tab hidden and may be un-focusable from here; timers and rAF are clamped in a background tab, so an action can land on a page that never advances. Refocus it, or acquire a guaranteed scriptable context yourself with `reticle_run { tool: "reticle_lease", args: { action: "acquire", url } }` (a human can equivalently run `reticle drive <url>`) \u2014 '+PA,ZW="tab is not hidden but has not reported health recently \u2014 usually a quiet page rather than a stuck one, and very often still driveable. This is also the tab a human can see, so try it first. Timing-sensitive work (animations, debounces, gestures) is what degrades: pass `refuseWhenThrottled: true` to refuse rather than act over events that may not land. Lease a separate context only if a drive here actually fails; "+PA});var HA,d$,r9,o9,i9,UA=S(()=>{"use strict";J();Wt();vo();yo();HA=1,d$=i.object({harness:i.string().min(1).max(G.MAX_REF_LENGTH),driver:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),persona:i.string().max(1e3).optional()}),r9=i.object({v:i.literal(HA),actionId:i.string().min(1).max(G.MAX_REF_LENGTH),tool:i.string().min(1).max(G.MAX_COMMAND_NAME_LENGTH),args:i.record(i.unknown()).default({}),effect:i.unknown().optional(),settled:i.boolean().optional(),settledInMs:i.number().int().min(0).optional(),seqRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}).optional(),tRange:i.object({from:i.number().int().min(0),to:i.number().int().min(0)}),at:i.number().int().min(0),drivenBy:d$.optional(),agent:i.string().min(1).max(G.MAX_REF_LENGTH).optional()}),o9=i.object({v:i.literal(HA),channel:i.literal(Bp.JOURNAL),capBytes:i.number().int().min(1).optional(),bytesOnDisk:i.number().int().min(0).optional(),droppedInBatch:i.number().int().min(0).optional(),at:i.number().optional()}),i9=i.object({claim:i.string().min(1).max(G.MAX_STRING_LENGTH),verified:i.nativeEnum(xn),source:i.string().max(G.MAX_URL_LENGTH).optional(),observed:i.string().max(G.MAX_STRING_LENGTH).optional(),expected:i.string().max(G.MAX_STRING_LENGTH).optional(),kind:i.nativeEnum(I).optional(),declaredBeforeActing:i.boolean().optional(),net:i.array(i.object({method:i.string().max(G.MAX_COMMAND_NAME_LENGTH),url:i.string().max(G.MAX_URL_LENGTH),status:i.number().optional(),body:i.string().max(G.MAX_STRING_LENGTH).optional()})).max(5).optional(),grade:i.string().max(G.MAX_STRING_LENGTH).optional(),couldNotSee:i.array(i.string().max(G.MAX_STRING_LENGTH)).optional(),reason:i.string().max(G.MAX_STRING_LENGTH).optional(),intent:i.string().max(G.MAX_STRING_LENGTH).optional(),intentDerived:i.boolean().optional(),failedPart:i.number().int().min(0).optional()})});var FA=S(()=>{"use strict"});var l9,GA=S(()=>{"use strict";J();l9=i.object({port:i.number(),pid:i.number(),cwd:i.string(),projectId:i.string().optional(),startedAt:i.number()})});var p9,BA=S(()=>{"use strict";J();p9=i.object({port:i.number(),pid:i.number(),root:i.string(),url:i.string(),sdkVersion:i.string().min(1).optional(),startedAt:i.number(),projectId:i.string().optional()})});var u$,m9,VA=S(()=>{"use strict";J();u$=i.object({directory:i.string().min(1),lastSeenAt:i.number()}),m9=i.object({version:i.literal(1),projects:i.record(i.string(),u$)})});var p$,nE,f$,h$,m$,b9,jA=S(()=>{"use strict";J();p$=1,nE={DECLARED:"declared",BOUND:"bound",PROVED:"proved"},f$=i.object({route:i.string().optional(),flow:i.string().optional(),files:i.array(i.string()).optional()}),h$=i.object({verdictId:i.string(),grade:i.string(),at:i.number(),runId:i.string().optional()}),m$=i.object({id:i.string().min(1),statement:i.string().min(1),state:i.enum([nE.DECLARED,nE.BOUND,nE.PROVED]),declaredAt:i.number(),binding:i.unknown().optional(),surface:f$.optional(),provenBy:h$.optional(),amended:i.array(i.object({statement:i.string(),at:i.number()})).optional()}),b9=i.object({version:i.literal(p$),intents:i.record(i.string(),m$)})});var KA=S(()=>{"use strict"});function Ad(t){return g$[t]}var tt,g$,E$,x9,rE=S(()=>{"use strict";J();tt={NO_SOURCE_MAPPING:"no-source-mapping",NO_STORE_REGISTERED:"no-store-registered",NO_SIGNAL_ON_MUTATION:"no-signal-on-mutation",UNDECLARED_CONTROL:"undeclared-control",MISSING_TESTID:"missing-testid",UNDECLARED_CHANGE:"undeclared-change",INTENT_UNDISCHARGED:"intent-undischarged",NO_FLOW_INTENT:"no-flow-intent",SOURCE_MAPPING_OFF:"source-mapping-off"},g$={[tt.NO_SOURCE_MAPPING]:"add the Reticle build plugin (@reticlehq/vite-plugin, @reticlehq/next, or the babel plugin) so elements carry data-reticle-source",[tt.NO_STORE_REGISTERED]:"import { registerStore } from '@reticlehq/browser' and call registerStore(name, store) with a subscribable store so its changes are observed; a bare getter is readable but does not report changes. For component-local React state, import { useReticleStore } from '@reticlehq/react/store' and call useReticleStore(name, value), assert the DOM, or read it with reticle_look { action: 'state', ref: '...' }",[tt.NO_SIGNAL_ON_MUTATION]:"fire reticle.signal(name, data) where this state is committed \u2014 commitAndSignal binds the two so they cannot drift",[tt.UNDECLARED_CONTROL]:"add this control to reticle.describe() so the capability contract matches what the app actually exposes",[tt.MISSING_TESTID]:'add data-testid="..." on this control so the flow can name it after a refactor',[tt.UNDECLARED_CHANGE]:'declare it with reticle_intent { action: "declare", intents: [{ id, statement }] } \u2014 the statement is prose, in your own words: which user does what, and what should become true',[tt.INTENT_UNDISCHARGED]:'draw a verdict whose `until` asserts the intent itself, then it discharges \u2014 or call reticle_run({ tool: "reticle_context" }) to see exactly what is still owed',[tt.SOURCE_MAPPING_OFF]:"nothing to install \u2014 this build has sourceMapping turned off, so no element carries data-reticle-source. Re-enable it in the Reticle plugin options unless this app renders through a non-DOM reconciler (react-three-fiber, react-pdf, ink), where the stamp is what would break it",[tt.NO_FLOW_INTENT]:'save it again with intent: "<which user does what, and what should become true>" \u2014 prose, in your own words \u2014 or set intentId to an intent already in the ledger'};E$={PIXELS_UNOBSERVED:"pixels-unobserved",CLAIM_ARITHMETIC_UNCHECKED:"claim-arithmetic-unchecked"},x9=i.object({kind:i.nativeEnum(E$),detail:i.string().min(1)})});var No,WA,w9,O9,zA=S(()=>{"use strict";J();ec();rE();Fg();No={PAGE_CONNECTED:"page connected",DOM_ACTIONS:"DOM actions",NETWORK:"network",CONSOLE:"console",APP_STATE:"app state (store registered)",SIGNALS:"signals on mutation",SOURCE_MAPPING:Jp,TEST_IDS:"stable test ids"},WA="run `npx @reticlehq/server init` in the app so its pages connect to Reticle in development",w9=[{capability:No.PAGE_CONNECTED,gaps:[],cost:"no page has connected, so nothing can be verified",fix:WA},{capability:No.DOM_ACTIONS,channel:R.UI,always:!0,gaps:[],cost:"controls cannot be driven or read",fix:WA},{capability:No.NETWORK,channel:R.NET,always:!0,gaps:[],cost:"requests cannot be asserted, so a save that never reached the server can pass",fix:"update @reticlehq/browser so the page reports its network channel"},{capability:No.CONSOLE,channel:R.LOG,always:!0,gaps:[],cost:"errors thrown in the page are invisible to a verdict",fix:"update @reticlehq/browser so the page reports its console channel"},{capability:No.APP_STATE,channel:R.STATE,gaps:[tt.NO_STORE_REGISTERED],cost:"state predicates fall back to reading the DOM",fix:Ad(tt.NO_STORE_REGISTERED)},{capability:No.SIGNALS,channel:R.SIGNAL,gaps:[tt.NO_SIGNAL_ON_MUTATION],cost:"the app never says it succeeded, so every verdict infers success from the DOM",fix:Ad(tt.NO_SIGNAL_ON_MUTATION)},{capability:No.SOURCE_MAPPING,channel:Cs.SOURCE,gaps:[tt.NO_SOURCE_MAPPING,tt.SOURCE_MAPPING_OFF],perControl:[tt.NO_SOURCE_MAPPING],cost:"a broken control is named, never the line that renders it",fix:Ad(tt.NO_SOURCE_MAPPING)},{capability:No.TEST_IDS,channel:Cs.TESTID,gaps:[tt.MISSING_TESTID],cost:"a saved flow loses its controls after a refactor",fix:Ad(tt.MISSING_TESTID)}],O9=i.array(i.nativeEnum(No)).max(8)});var YA=S(()=>{"use strict"});function b$(t){return Array.isArray(t)||typeof t=="string"}function T$(t){if(Array.isArray(t))return{keys:[...t.slice(0,49).map((n,r)=>String(r)),oE],total:t.length+1};if(typeof t=="string")return{keys:[oE],total:1};if(t instanceof Map){let e=[],n=0;for(let r of t.keys())n+=1,typeof r=="string"&&e.length<49&&e.push(r);return t.has(yd)?{keys:e,total:n}:{keys:[...e,yd],total:n+1}}if(t instanceof Set){let e=[];for(let n of t)typeof n=="string"&&e.length<49&&e.push(n);return{keys:[...e,yd],total:t.size+1}}if(typeof t=="object"&&t!==null){let e=Object.keys(t);return{keys:e.slice(0,50),total:e.length}}return{keys:[],total:0}}function uf(t){let{keys:e,total:n}=T$(t);return{found:!1,value:null,availableKeys:e,...n>e.length?{totalKeys:n}:{}}}function XA(t,e){let n=e.split(".").filter(o=>o.length>0),r=t;for(let o of n){if(oE===o&&b$(r)){r=r.length;continue}if(Array.isArray(r)){let s=Number(o);if(!Number.isInteger(s)||s<0||String(s)!==o||s>=r.length)return uf(r);r=r[s];continue}if(r instanceof Map){if(r.has(o)){r=r.get(o);continue}if(yd===o){r=r.size;continue}return uf(r)}if(r instanceof Set){if(yd===o){r=r.size;continue}if(r.has(o)){r=!0;continue}return uf(r)}if(typeof r=="object"&&r!==null&&Object.hasOwn(r,o)){r=r[o];continue}return uf(r)}return{found:!0,value:r}}function sc(t,e){if(e<0)return t;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Set)return e===0?`[Set(${String(t.size)})]`:[...t].map(n=>sc(n,e-1));if(t instanceof Map){if(e===0)return`{Map(${String(t.size)})}`;let n=Object.create(null);for(let[r,o]of t)n[String(r)]=sc(o,e-1);return n}if(Array.isArray(t))return e===0?`[Array(${String(t.length)})]`:t.map(n=>sc(n,e-1));if(typeof t=="object"&&t!==null){let n=Object.keys(t);if(e===0)return`{\u2026${String(n.length)} keys}`;let r=Object.create(null);for(let o of n)r[o]=sc(t[o],e-1);return r}return t}var oE,yd,qA=S(()=>{"use strict";oE="length";yd="size"});var D9,M9,ZA=S(()=>{"use strict";Wt();D9={[ue.ENABLED]:"en",[ue.DISABLED]:"dis",[ue.CHECKED]:"chk",[ue.EXPANDED]:"exp",[ue.PRESSED]:"prs",[ue.FOCUSED]:"focus"},M9=new Set([ue.PRESENT,ue.VISIBLE,ue.HIDDEN])});var ks,H9,U9,QA=S(()=>{"use strict";J();ks={SHARE_PROOF:"share_proof",RUN_HISTORY:"run_history",TEAM_REVIEW:"team_review",CORPUS_HEAL:"corpus_heal",CI_GATE:"ci_gate",HOSTED_RUNNER:"hosted_runner"},H9=i.object({capability:i.nativeEnum(ks),reason:i.string(),unlockedBy:i.string(),learnMoreUrl:i.string().url()}),U9={[ks.SHARE_PROOF]:{reason:"Sharing a verification result with a teammate needs a hosted, linkable proof page.",unlockedBy:"Link a free Reticle Cloud account (reticle connect), then share the run."},[ks.RUN_HISTORY]:{reason:"Run history beyond this session lives in the hosted dashboard; local keeps only a buffer.",unlockedBy:"Link a free Reticle Cloud account to keep run history and trends."},[ks.TEAM_REVIEW]:{reason:"A shared review queue of pinned mistakes is a team feature \u2014 it needs a hosted store.",unlockedBy:"Add your team to Reticle Cloud to share a review queue."},[ks.CORPUS_HEAL]:{reason:"Corpus-ranked heal uses refactor outcomes learned across the fleet, served from the cloud.",unlockedBy:"Enable the hosted heal service on Reticle Cloud."},[ks.CI_GATE]:{reason:"Verify-before-merge is a governance gate that runs in your CI against a hosted policy.",unlockedBy:"Configure the Reticle Cloud CI gate for your repository."},[ks.HOSTED_RUNNER]:{reason:"Verifying without a local browser (CI, a background agent, or a deployed URL) needs a browser we run for you.",unlockedBy:"Link a Reticle Cloud account to run verifications on hosted browsers."}}});var vd,JA,ey,ty,S$,ny,ry=S(()=>{"use strict";J();vd={INSTALL:"install",ONBOARD:"onboard",FIRST_RUN:"first_run"},JA={STARTED:"started",COMPLETED:"completed",FAILED:"failed",ABANDONED:"abandoned",SKIPPED:"skipped"},ey={[vd.INSTALL]:["script_started","runtime_ready","cli_installed","agents_detected","mcp_registered"],[vd.ONBOARD]:["tour_started","concept_shown","first_look","first_act","first_verdict"],[vd.FIRST_RUN]:["project_detected","next_step_offered","instrumented","app_connected","driven","flow_recorded","verdict_produced"]},ty={LEASE:"lease",INIT_CONSENT:"init_consent"},S$=Object.values(ey).flatMap(t=>[...t]),ny=i.object({phase:i.nativeEnum(vd),step:i.enum(S$),status:i.nativeEnum(JA),elapsedMs:i.number().int().nonnegative().optional(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),unattended:i.boolean().optional(),firstEver:i.boolean().optional(),offered:i.nativeEnum(ty).optional(),nextFollowed:i.boolean().optional()})});var oy,iE=S(()=>{"use strict";oy={AUTH_REFUSED:"auth_refused",LEASE_EXPIRED:"lease_expired",TAB_GONE:"tab_gone",NAVIGATED_AWAY:"navigated_away",ROUTE_SERVER_ERROR:"route_server_error",APP_NOT_REOPENED:"app_not_reopened",CONFIG_ELSEWHERE:"config_elsewhere",NO_LISTENER_NO_CONFIG:"no_listener_no_config",NO_LISTENER:"no_listener",NO_CONFIG:"no_config",SDK_NOT_REACHING_DAEMON:"sdk_not_reaching_daemon"}});var _$,iy,sE=S(()=>{"use strict";J();iE();_$={NO_SESSION:"no_session",NO_MATCH:"no_match",UNSUPPORTED:"unsupported",BAD_ARGS:"bad_args",NOT_READY:"not_ready",OTHER:"other"},iy=i.object({tool:i.string().min(1).max(64),reason:i.nativeEnum(_$),noSessionReason:i.nativeEnum(oy).optional(),retried:i.boolean()})});var x$,ay,Y9,sy,A$,y$,aE,v$,R$,cy,N$,w$,ly,cE=S(()=>{"use strict";J();x$={CONNECT:"connect",CLOSE_GAPS:"close_gaps",SWITCH_ON:"switch_on",EXPLORE:"explore"},ay={B0:"0-19",B20:"20-39",B40:"40-59",B60:"60-79",B80:"80-100"},Y9=Object.values(ay),sy=i.object({fingerprint:i.string().min(1).max(64),count:i.number().int().nonnegative(),message:i.string().max(300),tool:i.string().max(64).optional()}),A$={NONE:"none",LOCAL_ONLY:"local_only",REMOTE:"remote"},y$={GITHUB:"github",GITLAB:"gitlab",BITBUCKET:"bitbucket",AZURE:"azure",SOURCEHUT:"sourcehut",CODEBERG:"codeberg",SELF_HOSTED:"self_hosted"},aE=i.object({rssMb:i.number().int().nonnegative(),heapUsedMb:i.number().int().nonnegative(),freeMemMb:i.number().int().nonnegative(),totalMemMb:i.number().int().nonnegative(),load1x100:i.number().int().nonnegative(),cpuCount:i.number().int().nonnegative()}),v$=i.object({totalMs:i.number().int().nonnegative(),maxMs:i.number().int().nonnegative()}),R$=i.object({attempts:i.number().int().nonnegative(),successes:i.number().int().nonnegative(),failures:i.record(i.string(),i.number().int().nonnegative()).optional()}),cy=i.object({durationMs:i.number().int().nonnegative(),toolCalls:i.number().int().nonnegative(),toolCounts:i.record(i.string(),i.number().int().nonnegative()),toolErrors:i.number().int().nonnegative(),errors:i.array(sy).max(40).optional(),sdkFailures:i.number().int().nonnegative().optional(),sdkErrors:i.array(sy).max(40).optional(),verifications:i.number().int().nonnegative(),bugsFound:i.number().int().nonnegative().optional(),bugKinds:i.record(i.string(),i.number().int().nonnegative()).optional(),toolParams:i.record(i.string(),i.record(i.string(),i.number().int().nonnegative())).optional(),connections:i.record(i.string(),R$).optional(),toolTiming:i.record(i.string(),v$).optional(),busyMs:i.number().int().nonnegative().optional(),browserMs:i.number().int().nonnegative().optional(),browserCommands:i.number().int().nonnegative().optional(),peakConcurrentTools:i.number().int().nonnegative().optional(),unknownToolCalls:i.number().int().nonnegative().optional(),unknownTools:i.record(i.string().max(64),i.number().int().nonnegative()).optional(),noSessionErrors:i.number().int().nonnegative().optional(),postSocketFailures:i.number().int().nonnegative().optional(),postRetriesSaved:i.number().int().nonnegative().optional(),consecutiveRepeats:i.record(i.number().int().positive()).optional(),abandonedActions:i.number().int().nonnegative().optional(),machine:aE.optional(),clients:i.array(i.string().max(64)).max(8).optional(),clientVersions:i.record(i.string().max(64),i.string().max(32)).optional(),surface:i.string().max(32).optional(),appConnects:i.number().int().nonnegative().optional(),msToFirstApp:i.number().int().nonnegative().optional(),sdkVersion:i.string().min(1).max(32).optional(),toolCallsBeforeApp:i.number().int().nonnegative().optional(),endReason:i.enum(["never_used","explored","abandoned","verified","client_left"]).optional(),feedbackPrompted:i.number().int().nonnegative().optional(),errorClasses:i.record(i.string().max(16),i.number().int().nonnegative()).optional(),errorsRecovered:i.number().int().nonnegative().optional(),errorsRepeated:i.number().int().nonnegative().optional(),endedWithVerdict:i.boolean().optional(),lifetimeToolCalls:i.number().int().nonnegative().optional(),lifetimeVerifications:i.number().int().nonnegative().optional(),lifetimeBugsFound:i.number().int().nonnegative().optional(),updateNudged:i.boolean().optional(),updateOffered:i.string().max(32).optional(),hudControls:i.record(i.number()).optional(),hudViewMs:i.record(i.number()).optional(),hudPanelMs:i.record(i.number()).optional(),hudSlides:i.record(i.number()).optional(),hudJourney:i.array(i.string().max(64)).max(60).optional(),hudJourneyCut:i.literal(!0).optional(),nudgesShown:i.record(i.nativeEnum(x$),i.number().int().positive()).optional(),harnessRefusedCoverage:i.record(i.nativeEnum(ay),i.number().int().positive()).optional(),final:i.boolean(),exit:i.enum(["idle","signal","unknown"]).optional()}),N$={TINY:"tiny",SMALL:"small",MEDIUM:"medium",LARGE:"large",HUGE:"huge"},w$={NO_APP_FOUND:"no_app_found",MANIFEST_UNRECOGNISED:"manifest_unrecognised",WORKSPACE_APPS_UNRECOGNISED:"workspace_apps_unrecognised",WORKSPACE_ROOT_NO_APPS:"workspace_root_no_apps",DISCOVERY_FAILED:"discovery_failed"},ly=i.object({stack:i.string().min(1).max(64).optional(),stackSource:i.enum(["cwd","workspace"]).optional(),stackUnknownReason:i.nativeEnum(w$).optional(),stackMajor:i.number().int().nonnegative().optional(),size:i.nativeEnum(N$).optional(),monorepo:i.boolean().optional(),git:i.nativeEnum(A$),forge:i.nativeEnum(y$).optional(),ageWeeks:i.number().int().nonnegative().optional(),flowCount:i.number().int().nonnegative(),baselineCount:i.number().int().nonnegative(),visualBaselineCount:i.number().int().nonnegative(),runCount:i.number().int().nonnegative(),hasContract:i.boolean(),initialized:i.boolean().optional(),appConnectedBefore:i.boolean().optional(),capsuleCount:i.number().int().nonnegative(),featuresUsed:i.array(i.string().max(32)).max(24),featureDepth:i.number().min(0).max(1)})});var dy,lE=S(()=>{"use strict";dy={ACTIVE:"active",MISSING:"missing",INVALID:"invalid",EXPIRED:"expired",EVAL:"eval"}});var O$,I$,C$,dE,L$,k$,D$,M$,P$,$$,H$,U$,uy,py,F$,G$,B$,V$,j$,fy,uE=S(()=>{"use strict";J();Ed();O$={SIGNED_OUT:"signed_out",SIGNED_IN:"signed_in",LINKED:"linked"},I$={CLAUDE_CODE:"claude_code",CLAUDE_DESKTOP:"claude_desktop",CODEX:"codex",CURSOR:"cursor",GEMINI_CLI:"gemini_cli",ANTIGRAVITY:"antigravity",WINDSURF:"windsurf",CLINE:"cline",OPENCODE:"opencode",ZED:"zed",VSCODE:"vscode",OTHER:"other"},C$={NPX:"npx",GLOBAL:"global",PROJECT:"project",OTHER:"other"},dE={ZERO:"0",ONE:"1",TWO_THREE:"2-3",FOUR_NINE:"4-9",TEN_PLUS:"10+"},L$=i.object({view:i.nativeEnum(Tt).optional(),surface:i.nativeEnum(fi).optional(),tabs:i.nativeEnum(dE).optional()}),k$={CONNECT:"connect",HUD:"hud",LINK:"link"},D$=i.object({via:i.nativeEnum(k$)}),M$={STARTED:"started",COMPLETED:"completed"},P$={PROVED:"proved",NOT_PROVED:"not_proved",FAILED:"failed",BLOCKED:"blocked",STOPPED:"stopped"},$$={NOT_LINKED:"not_linked",PLATFORM_UNREACHABLE:"platform_unreachable",HARNESS_OFF:"harness_off",NO_CREDITS:"no_credits",NOT_ENTITLED:"not_entitled",COVERAGE_GATE:"coverage_gate",VERSION_SKEW:"version_skew",BROKEN:"broken",OTHER:"other"},H$={AGENT:"agent",HUD:"hud",DASHBOARD:"dashboard",CLI_TRY:"cli_try",PLAN:"plan"},U$=i.object({phase:i.nativeEnum(M$),source:i.nativeEnum(H$),hosted:i.boolean(),outcome:i.nativeEnum(P$).optional(),journeys:i.nativeEnum(dE).optional(),replayed:i.nativeEnum(dE).optional(),reason:i.nativeEnum($$).optional()}),uy={accountState:i.nativeEnum(O$).optional(),linked:i.boolean().optional(),workspaceId:i.string().min(1).max(128).optional(),client:i.nativeEnum(I$).optional(),launch:i.nativeEnum(C$).optional(),hud:L$.optional(),link:D$.optional(),harness:U$.optional()},py={ECONNRESET:"ECONNRESET",ECONNREFUSED:"ECONNREFUSED",EPIPE:"EPIPE",ETIMEDOUT:"ETIMEDOUT",OTHER:"other"},F$={STDIN_END:"stdin_end",IDLE:"idle",CLIENT_GONE_STORM:"client_gone_storm",WAKE_FAILED:"wake_failed"},G$=i.object({reason:i.nativeEnum(F$),uptimeMs:i.number().int().nonnegative(),drops:i.number().int().nonnegative(),toolCalls:i.number().int().nonnegative(),proxyId:i.string().min(1).max(64).optional()}),B$=i.object({ageMs:i.number().int().nonnegative()}),V$={FOREIGN:"foreign",OTHER_PROJECT:"other_project"},j$=i.object({presence:i.nativeEnum(V$)}),fy={proxyExit:G$.optional(),daemonDeath:B$.optional(),wakeRefusal:j$.optional()}});var K$,W$,hy,pE=S(()=>{"use strict";J();K$={CONTRADICTION:"contradiction",CRAWL:"crawl",REPLAY:"replay",ASSERTION:"assertion"},W$={APP:"app",REQUEST:"request",RETICLE:"reticle",UNCLASSIFIED:"unclassified"},hy=i.object({source:i.nativeEnum(K$),kind:i.string().min(1).max(64),falseGreen:i.boolean(),tool:i.string().min(1).max(64).optional(),repeat:i.boolean(),attribution:i.nativeEnum(W$),fingerprint:i.string().max(16).optional(),occurrence:i.number().int().positive().optional()})});var z$,qt,pz,Y$,X$,q$,Z$,Q$,my,J$,e2,t2,n2,r2,o2,i2,s2,a2,c2,l2,fz,gy=S(()=>{"use strict";J();ry();sE();cE();oc();vo();oc();lE();uE();pE();pE();z$=3,qt={RETICLE_INSTALLED:"reticle_installed",CLI_COMMAND_RUN:"cli_command_run",DAEMON_STARTED:"daemon_started",DAEMON_STOPPED:"daemon_stopped",SESSION_PROGRESS:"session_progress",VERIFICATION_COMPLETED:"verification_completed",PROJECT_PROFILED:"project_profiled",VERSION_CHANGED:"version_changed",RUNTIME_CRASHED:"runtime_crashed",FEEDBACK_SUBMITTED:"feedback_submitted",IDENTIFIED:"identified",MCP_CLIENT_CONNECTED:"mcp_client_connected",APP_INSTRUMENTED:"app_instrumented",MCP_CONNECTION_LOST:"mcp_connection_lost",MCP_PROXY_EXITED:"mcp_proxy_exited",DAEMON_DIED_UNCLEAN:"daemon_died_unclean",WAKE_REFUSED:"wake_refused",INIT_COMPLETED:"init_completed",ONBOARDING_STEP:"onboarding_step",BUG_FOUND:"bug_found",TOOL_REFUSED:"tool_refused",HUD_VIEWED:"hud_viewed",HUD_SIGNIN_PROMPTED:"hud_signin_prompted",PLATFORM_LINKED:"platform_linked",HARNESS_RUN:"harness_run"},pz=new Set([qt.DAEMON_STARTED,qt.DAEMON_STOPPED,qt.SESSION_PROGRESS,qt.MCP_CLIENT_CONNECTED,qt.APP_INSTRUMENTED,qt.PROJECT_PROFILED,qt.VERIFICATION_COMPLETED,qt.BUG_FOUND,qt.RUNTIME_CRASHED,qt.FEEDBACK_SUBMITTED,qt.TOOL_REFUSED,qt.HUD_VIEWED,qt.HUD_SIGNIN_PROMPTED,qt.HARNESS_RUN]),Y$={HUMAN:"human",AGENT:"agent"},X$={GIT_ORIGIN:"git_origin",GIT_ROOT:"git_root",PACKAGE_ROOT:"package_root",CWD:"cwd"},q$={HARNESS:"harness"},Z$=i.object({via:i.string().min(1).max(64),verified:i.string().min(1).max(16),passed:i.boolean(),falseGreenCaught:i.boolean(),durationMs:i.number().int().nonnegative().optional(),browser:i.string().min(1).max(16).optional(),brand:i.nativeEnum(He).optional(),reason:i.nativeEnum(ze).optional(),uncleanLoss:i.nativeEnum(J_).optional(),driven:i.nativeEnum(q$).optional(),sdkVersion:i.string().min(1).max(32).optional()}),Q$=i.object({from:i.string().min(1).max(64),to:i.string().min(1).max(64),nudged:i.boolean().optional(),direction:i.string().min(1).max(16)}),my={RETICLE:"reticle",OTHER:"other"},J$=i.object({kind:i.string().min(1).max(32),errorType:i.string().min(1).max(64).optional(),fingerprint:i.string().min(1).max(64).optional(),message:i.string().max(300).optional(),frames:i.array(i.string().max(120)).max(12).optional(),tool:i.string().min(1).max(64).optional(),breadcrumb:i.array(i.string().max(64)).max(12).optional(),nodeVersion:i.string().max(24).optional(),arch:i.string().max(16).optional(),machine:aE.optional(),syscall:i.string().max(32).optional(),errno:i.string().max(32).optional(),loopback:i.boolean().optional(),port:i.enum([my.RETICLE,my.OTHER]).optional(),internalFrame:i.string().max(64).optional()}),e2=i.object({reconnect:i.boolean(),daemonAgeMs:i.number().int().nonnegative(),client:i.string().min(1).max(64).optional(),appConnected:i.boolean().optional(),proxyId:i.string().min(1).max(64).optional()}),t2=i.object({initialized:i.boolean(),agentAttached:i.boolean(),msToFirstApp:i.number().int().nonnegative(),firstEver:i.boolean().optional()}),n2={FIRST:"first",BUDGET_SPENT:"budget_spent",RECOVERED:"recovered"},r2={SSE_ENDED:"sse_ended",DAEMON_SHUTDOWN:"daemon_shutdown",SSE_ERROR:"sse_error",SSE_ABORTED:"sse_aborted",SSE_CLOSED:"sse_closed",CONNECT_ERROR:"connect_error",SSE_RESET:"sse_reset",OTHER:"other"},o2=i.object({stage:i.nativeEnum(n2),reason:i.nativeEnum(r2),attempts:i.number().int().nonnegative(),pendingLost:i.number().int().nonnegative().optional(),errCode:i.nativeEnum(py).optional(),responded:i.boolean().optional(),proxyId:i.string().min(1).max(64).optional()}),i2={SKILL_FILE:"skill_file",NPX_SKILL:"npx_skill",PLUGIN:"plugin",INSTALL_SCRIPT:"install_script",DOCS_SITE:"docs_site",README:"readme",BLOG:"blog",CLI_DIRECT:"cli_direct",UNKNOWN:"unknown"},s2={CONTAINER:"container",HOSTED_WORKSPACE:"hosted_workspace",CI_RUNNER:"ci_runner",AGENT_SANDBOX:"agent_sandbox"},a2={CONNECTED:"connected",NO_DAEMON:"no_daemon",NO_SESSION:"no_session",NO_PAGE:"no_page"},c2={NO_DEV_COMMAND:"no_dev_command",SPLIT_LOOPBACK:"split_loopback",PORT_BUSY:"port_busy",DEV_SERVER_EXITED:"dev_server_exited",NO_URL:"no_url",NOT_READY:"not_ready",PAGE_NOT_SERVED:"page_not_served",PAGE_TLS_REFUSED:"page_tls_refused",SDK_MISSING:"sdk_missing",NO_SESSION:"no_session",DESKTOP_NO_SESSION:"desktop_no_session"},l2=i.object({ok:i.boolean(),reason:i.string().max(64).optional(),stack:i.string().max(64).optional(),mcpRegistered:i.boolean().optional(),confirmation:i.nativeEnum(a2).optional(),stop:i.nativeEnum(c2).optional()}),fz=i.object({v:i.literal(z$),anonymousId:i.string().min(1).max(128),projectId:i.string().min(1).max(128).optional(),sessionId:i.string().min(1).max(64).optional(),event:i.nativeEnum(qt),ts:i.number().int().nonnegative(),version:i.string().min(1).max(64),ci:i.boolean(),automation:i.nativeEnum(s2).optional(),projectIdSource:i.nativeEnum(X$).optional(),os:i.string().min(1).max(32),tzOffsetMin:i.number().int().min(-900).max(900).optional(),internal:i.boolean().optional(),idEphemeral:i.boolean().optional(),feedback:AA.optional(),actor:i.nativeEnum(Y$).optional(),command:i.string().min(1).max(32).optional(),flags:i.array(i.string().max(32)).max(16).optional(),session:cy.optional(),project:ly.optional(),verification:Z$.optional(),versionChange:Q$.optional(),crash:J$.optional(),identity:yA.optional(),connection:e2.optional(),init:l2.optional(),onboarding:ny.optional(),bug:hy.optional(),refusal:iy.optional(),outage:o2.optional(),instrumentation:t2.optional(),installSource:i.nativeEnum(i2).optional(),licenseId:i.string().min(1).max(64).optional(),licenseStatus:i.nativeEnum(dy).optional(),licenseKeyPresent:i.boolean().optional(),...uy,...fy})});var Ey=S(()=>{"use strict"});var by,fE=S(()=>{"use strict";Zm();by={SESSIONS:"reticle_sessions",LOOK:"reticle_look",SNAPSHOT:"reticle_snapshot",QUERY:"reticle_query",INSPECT:"reticle_inspect",ACT:Ya.ACT,ACT_SEQUENCE:Ya.ACT_SEQUENCE,ACT_AND_WAIT:Ya.ACT_AND_WAIT,OBSERVE:"reticle_observe",LINEAGE:"reticle_lineage",WAIT_FOR:"reticle_wait_for",NETWORK:"reticle_network",CONSOLE:"reticle_console",ANIMATIONS:"reticle_animations",ASSERT:"reticle_assert",RECONCILE:"reticle_reconcile",BASELINE_SAVE:"reticle_baseline_save",BASELINE_LIST:"reticle_baseline_list",DIFF:"reticle_diff",RECORD_START:"reticle_record_start",RECORD_STOP:"reticle_record_stop",REPLAY:"reticle_replay",EXPLORE:"reticle_explore",NARRATE:"reticle_narrate",CLOCK:"reticle_clock",STATE:"reticle_state",STORAGE:"reticle_storage",CAPABILITIES:"reticle_capabilities",CONTRACT_SAVE:"reticle_contract_save",DOMAIN:"reticle_domain",FLOW_SAVE:"reticle_flow_save",FLOW_LIST:"reticle_flow_list",FLOW_LOAD:"reticle_flow_load",FLOW_DELETE:"reticle_flow_delete",FLOW_REPLAY:"reticle_flow_replay",FLOW_VERIFY:"reticle_flow_verify",FLOW_SAVE_RECORDED:"reticle_flow_save_recorded",FLOW_HEAL:"reticle_flow_heal",FLOW_MUTATE:"reticle_flow_mutate",ANNOTATE:"reticle_annotate",AFFECTED:"reticle_affected",COVERAGE:"reticle_coverage",VERIFY_CHANGE:"reticle_verify_change",VERIFY_EXPLORE:"reticle_verify_explore",INTENT:"reticle_intent",CONTEXT:"reticle_context",MAP:"reticle_map",VERIFY:"reticle_verify",PROJECT:"reticle_project",ACCOUNT:"reticle_account",MEMORY:"reticle_memory",RUN_RECORD:"reticle_run_record",SCREENSHOT:"reticle_screenshot",NETWORK_MOCK:"reticle_network_mock",VIEWPORT:"reticle_viewport",VISUAL_DIFF:"reticle_visual_diff",CRAWL:"reticle_crawl",SCROLL_TO:"reticle_scroll_to",SESSION_TUNE:"reticle_session_tune",END_SESSION:"reticle_end_session",YIELD:"reticle_yield",RESUME:"reticle_resume",MESSAGES:"reticle_messages",REVIEW:"reticle_review",WAIT_READY:"reticle_wait_ready",NAVIGATE:"reticle_navigate",REFRESH:"reticle_refresh",RUN_EXPORT:"reticle_run_export",BASELINE:"reticle_baseline",SESSION:"reticle_session",RECORD:"reticle_record",FLOW:"reticle_flow",LEASE:"reticle_lease",LEASE_ACQUIRE:"reticle_lease_acquire",LEASE_RELEASE:"reticle_lease_release",TOOLS:"reticle_tools",RUN:"reticle_run",FEEDBACK:"reticle_feedback"}});var Ty,d2,pf,u2,_z,xz,Az,Sy=S(()=>{"use strict";J();fE();Ty="reticle connect",d2={HARNESS_NOT_LINKED:"harness_not_linked"},pf={HUMAN:"human",AGENT:"agent"},u2=i.discriminatedUnion("who",[i.object({who:i.literal(pf.HUMAN),run:i.string()}),i.object({who:i.literal(pf.AGENT),tool:i.string()})]),_z=i.object({code:i.enum([d2.HARNESS_NOT_LINKED]),next:i.array(u2)}),xz=[{who:pf.HUMAN,run:Ty},{who:pf.AGENT,tool:by.ACT_AND_WAIT}],Az=`Connect your Reticle account to run the Harness: \`${Ty}\`.`});var _y=S(()=>{"use strict"});var xy=S(()=>{"use strict"});var Cz,Lz,kz,Dz,Ay=S(()=>{"use strict";ec();oc();tf();Wt();Cz={[hi.WEB]:{surface:Bn.WEB,isDesktopShell:!1,usesWebKit:!1,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!1},[hi.ELECTRON]:{surface:Bn.DESKTOP,isDesktopShell:!0,projectMarker:{dependency:"electron"},usesWebKit:!1,ownsCoverageKinds:!0,hasOwnBaselineDirectory:!0},[hi.TAURI]:{surface:Bn.DESKTOP,isDesktopShell:!0,projectMarker:{file:"src-tauri/tauri.conf.json"},usesWebKit:!0,ownsCoverageKinds:!1,hasOwnBaselineDirectory:!0}},Lz=new Set(Object.values(Gn)),kz={[hi.WEB]:Gr.WEB,[hi.ELECTRON]:Gr.WEBVIEW,[hi.TAURI]:Gr.WEBVIEW},Dz={[Bn.WEB]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Bn.DESKTOP]:{reset:"cheap",replayPrefix:"free",time:"injectable",observation:"exact",actions:"reversible"},[Bn.MOBILE]:{reset:"costly",replayPrefix:"costly",time:"wall",observation:"exact",actions:"reversible"},[Bn.SERVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"exact",actions:"irreversible"},[Bn.GAME]:{reset:"cheap",replayPrefix:"free",time:"stepped",observation:"exact",actions:"reversible"},[Bn.DEVICE]:{reset:"costly",replayPrefix:"unsafe",time:"wall",observation:"sampled",actions:"irreversible"}}});var Ry,p2,f2,yy,h2,Ny,m2,vy,g2,at,E2,b2,T2,S2,_2,x2,wy,A2,y2,Oy,hE=S(()=>{"use strict";J();Ry=i.object({calls:i.number().int().nonnegative(),verdicts:i.number().int().nonnegative(),passed:i.number().int().nonnegative(),failed:i.number().int().nonnegative(),unknown:i.number().int().nonnegative(),refusals:i.number().int().nonnegative(),marks:i.number().int().nonnegative(),sessions:i.number().int().nonnegative(),tokensReturned:i.number().int().nonnegative(),drivingMs:i.number().int().nonnegative()}),p2=i.object({date:i.string(),counts:Ry}),f2=i.object({longestRunMs:i.number().int().nonnegative(),bestVerdictDay:i.number().int().nonnegative(),bestDefectDay:i.number().int().nonnegative(),streakDays:i.number().int().nonnegative(),bestStreakDays:i.number().int().nonnegative()}),yy=i.object({value:i.number().nonnegative(),basis:i.string()}),h2=i.object({tokens:yy,minutes:yy}),Ny=10,m2=i.object({at:i.number().int().nonnegative(),title:i.string(),detail:i.string().optional(),source:i.string().optional()}),vy=i.object({counts:Ry,days:i.array(p2),records:f2,savings:h2,since:i.number().int().nonnegative(),defects:i.array(m2).default([])}),g2=i.object({signedIn:i.boolean(),org:i.string().optional(),email:i.string().optional(),host:i.string().optional()}),at={FREE:"free",TRIAL:"trial",PAID:"paid"},E2=i.object({provider:i.string(),harnessEnabled:i.boolean(),harnessEntitled:i.boolean(),providerReady:i.boolean().optional(),credits:i.object({used:i.number().min(0),limit:i.number().min(0),kind:i.enum([at.FREE,at.TRIAL,at.PAID]).optional(),daysLeft:i.number().int().min(0).optional()}).optional(),platformUrl:i.string().optional(),planUrl:i.string().optional(),plan:i.object({kind:i.enum([at.FREE,at.TRIAL,at.PAID]),daysLeft:i.number().int().min(0).optional(),seats:i.number().int().min(0).optional()}).optional(),harnessRuns:i.number().int().min(0).optional(),memoryEntries:i.number().int().min(0).optional()}),b2=60,T2=i.object({runId:i.string(),steps:i.number().int().min(0),lines:i.array(i.string()).max(b2).optional()}),S2=i.object({runUrl:i.string().optional(),said:i.string().optional(),seq:i.number().int().min(0).optional()}),_2=500,x2=5,wy=64,A2=i.object({text:i.string().max(_2),seen:i.boolean(),by:i.string().max(wy).optional()}),y2=i.object({agents:i.array(i.string().max(wy)).max(8),notes:i.array(A2).max(x2)}),Oy=i.object({schemaVersion:i.number().int().positive(),project:vy,global:vy,projectName:i.string().optional(),dashboardUrl:i.string().optional(),account:g2.optional(),harnessConfig:E2.optional(),harnessDrive:T2.optional(),lastDrive:S2.optional(),agent:y2.optional(),notices:i.array(i.unknown()).max(8).optional(),coverage:i.record(i.number()).optional(),sync:i.record(i.unknown()).optional(),instrumentation:i.record(i.unknown()).optional()})});var Iy=S(()=>{"use strict"});function ac(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619)>>>0;return e.toString(16).padStart(8,"0")}function Cy(t){let e=Object.keys(t).sort().map(n=>{var r;return`${n}:${[...(r=t[n])!=null?r:[]].sort().join(",")}`}).join("|");return ac(e)}var mE,Rd,Ly=S(()=>{"use strict";Wt();mE=Cy({messageKinds:Object.values(Kt),commands:Object.values(k),actions:Object.values(L),events:Object.values(x)}),Rd={commands:Object.values(k),events:Object.values(x),actions:Object.values(L)}});var ky,Dy=S(()=>{"use strict";ky="[Reticle] this page could not open a websocket to "});var My=S(()=>{"use strict"});var D=S(()=>{"use strict";t_();Tx();Sx();_x();yx();Wt();vx();Nx();Ix();Lx();Mx();Px();vo();$x();Hx();Ux();Hg();Ed();jx();Fg();Xx();Zx();Qx();Jg();sf();TA();SA();vA();RA();od();Zm();bx();tg();NA();Sg();Eg();_g();OA();hd();IA();CA();yo();Ng();vg();Ig();Cg();Lg();LA();kA();DA();$A();UA();FA();GA();BA();VA();jA();KA();rE();zA();YA();qg();Wg();qA();ZA();QA();gy();iE();sE();Ey();fE();Sy();_y();tf();nf();xy();Ay();cE();uE();lE();oc();hE();Iy();Ly();Dy();My()});function ve(t,e){return t[e]}function Py(t){let e=Object.getOwnPropertyDescriptor(t,"value");return e===void 0?void 0:ve(e,"set")}var wo=S(()=>{"use strict"});function N2(){for(let t of mi)t.deref()===void 0&&mi.delete(t);for(;mi.size>v2;){let t=mi.values().next();if(t.done===!0)break;mi.delete(t.value)}}function Uy(){let t=[];for(let e of mi){let n=e.deref();n!==void 0&&t.push(n)}return t}function Hy(t,e){if(!$y.has(t)){$y.add(t),mi.add(new WeakRef(t)),EE+=1,EE>=R2&&(EE=0,N2()),bE.add(e);for(let n of ff)n(t)}}function Fy(){return Uy()}function Gy(t){return bE.has(t)}function Ds(t){if(!bE.has(t))return null;for(let e of Uy())if(e.host===t)return e;return null}function By(t){return ff.add(t),()=>ff.delete(t)}function Vy(){let t=Element.prototype,e=ve(t,"attachShadow");if(typeof e!="function")return()=>{};gE+=1;let n=function(s){let a=e.call(this,s);return Hy(a,this),a};t.attachShadow=n;let r=o=>{for(let s of o.querySelectorAll("*")){let a=s.shadowRoot;a!==null&&(Hy(a,s),r(a))}};return document.documentElement!==null&&r(document.documentElement),()=>{ve(t,"attachShadow")===n&&(t.attachShadow=e),gE-=1,!(gE>0)&&(mi.clear(),ff.clear())}}function w2(t){let e=t.parentElement;if(e===null||e.shadowRoot!==null)return null;let n=Ds(e);if(n===null)return null;for(let r of Array.from(n.querySelectorAll("slot")))if(r.assignedElements().includes(t))return r;return null}function gi(t){var r;let e=(r=t.assignedSlot)!=null?r:w2(t);if(e!==null)return e;if(t.parentElement!==null)return t.parentElement;let n=t.getRootNode().host;return n!=null?n:null}var gE,mi,$y,bE,v2,R2,EE,ff,Oo=S(()=>{"use strict";wo();gE=0,mi=new Set,$y=new WeakSet,bE=new WeakSet,v2=4e3,R2=250,EE=0;ff=new Set});function Wy(t){SE=t}function _E(t){zy=t}function Xy(){return SE}function qy(t){Ky=t.join(",")}function ft(t){return t.closest(Ei)!==null}function bi(t){return ft(t)?!Yy()||t.closest(I2)===null:!1}function jr(t){return t!==null&&t.closest(Ei)!==null}function _t(t){let n=[Yy()?C2:Ei,O2,Ky].filter(r=>r.length>0).join(",");return t.closest(n)!==null}function Nd(t){return _t(t)||ft(t)}function D2(t){var r;let e=t.querySelector(k2);if(e!==null)return{name:TE.VITE,host:e};for(let o of Array.from(t.querySelectorAll(L2))){let s=(r=o.shadowRoot)!=null?r:Ds(o);if((s!=null?s:o).querySelector(jy)!==null)return{name:TE.NEXT,host:o}}let n=t.querySelector(jy);return n===null?void 0:{name:TE.NEXT,host:n}}function Zy(t){let e=t[0];if(e===void 0)return;let n=D2(e.ownerDocument);if(n!==void 0)return t.some(r=>!M2(r,n.host))?n.name:void 0}function M2(t,e){var n;for(let r=t;r!==null;){if(r===e)return!0;let o=r.getRootNode();r=(n=r.parentNode)!=null?n:o instanceof ShadowRoot?o.host:null}return!1}function hf(t){for(let e of Array.from(t.querySelectorAll(P2)))if(e.closest(Ei)===null&&!(e instanceof HTMLElement&&(e.hidden||e.closest("[hidden]")!==null))&&!(e instanceof HTMLElement&&getComputedStyle(e).display==="none"))return!0;return!1}var Ei,O2,Ky,SE,zy,Yy,I2,C2,TE,L2,jy,k2,P2,Ye=S(()=>{"use strict";D();Oo();Ei=bd,O2="[data-agentation],#__next-build-watcher,nextjs-portal,[data-nextjs-dialog],[data-nextjs-toast]",Ky="",SE=!1;zy=!1;Yy=()=>SE&&!zy;I2="[data-reticle-dock]";C2="[data-reticle-log],[data-reticle-harness-log],[data-reticle-chat-pill-text],[data-reticle-agent-said],[data-reticle-agent-note],[data-reticle-act-line]";TE={NEXT:"Next.js error dialog",VITE:"Vite error overlay"},L2="nextjs-portal",jy="[data-nextjs-dialog]",k2="vite-error-overlay";P2='dialog[open], [aria-modal="true"]'});function Ti(){return mf}function Kn(){return`[${mf}]`}function Te(t){return t.getAttribute(mf)}function rv(t){mf=t!==void 0&&Ox.test(t)?t:Ns}var mf,xt=S(()=>{"use strict";D();mf=Ns});function ov(t,e){var o;if(t===null||typeof t!="object")return;let r=((o=t.ownerDocument)!=null?o:t).defaultView;if(r!=null)return r[e]}function vn(t,e,n){var o;let r=(o=ov(t,e))!=null?o:n;return typeof r=="function"&&t instanceof r}function lv(t){let e=fn(t)?"HTMLTextAreaElement":"HTMLInputElement",n=ov(t,e);if(typeof n!="function")return;let r=n.prototype;return typeof r=="object"&&r!==null?r:void 0}var pn,xE,Xe,G2,Si,Ie,fn,ur,wd,iv,sv,av,cv,gf,Rn=S(()=>{"use strict";pn=t=>vn(t,"Element",typeof Element=="undefined"?void 0:Element),xE=t=>vn(t,"HTMLImageElement",typeof HTMLImageElement=="undefined"?void 0:HTMLImageElement),Xe=t=>vn(t,"HTMLElement",typeof HTMLElement=="undefined"?void 0:HTMLElement),G2=t=>vn(t,"SVGElement",typeof SVGElement=="undefined"?void 0:SVGElement),Si=t=>Xe(t)||G2(t),Ie=t=>vn(t,"HTMLInputElement",typeof HTMLInputElement=="undefined"?void 0:HTMLInputElement),fn=t=>vn(t,"HTMLTextAreaElement",typeof HTMLTextAreaElement=="undefined"?void 0:HTMLTextAreaElement),ur=t=>vn(t,"HTMLSelectElement",typeof HTMLSelectElement=="undefined"?void 0:HTMLSelectElement),wd=t=>vn(t,"HTMLButtonElement",typeof HTMLButtonElement=="undefined"?void 0:HTMLButtonElement),iv=t=>vn(t,"HTMLMeterElement",typeof HTMLMeterElement=="undefined"?void 0:HTMLMeterElement),sv=t=>vn(t,"HTMLOutputElement",typeof HTMLOutputElement=="undefined"?void 0:HTMLOutputElement),av=t=>vn(t,"HTMLProgressElement",typeof HTMLProgressElement=="undefined"?void 0:HTMLProgressElement),cv=t=>vn(t,"HTMLFormElement",typeof HTMLFormElement=="undefined"?void 0:HTMLFormElement),gf=t=>vn(t,"HTMLIFrameElement",typeof HTMLIFrameElement=="undefined"?void 0:HTMLIFrameElement)});function Sf(t){return B2.has(t)||t.startsWith(Ef)||t.startsWith(bf)||t.startsWith(Tf)}var ct,Ef,bf,Tf,B2,Kr=S(()=>{"use strict";ct={SESSION:"__reticle_session",REF_BASE:"__reticle_ref_base",PRESENTER_LOG:"reticle-presenter-log",PRESENTER_LOG_OWNER:"reticle-presenter-log-owner",PRESENTER_SETTINGS:"reticle-presenter-settings",PRESENTER_MINIMISED:"reticle-presenter-minimised",PRESENTER_OPEN:"reticle-presenter-open",PRESENTER_VIEW:"reticle-presenter-view",CAROUSEL_DISMISSED:"reticle.carousel.dismissed",ANNOTATION_HISTORY:"reticle.annotations.history.v1"},Ef="reticle.tour.seen.",bf="reticle.harness.persona.",Tf="reticle.impact.seen.",B2=new Set(Object.values(ct))});function Ms(t){let e=G.MAX_REF_LENGTH;return e>=t.length?t:`${t.slice(0,e)}${V2}`}function W2(t){try{let e=t==null?void 0:t.getItem(uv),n=e==null?Number.NaN:Number(e);return Number.isSafeInteger(n)&&n>0?n:0}catch{return 0}}var dv,V2,AE,j2,uv,K2,Id,ht,Cd,Io,cc,lc,dc,Co,pv,yE,fv,Od,X,lt=S(()=>{"use strict";D();Kr();dv=1e4,V2="\u2026",AE="e";j2=1e3,uv=ct.REF_BASE,K2=100;Od=class{constructor(e=()=>globalThis.sessionStorage){b(this,Co);b(this,Id,new WeakMap);b(this,ht,new Map);b(this,Cd);b(this,Io,0);b(this,cc,0);b(this,lc,0);b(this,dc,0);f(this,Cd,e)}get size(){return c(this,ht).size}markEdited(){f(this,dc,c(this,Io))}mintedBeforeLastEdit(e){if(c(this,dc)===0||!e.startsWith(AE))return!1;let n=Number(e.slice(AE.length));return Number.isSafeInteger(n)&&n>0&&n<=c(this,dc)}refFor(e){let n=c(this,Id).get(e);if(n!==void 0){let o=c(this,ht).get(n);return c(this,ht).delete(n),c(this,ht).set(n,o!=null?o:new WeakRef(e)),n}c(this,Io)>=c(this,cc)&&E(this,Co,pv).call(this),f(this,Io,c(this,Io)+1);let r=wA(`${AE}${String(c(this,Io))}`);return c(this,Id).set(e,r),c(this,ht).set(r,new WeakRef(e)),f(this,lc,c(this,lc)+1),c(this,lc)>=j2?(f(this,lc,0),E(this,Co,fv).call(this)):c(this,ht).size>dv&&E(this,Co,yE).call(this),r}resolve(e){let n=c(this,ht).get(e);if(n===void 0)return null;let r=n.deref();return r===void 0||!r.isConnected?(c(this,ht).delete(e),null):(c(this,ht).delete(e),c(this,ht).set(e,n),r)}};Id=new WeakMap,ht=new WeakMap,Cd=new WeakMap,Io=new WeakMap,cc=new WeakMap,lc=new WeakMap,dc=new WeakMap,Co=new WeakSet,pv=function(){let e;try{e=c(this,Cd).call(this)}catch{e=void 0}let n=Math.max(W2(e),c(this,Io));f(this,cc,n+K2);try{e==null||e.setItem(uv,String(c(this,cc)))}catch{}f(this,Io,n)},yE=function(){let e=c(this,ht).keys().next();e.done!==!0&&c(this,ht).delete(e.value)},fv=function(){for(let[e,n]of c(this,ht)){let r=n.deref();(r===void 0||!r.isConnected)&&c(this,ht).delete(e)}for(;c(this,ht).size>dv;)E(this,Co,yE).call(this)};X=new Od});function X2(t){if(t.id.length>0)return`#${t.id}`;let e=t.getAttribute("class");return e!==null&&e.trim().length>0?`.${e.trim().split(/\s+/).join(".")}`:t.tagName.toLowerCase()}function hv(t){let e=t.ownerDocument.defaultView;if(e===null)return[];let n=[];for(let r=t;r!==null&&r!==t.ownerDocument.documentElement;r=r.parentElement){let o=e.getComputedStyle(r);for(let s of z2){let a=o.getPropertyValue(s);a.length>0&&a!==Y2[s]&&n.push({on:X2(r),property:s,value:a})}}return n}function _f(t){var o;let e=(o=t==null?void 0:t.overflow)!=null?o:"",[n="visible",r=n]=(e===""?"visible":e).split(/\s+/);return[t===null||t.overflowX===""?n:t.overflowX,t===null||t.overflowY===""?r:t.overflowY]}function vE(t,e){var Y;if(e.clipBox!==void 0)return e.clipBox;let n=t.getBoundingClientRect(),r=e.style,o=te=>Number.parseFloat(te!=null?te:"")||0,s=(te,Ce)=>Ce===void 0||Ce===""||Ce==="none"||Ce==="hidden"?0:o(te),a=Xe(t)&&t.offsetWidth>0?n.width/t.offsetWidth:1,l=Xe(t)&&t.offsetHeight>0?n.height/t.offsetHeight:1,d=Xe(t)&&t.offsetWidth>0?n.left+t.clientLeft*a:n.left+s(r==null?void 0:r.borderLeftWidth,r==null?void 0:r.borderLeftStyle),u=Xe(t)&&t.offsetHeight>0?n.top+t.clientTop*l:n.top+s(r==null?void 0:r.borderTopWidth,r==null?void 0:r.borderTopStyle),p=Xe(t)&&t.offsetWidth>0?d+t.clientWidth*a:n.right-s(r==null?void 0:r.borderRightWidth,r==null?void 0:r.borderRightStyle),h=Xe(t)&&t.offsetHeight>0?u+t.clientHeight*l:n.bottom-s(r==null?void 0:r.borderBottomWidth,r==null?void 0:r.borderBottomStyle),m=((Y=r==null?void 0:r.overflowClipMargin)!=null?Y:"").split(/\s+/),g=o(m.at(-1)),T=m.includes("border-box"),_=m.includes("content-box"),[A,N]=_f(r),y=A==="clip"?(T?n.left:d+(_?o(r==null?void 0:r.paddingLeft)*a:0))-g*a:d,v=A==="clip"?(T?n.right:p-(_?o(r==null?void 0:r.paddingRight)*a:0))+g*a:p,O=N==="clip"?(T?n.top:u+(_?o(r==null?void 0:r.paddingTop)*l:0))-g*l:u,j=N==="clip"?(T?n.bottom:h-(_?o(r==null?void 0:r.paddingBottom)*l:0))+g*l:h;return e.clipBox={left:y,right:v,top:O,bottom:j,width:v-y,height:j-O},e.clipBox}function mv(t,e,n,r){let o=(u,p,h,m,g)=>{if(p>m&&u<g)return[u,p];let T=Math.min(h,g-m);return u>=g?[g-T,g]:[m,m+T]},[s,a]=n?o(t.left,t.right,t.width,e.left,e.right):[t.left,t.right],[l,d]=r?o(t.top,t.bottom,t.height,e.top,e.bottom):[t.top,t.bottom];return{left:s,right:a,top:l,bottom:d,width:a-s,height:d-l}}var z2,Y2,RE=S(()=>{"use strict";Rn();z2=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],Y2={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"}});function gv(t){var n;return((n=t.match(/-?\d*\.?\d+(?:e[-+]?\d+)?|NaN|Infinity|-Infinity/gi))!=null?n:[]).map(r=>Number(r))}function Q2(t){return/NaN|Infinity/i.test(t)?!0:gv(t).some(e=>!Number.isFinite(e))}function J2(t){let e=gv(t).filter(s=>Number.isFinite(s));if(e.length===0)return!0;let n=e.filter((s,a)=>a%2===0),r=e.filter((s,a)=>a%2===1),o=s=>s.every(a=>a===s[0]);return n.length>1&&o(n)&&o(r)}function xf(t){let e=[],n=0;for(let o of q2)for(let s of Array.from(t.querySelectorAll(o)))for(let a of Z2){let l=s.getAttribute(a);if(l===null)continue;n+=1;let d=l.length>120?`${l.slice(0,120)}\u2026`:l;Q2(l)?e.push({kind:"non-finite-coordinates",tag:o,attr:a,sample:d}):l.trim().length===0?e.push({kind:"empty-geometry",tag:o,attr:a,sample:d}):J2(l)&&e.push({kind:"degenerate-geometry",tag:o,attr:a,sample:d})}let r=t.querySelectorAll("canvas").length>0;return{examined:n,findings:e,canvas:r}}function Ev(t,e){var s,a,l,d,u,p,h;let n=e,r=(a=(s=n.Chart)==null?void 0:s.getChart)==null?void 0:a.call(s,t);if(r!=null)return{library:"chartjs",data:(l=r.data)!=null?l:null};let o=(u=(d=n.echarts)==null?void 0:d.getInstanceByDom)==null?void 0:u.call(d,t);return o!=null?{library:"echarts",data:(h=(p=o.getOption)==null?void 0:p.call(o))!=null?h:null}:null}var q2,Z2,NE=S(()=>{"use strict";q2=["path","polyline","polygon"],Z2=["d","points"]});function Ld(t,e,n){let r=Math.max(0,Math.min(n,e.remainingCharacters));if(t.length<=r)return e.remainingCharacters-=t.length,t;e.truncatedValues+=1;let o=r<=kd.length?kd.slice(0,r):`${t.slice(0,r-kd.length)}${kd}`;return e.remainingCharacters-=o.length,o}function Dd(t,e,n,r){if(r!==void 0&&it(r))return ye;if(n>G.MAX_SERIALIZE_DEPTH||e.nodes>=uc)return e.truncatedValues+=1,kd;if(e.nodes+=1,t===null||typeof t=="boolean")return t;if(typeof t=="string")return Ld(Fr(t),e,(r==null?void 0:r.toLowerCase())==="error"?G.MAX_ERROR_LENGTH:G.MAX_STRING_LENGTH);if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="bigint")return t.toString();if(typeof t=="undefined"||typeof t=="function"||typeof t=="symbol")return pc;if(t instanceof Date)return Number.isNaN(t.getTime())?null:t.toISOString();if(t instanceof Map){let o=Object.create(null),s=0;for(let[a,l]of t){if(e.nodes>=uc||s>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let d=Ld(typeof a=="string"?a:String(a),e,bv),u=Dd(l,e,n+1,d);u!==pc&&(o[d]=u),s+=1}return o}if(t instanceof Set){let o=[],s=0;for(let a of t){if(e.nodes>=uc||s>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=t.size-s;break}let l=Dd(a,e,n+1);o.push(l===pc?null:l),s+=1}return o}if(ArrayBuffer.isView(t)&&!(t instanceof DataView)){let o=t.length,s=[],a=0;for(let l of t){if(e.nodes>=uc||a>=G.MAX_COLLECTION_ITEMS){e.droppedItems+=o-a;break}s.push(l),e.nodes+=1,a+=1}return s}if(t instanceof Error)return{name:Ld(t.name,e,256),message:Ld(t.message,e,G.MAX_ERROR_LENGTH)};if(e.seen.has(t))return"[CIRCULAR]";e.seen.add(t);try{if(Array.isArray(t)){let d=[],u=t.slice(0,G.MAX_COLLECTION_ITEMS);e.droppedItems+=Math.max(0,t.length-u.length);for(let p of u){if(e.nodes>=uc){e.droppedItems+=1;continue}let h=Dd(p,e,n+1);if(e.nodes>=uc){e.droppedItems+=1;continue}d.push(h===pc?null:h)}return d}let o=Object.create(null),s=Object.keys(t),a=s.slice(0,G.MAX_OBJECT_KEYS);e.droppedItems+=Math.max(0,s.length-a.length);let l=a.map(d=>{try{let u=t[d];return{key:d,value:u,scalar:u===null||typeof u!="object",ok:!0}}catch{return{key:d,value:void 0,scalar:!0,ok:!1}}});for(let d of[...l.filter(u=>u.scalar),...l.filter(u=>!u.scalar)]){let u=Ld(d.key,e,bv);if(!d.ok){o[u]=wE;continue}try{let p=Dd(d.value,e,n+1,d.key);p!==pc&&(o[u]=p)}catch{o[u]=wE}}return o}finally{e.seen.delete(t)}}function Md(t){return Pd(t).value}function Pd(t){let e={seen:new WeakSet,remainingCharacters:e5,nodes:0,droppedItems:0,truncatedValues:0},n=Dd(t,e,0),r=n===pc?null:n;if(e.droppedItems===0&&e.truncatedValues===0)return{value:r};let o=[];return e.droppedItems>0&&o.push(`${e.droppedItems} item(s) dropped`),e.truncatedValues>0&&o.push(`${e.truncatedValues} value(s) truncated`),{value:r,truncation:{droppedItems:e.droppedItems,truncatedValues:e.truncatedValues,note:`partial \u2014 ${o.join(", ")}; this is NOT the whole value. Scope the read with \`path\`/\`depth\` to see the rest.`}}}function Wr(t){try{return JSON.stringify(Md(t))}catch{return JSON.stringify(wE)}}var kd,wE,pc,bv,e5,uc,pr=S(()=>{"use strict";D();kd="[TRUNCATED]",wE="[UNSERIALIZABLE]",pc=Symbol("omit"),bv=256,e5=Math.floor(G.MAX_MESSAGE_BYTES/4),uc=G.MAX_COLLECTION_ITEMS*5});function t5(t){if(t===null)return;let e=/^(.*):(\d+):(\d+)$/.exec(t);if(e===null)return;let n=e[1],r=Number(e[2]);if(!(n===void 0||n.length===0||!Number.isFinite(r)))return{file:n,line:r}}function $d(t){let e=t.closest(`[${OE}]`);return e!==null?t5(e.getAttribute(OE)):void 0}function Af(t,e){return e!==void 0?{file:e.file,line:e.line}:$d(t)}function Tv(t){return t.querySelector(`[${OE}]`)!==null}function yf(t){return t===void 0?void 0:`${t.file}:${String(t.line)}`}var OE,Hd=S(()=>{"use strict";D();OE=tc});function o5(t){let e=t.type.toLowerCase();return e==="search"?"searchbox":r5.has(e)?"textbox":e==="checkbox"?"checkbox":e==="radio"?"radio":e==="range"?"slider":e==="number"?"spinbutton":e==="submit"||e==="button"||e==="reset"?"button":"textbox"}function i5(t){let e=t.getAttribute("aria-label");if(e!==null&&e.trim().length>0)return!0;let n=t.getAttribute("aria-labelledby");if(n!==null&&n.trim().length>0)return!0;let r=t.getAttribute("title");return r!==null&&r.trim().length>0}function Ne(t){var r;let e=t.getAttribute("role");if(e!==null&&e.trim().length>0)return e.trim();switch(t.tagName.toLowerCase()){case"a":return t.hasAttribute("href")?"link":"generic";case"button":return"button";case"input":return o5(t);case"textarea":return"textbox";case"select":return t.multiple?"listbox":"combobox";case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return"heading";case"ul":case"ol":return"list";case"li":return"listitem";case"nav":return"navigation";case"main":return"main";case"aside":return"complementary";case"dialog":return"dialog";case"img":return"img";case"table":return"table";case"tr":return"row";case"tbody":case"thead":case"tfoot":return"rowgroup";case"td":return t.closest('[role~="grid"], [role~="treegrid"]')!==null?"gridcell":"cell";case"th":{let o=((r=t.getAttribute("scope"))!=null?r:"").toLowerCase();return o==="row"||o==="rowgroup"?"rowheader":"columnheader"}case"option":return"option";case"optgroup":return"group";case"section":return i5(t)?"region":"generic";case"article":return"article";case"fieldset":return"group";case"details":return"group";case"summary":return"button";case"progress":return"progressbar";case"meter":return"meter";case"output":return"status";case"hr":return"separator";case"area":return t.hasAttribute("href")?"link":"generic";case"form":return"form";case"p":return"paragraph";case"header":return"banner";case"footer":return"contentinfo";default:return"generic"}}function _i(t){return t.replace(/\s+/g," ").trim()}function s5(t){let e=t.getAttribute("aria-labelledby");if(e===null)return null;let n=[];for(let o of e.split(/\s+/)){let s=t.ownerDocument.getElementById(o);s!==null&&n.push(_i(Ps(s)))}let r=n.join(" ").trim();return r.length>0?r:null}function Ps(t){var o;if(t.nodeType===Node.TEXT_NODE)return(o=t.textContent)!=null?o:"";if(t.nodeType!==Node.ELEMENT_NODE)return"";let e=t;if(e.getAttribute("aria-hidden")==="true")return"";if(xE(e)){let s=e.getAttribute("alt");return s===null?"":s}let n="",r=!1;for(let s of e.childNodes){let a=Ps(s);if(a.length===0)continue;let l=Node.ELEMENT_NODE===s.nodeType;n.length>0&&(l||r)&&(n+=" "),n+=a,r=l}return n}function Se(t){let e=s5(t);if(e!==null)return e;let n=t.getAttribute("aria-label");if(n!==null&&n.trim().length>0)return n.trim();if(xE(t)){let s=t.getAttribute("alt");if(s!==null)return s.trim()}if(Ie(t)||fn(t)||ur(t)||wd(t)||iv(t)||sv(t)||av(t)){let s=t.labels;if(s!==null&&s.length>0){let a=[...s].map(l=>_i(Ps(l))).join(" ").trim();if(a.length>0)return a}}if(t.tagName.toLowerCase()==="fieldset"){let s=[...t.children].find(a=>a.tagName.toLowerCase()==="legend");if(s!==void 0){let a=_i(Ps(s));if(a.length>0)return a}}if(t.tagName.toLowerCase()==="table"){let s=[...t.children].find(a=>a.tagName.toLowerCase()==="caption");if(s!==void 0){let a=_i(Ps(s));if(a.length>0)return a}}if(t.tagName.toLowerCase()==="figure"){let s=[...t.children].find(a=>a.tagName.toLowerCase()==="figcaption");if(s!==void 0){let a=_i(Ps(s));if(a.length>0)return a}}if(Ie(t)||fn(t)||ur(t)){if(Ie(t)){let s=t.type.toLowerCase();if(s==="submit"||s==="button"||s==="reset"){let a=_i(t.value);if(a.length>0)return a}}if(Ie(t)||fn(t)){let s=t.getAttribute("placeholder");if(s!==null&&s.trim().length>0)return s.trim()}}if(n5.has(Ne(t))){let s=_i(Ps(t));if(s.length>0)return s}let o=t.getAttribute("title");return o!==null&&o.trim().length>0?o.trim():""}function vf(t,e){let n=t.getAttribute(e);if(n!==null)return n==="true"}function Lo(t,e=Pt(t)){let n=[ue.PRESENT];n.push(e?ue.VISIBLE:ue.HIDDEN);let r=t.matches(":disabled")||vf(t,"aria-disabled")===!0;return n.push(r?ue.DISABLED:ue.ENABLED),(Ie(t)&&(t.type==="checkbox"||t.type==="radio")&&t.checked||vf(t,"aria-checked")===!0)&&n.push(ue.CHECKED),(vf(t,"aria-expanded")===!0||a5(t))&&n.push(ue.EXPANDED),vf(t,"aria-pressed")===!0&&n.push(ue.PRESSED),t.ownerDocument.activeElement===t&&n.push(ue.FOCUSED),n}function a5(t){let e=t.parentElement;return IE!==t.localName||e===null||vv!==e.localName?!1:Array.from(e.children).find(r=>IE===r.localName)===t&&e.hasAttribute(Rv)}function Zt(t){var o,s,a,l,d;if(!Ie(t)&&!fn(t)&&!ur(t))return!1;let e=(o=t.getAttribute("autocomplete"))!=null?o:"",n=[(s=t.getAttribute("name"))!=null?s:"",t.id,(a=Te(t))!=null?a:"",(l=t.getAttribute(Ns))!=null?l:"",(d=t.getAttribute("aria-label"))!=null?d:""],r=c5.test(e);return Ie(t)&&t.type.toLowerCase()==="password"||r||n.some(it)}function CE(t){if(Ie(t)||fn(t)||ur(t))return Zt(t)?t.value===""?"":ye:t.value;let e=t.getAttribute("aria-valuenow");return e!=null?e:void 0}function l5(t){let e=t.parentElement;if(e===null)return!1;let n=e.closest(vv);if(n===null||n.hasAttribute(Rv))return!1;let r=Array.from(n.children).find(o=>IE===o.localName);return r===void 0||!r.contains(t)}function d5(t){return!t.ownerDocument.hidden||!("getAnimations"in t)?!1:t.getAnimations().some(e=>e.playState==="running"||e.pending)}function p5(t){return t.hasAttribute(u5)}function LE(t,e){return!!(Xe(t)&&t.hidden||l5(t)||e!==null&&(e.display==="none"||e.visibility==="hidden"||e.visibility==="collapse"||Number.parseFloat(e.opacity||"1")===0&&!d5(t)))}function f5(t,e){return t.getAttribute("aria-hidden")==="true"&&!p5(t)?!0:LE(t,e)}function Nv(t){var r,o;let e=!1,n=t;for(;n!==null;){n.getAttribute("aria-hidden")==="true"&&(e=!0);let s=(o=(r=n.ownerDocument.defaultView)==null?void 0:r.getComputedStyle(n))!=null?o:null;if(LE(n,s))return!1;n=gi(n)}return e}function wv(t){var n,r;let e=t;for(;e!==null;){if(e.getAttribute("aria-hidden")==="true")return!1;let o=(r=(n=e.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(e))!=null?r:null;if(LE(e,o))return!1;e=gi(e)}return!0}function Cv(t){if(t===void 0)return new Map;let e=Av.get(t);return e===void 0&&(e=new Map,Av.set(t,e)),e}function zr(t,e){var r,o,s;let n=e.get(t);if(n===void 0){let a=(o=(r=t.ownerDocument.defaultView)==null?void 0:r.getComputedStyle(t))!=null?o:null;if(f5(t,a))return n={hidden:!0,style:a,parent:null,clipX:!1,clipY:!1,scrollX:!1,scrollY:!1,hasClipping:!1},e.set(t,n),n;let l=gi(t),d=l===null?void 0:zr(l,e),[u,p]=_f(a),h=t.ownerDocument.documentElement,g=!(t===h||t===t.ownerDocument.body&&_f(zr(h,e).style).every(A=>A==="visible"))&&!Ov.has((s=a==null?void 0:a.display)!=null?s:"")&&!(Xe(t)&&(a==null?void 0:a.display)==="inline"),T=g&&Sv.has(u),_=g&&Sv.has(p);n={hidden:(d==null?void 0:d.hidden)===!0,style:a,parent:l,clipX:T,clipY:_,scrollX:g&&_v.has(u),scrollY:g&&_v.has(p),hasClipping:T||_||(d==null?void 0:d.hasClipping)===!0},e.set(t,n)}return n}function g5(t,e,n){for(let r=zr(t,n).parent;r!==null;r=zr(r,n).parent){let o=zr(r,n).style;if(o===null||o.display==="contents")continue;if(!e&&o.position!==""&&o.position!=="static")return r;let s=!(o.display==="inline"&&Xe(r)&&!m5.has(r.localName))&&o.display!=="table-column"&&o.display!=="table-column-group",a=l=>s||!Iv.has(l);if([...xv].some(l=>{let d=o.getPropertyValue(l);return a(l)&&d!==""&&d!=="none"})||o.willChange.split(",").some(l=>xv.has(l.trim())&&a(l.trim()))||s&&!Ov.has(o.display)&&(o.contain.split(/\s+/).some(l=>h5.has(l))||o.contentVisibility==="auto"))return r}return null}function Lv(t,e,n,r=!1){let o=n,s=zr(t,e);if(s.hidden)return null;if(s.parent===null||!zr(s.parent,e).hasClipping)return o;let a;for(let l=t;l!==null;l=zr(l,e).parent){let d=zr(l,e);if(d.hidden)return null;l===a&&(a=void 0);let u=d.style;if(r&&l!==t&&a===void 0&&(d.scrollX||d.scrollY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0&&(o=mv(o,vE(l,d),d.scrollX,d.scrollY))),l!==t&&a===void 0&&(d.clipX||d.clipY)&&(o!=null||(o=t.getBoundingClientRect()),o.width>0&&o.height>0)){let p=vE(l,d),h=d.clipX?Math.max(o.left,p.left):o.left,m=d.clipX?Math.min(o.right,p.right):o.right,g=d.clipY?Math.max(o.top,p.top):o.top,T=d.clipY?Math.min(o.bottom,p.bottom):o.bottom;if(m<=h||T<=g)return null;o={left:h,right:m,top:g,bottom:T,width:m-h,height:T-g}}a===void 0&&((u==null?void 0:u.position)==="absolute"||(u==null?void 0:u.position)==="fixed")&&(a=g5(l,(u==null?void 0:u.position)==="fixed",e))}return o}function kE(t,e){if(!Pt(t,e))return!1;let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=Lv(t,Cv(e),t.getBoundingClientRect());return r==null||r.width<=0||r.height<=0?!1:r.bottom>0&&r.right>0&&r.top<n.innerHeight&&r.left<n.innerWidth}function E5(t,e){let n=zr(t,e);if(!n.clipX&&!n.clipY)return!1;let r=Array.from(t.getClientRects());return r.length>0&&r.every(o=>n.clipX&&o.width===0||n.clipY&&o.height===0)}function Pt(t,e){if(!t.isConnected)return!1;let n=e==null?void 0:e.get(t);if(n!==void 0)return n;let r=Cv(e),o=Lv(t,r,void 0,!0)!==null&&!E5(t,r);return e!==void 0&&e.set(t,o),o}function b5(t){var n;let e=_i((n=t.textContent)!=null?n:"");return e.length>yv?`${e.slice(0,yv)}\u2026`:e}function Yr(t,e){let n=CE(t),r=b5(t),o=Se(t),s=Pt(t,e),a={ref:X.refFor(t),role:Ne(t),name:o,states:Lo(t,s),visible:s};n!==void 0&&n.length>0&&(a.value=n),r.length>0&&r!==o&&(a.text=r);let l=yf($d(t));if(l!==void 0&&(a.source=l),t.querySelector("path, polyline, polygon")!==null){let d=xf(t).findings;d.length>0&&(a.chart=d)}return a}var vv,Rv,IE,n5,r5,c5,u5,Sv,_v,Ov,Iv,xv,h5,m5,Av,yv,mt=S(()=>{"use strict";xt();D();Rn();lt();Oo();RE();NE();pr();Hd();vv="details",Rv="open",IE="summary",n5=new Set(["button","link","heading","option","listitem","cell","checkbox","columnheader","radio","row","rowheader","tab","tooltip","menuitem","menuitemcheckbox","menuitemradio","treeitem","gridcell","switch","status","alert"]),r5=new Set(["text","email","tel","url","password",""]);c5=/\b(cc-|current-password|new-password|one-time-code)/i;u5="data-aria-hidden";Sv=new Set(["hidden","clip"]),_v=new Set(["auto","scroll"]),Ov=new Set(["contents","table-row","table-row-group","table-header-group","table-footer-group","table-column","table-column-group"]),Iv=new Set(["transform","translate","rotate","scale","perspective"]),xv=new Set([...Iv,"filter","backdrop-filter"]),h5=new Set(["layout","paint","strict","content"]),m5=new Set(["img","video","audio","canvas","iframe","embed","object","input","textarea","select"]),Av=new WeakMap;yv=80});function jv(t){mc.some(e=>e.name===t.name)||mc.push(t)}function Wn(t){for(let e of mc){let n;try{n=e.identify(t)}catch{continue}if(n!=null)return n}return null}function Nf(t){for(let e of mc){if(e.readState===void 0)continue;let n=e.readState(t);if(n!==void 0)return n}}function wf(t){for(let e of mc)if(e.hasHoverHandlers!==void 0&&e.hasHoverHandlers(t))return!0;return!1}function Bd(){return mc.map(t=>t.name)}var $E,Vv,mc,ko=S(()=>{"use strict";$E=globalThis,mc=(Vv=$E.__reticleAdapters)!=null?Vv:$E.__reticleAdapters=[]});function Of(){return jn(location.href)}function If(t=!0){return jn(`${location.pathname}${location.search}${t?location.hash:""}`)}var Vd=S(()=>{"use strict";D()});function fR(t){var o;let e=[],n=new Set,r;try{r=t.querySelectorAll(Kn())}catch{return e}for(let s=0;s<r.length&&e.length<nH;s+=1){let a=(o=r[s])==null?void 0:o.getAttribute(Ti());if(a==null)continue;let l=a.trim();l.length===0||n.has(l)||l.startsWith(rH)||(n.add(l),e.push(l))}return e}var nH,rH,hR=S(()=>{"use strict";xt();nH=200,rH="reticle-"});var GE,mR,BE,fr,jd=S(()=>{"use strict";GE=globalThis,BE=typeof((mR=GE.console)==null?void 0:mR.warn)=="function"?GE.console.warn.bind(GE.console):null,fr=(...t)=>{BE==null||BE(...t)}});function _R(t){return VE.add(t),()=>VE.delete(t)}function oH(t){if(t===null||typeof t!="object"&&typeof t!="function")return!1;let e=t;return typeof e.getState=="function"&&typeof e.subscribe=="function"}function xR(t,e,n){if(aH(t,e),oH(e)){let r=()=>e.getState(),o=s=>e.subscribe(s);Ec.set(t,r),kf.set(t,o),gR(t,r,o);return}if(typeof e!="function"){let r=typeof e=="object"&&e!==null&&"subscribe"in e;fr(`[reticle] store "${t}" is neither a getter function nor a {getState, subscribe} store`+(r?" \u2014 it has subscribe but no getState. Wrap it with an adapter or add getState.":"."));return}if(Ec.set(t,e),n!==void 0){kf.set(t,n),gR(t,e,n);return}sH(t)}function gR(t,e,n){for(let r of VE)try{r([t,e,n])}catch{}}function AR(t){Ec.delete(t),kf.delete(t)}function Ai(){return[...Ec.keys()]}function yR(){let t=[];for(let[e,n]of kf){let r=Ec.get(e);r!==void 0&&t.push([e,r,n])}return t}function KE(t){let e={};for(let[n,r]of Ec)if(!(t!==void 0&&n!==t))try{e[n]=r()}catch(o){e[n]={__error:o instanceof Error?o.message:String(o)}}return e}function vR(t){return Kd(t).stores}function Kd(t){let e={},n={};for(let[r,o]of Object.entries(KE(t))){let s=Pd(o);e[r]=s.value,s.truncation!==void 0&&(n[r]=s.truncation)}return Object.keys(n).length>0?{stores:e,truncation:n}:{stores:e}}function sH(t){iH.has(t)||ER.has(t)||(ER.add(t),fr(`[reticle] store "${t}" was registered without a subscribe function. It can be READ, but its changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`))}function Df(t,e){RR.set(t,e)}function aH(t,e){if(e===null||typeof e!="object"&&typeof e!="function")return;jE.set(e,t);let n=RR.get(e);n!==void 0&&jE.set(n,t)}function NR(t){if(!(t===null||typeof t!="object"&&typeof t!="function"))return jE.get(t)}var Do,bR,Ec,TR,kf,SR,VE,ER,iH,jE,RR,$s=S(()=>{"use strict";D();jd();pr();Do=globalThis,Ec=(bR=Do.__reticleStores)!=null?bR:Do.__reticleStores=new Map,kf=(TR=Do.__reticleStoreSubs)!=null?TR:Do.__reticleStoreSubs=new Map,VE=(SR=Do.__reticleStoreListeners)!=null?SR:Do.__reticleStoreListeners=new Set;ER=new Set,iH=new Set([Gp]);jE=new WeakMap,RR=new WeakMap});function OR(){return typeof document=="undefined"?[]:fR(document)}function IR(){return Ai().filter(t=>Gp!==t)}function Pf(t,e){let n=[...t];for(let r of e)n.includes(r)||n.push(r);return n}function cH(){return{testids:[],signals:[],stores:[],flows:[]}}function zE(t,e){if(e!==void 0)for(let n of e)t.includes(n)||t.push(n)}function $f(t){Mf=t}function bc(t){if(zE(hn.testids,t.testids),zE(hn.signals,t.signals),zE(hn.stores,t.stores),t.flows!==void 0)for(let e of t.flows){let n=hn.flows.find(r=>r.name===e.name);n===void 0?hn.flows.push({name:e.name,steps:[...e.steps]}):n.steps=[...e.steps]}Mf==null||Mf()}function yi(){return{testids:Pf(hn.testids,OR()),signals:[...hn.signals],stores:Pf(hn.stores,IR()),flows:hn.flows.map(t=>({name:t.name,steps:[...t.steps]})),...Xy()?{presenterExposed:!0}:{}}}function CR(){return[...hn.testids]}function Hf(){return hn.signals.length>0||hn.flows.length>0||Pf(hn.testids,OR()).length>0||Pf(hn.stores,IR()).length>0}var WE,wR,hn,Mf,vi=S(()=>{"use strict";D();Ye();hR();$s();WE=globalThis;hn=(wR=WE.__reticleCapabilities)!=null?wR:WE.__reticleCapabilities=cH()});function jf(){return JE>0}function qe(t){JE+=1;try{return t()}finally{JE-=1}}var JE,Tc=S(()=>{"use strict";JE=0});function sN(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,ob))}var Yn,eN,rb,tN,rN,nN,Wf,oe,_e,zf,ob,oN,Ri,iN,dt=S(()=>{"use strict";Yn=globalThis,eN=typeof Yn.setTimeout=="function"?Yn.setTimeout.bind(Yn):null,rb=typeof Yn.clearTimeout=="function"?Yn.clearTimeout.bind(Yn):null,tN=typeof Yn.requestAnimationFrame=="function"?Yn.requestAnimationFrame.bind(Yn):null,nN=typeof((rN=Yn.performance)==null?void 0:rN.now)=="function"?Yn.performance.now.bind(Yn.performance):null,Wf=()=>nN?nN():0,oe=(t,e=0)=>eN?eN(t,e):0,_e=t=>{rb==null||rb(t)},zf=(t,e)=>{let n=!1,r=0,o=()=>{n||(t(),!n&&(r=oe(o,e)))};return r=oe(o,e),()=>{n=!0,_e(r)}},ob=200,oN=(t=ob)=>new Promise(e=>{let n=!1,r=s=>{n||(n=!0,_e(o),e({settled:s}))},o=oe(()=>r(!1),t);tN?tN(()=>r(!0)):oe(()=>r(!0),0)}),Ri=()=>oN().then(()=>{}),iN=async(t=ob)=>(await Promise.resolve(),oN(t))});var uw={};Ua(uw,{MASK:()=>lw,cloneForRender:()=>dw,renderPage:()=>kF});function NF(t){var e;return t instanceof HTMLInputElement&&t.type==="password"?!0:[t.name,t.id,(e=t.getAttribute("autocomplete"))!=null?e:""].some(n=>n.length>0&&it(n))}function wF(t,e){if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){let n=NF(t)&&t.value.length>0?lw:t.value;t instanceof HTMLTextAreaElement?e.textContent=n:e.setAttribute("value",n)}t instanceof HTMLInputElement&&(t.checked?e.setAttribute("checked",""):e.removeAttribute("checked")),t instanceof HTMLOptionElement&&(t.selected?e.setAttribute("selected",""):e.removeAttribute("selected"))}function OF(t){var r;let e=[...Array.from(t.styleSheets),...(r=t.adoptedStyleSheets)!=null?r:[]],n=[];for(let o of e)try{for(let s of Array.from(o.cssRules))n.push(s.cssText)}catch{}return n.join(`
|
|
2
|
+
`)}function dw(t){var l;let e=t.documentElement,n=e.cloneNode(!0),r=e.querySelectorAll("*"),o=n.querySelectorAll("*");r.forEach((d,u)=>{let p=o[u];p!==void 0&&wF(d,p)});let s=[Ei,"script","noscript",'link[rel~="stylesheet"]',"style"];n.querySelectorAll(s.join(",")).forEach(d=>d.remove());let a=t.createElement("style");return a.textContent=OF(t),((l=n.querySelector("head"))!=null?l:n).append(a),n}function IF(t){let e=t.defaultView;for(let n of[t.body,t.documentElement]){if(e===null||n===null)continue;let r=e.getComputedStyle(n).backgroundColor;if(r.length>0&&r!=="transparent"&&r!=="rgba(0, 0, 0, 0)")return r}return yF}function CF(t){return new Promise((e,n)=>{let r=new Image,o=setTimeout(()=>n(new Error("the page did not render in time")),xF);r.onload=()=>{clearTimeout(o),e(r)},r.onerror=()=>{clearTimeout(o),n(new Error("the page could not be drawn as an image"))},r.src=t})}function LF(t){let e=[];for(let n=0;n<t.length;n+=cw)e.push(t.slice(n,n+cw));return e}async function kF(){try{let t=Math.max(1,window.innerWidth),e=Math.max(1,window.innerHeight),n=dw(document);n.style.transform=`translate(${String(-window.scrollX)}px, ${String(-window.scrollY)}px)`;let r=new XMLSerializer().serializeToString(n),o=`<svg xmlns="${AF}" width="${String(t)}" height="${String(e)}"><foreignObject x="0" y="0" width="100%" height="100%">${r}</foreignObject></svg>`,s=await CF(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(o)}`),a=IF(document),l=Math.min(1,bg.MAX_SIDE_PX/Math.max(t,e));for(let d=0;d<_F;d+=1,l*=SF){let u=document.createElement("canvas");u.width=Math.max(1,Math.round(t*l)),u.height=Math.max(1,Math.round(e*l));let p=u.getContext("2d");if(p===null)return{ok:!1,reason:"this page has no 2D canvas to draw into"};p.fillStyle=a,p.fillRect(0,0,u.width,u.height),p.drawImage(s,0,0,u.width,u.height);let h=u.toDataURL(vF,bg.JPEG_QUALITY).replace(RF,"");if(h.length<=TF)return{ok:!0,width:u.width,height:u.height,chunks:LF(h)}}return{ok:!1,reason:"the rendered page was too large to send, even scaled down"}}catch(t){return{ok:!1,reason:t instanceof Error?t.message:String(t)}}}var lw,TF,cw,SF,_F,xF,AF,yF,vF,RF,pw=S(()=>{"use strict";D();Ye();lw="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",TF=24e4,cw=6e4,SF=.75,_F=4,xF=5e3,AF="http://www.w3.org/2000/svg",yF="#ffffff",vF="image/jpeg",RF=/^data:[^,]*,/});function dh(t,e){return`${ky}${t}. ${String(e)} attempts, all failed. That is everything the page can see: from inside the browser it cannot tell a daemon that is not there from one it is not allowed to reach, so this is not evidence about the daemon. What answers it: run \`npx @reticlehq/server status\` to see whether one is listening and on which port. If your app runs in a container, devcontainer or WSL, the daemon is on a different host, so point the page at it: RETICLE_PORT or reticle({ port }) with the Vite plugin, reticle.connect({ url }) by hand. An https page cannot open a ws:// socket. Still retrying\u2026`}var _w,_b=S(()=>{"use strict";D();_w="Can't reach Reticle from this page. Run reticle status to check, or reticle serve to start it."});var ke,Nn,Jt,kb=S(()=>{"use strict";ke={READ:"read",ACT:"act",NARRATION:"narration",HUMAN:"human"},Nn={PASS:"pass",FAIL:"fail"},Jt={AGENT:"agent",HARNESS:"harness"}});function uu(t){switch(t){case L.CLICK:case L.DBLCLICK:return"Clicking";case L.FILL:case L.TYPE:return"Typing into";case L.HOVER:return"Hovering";case L.SELECT:return"Selecting";case L.SUBMIT:return"Submitting";case L.CHECK:case L.UNCHECK:return"Toggling";case L.UPLOAD:return"Uploading to";case L.DRAG:return"Dragging";default:return t}}var Db=S(()=>{"use strict";D()});function Fo(t){return typeof t=="string"&&t.length>0}function FB(t){var n;return`${(n=t.file.split("/").pop())!=null?n:t.file}:${t.line}`}function ZO(t){var e;if(Fo(t.testid))return{strategy:Er.TESTID,value:t.testid,stable:!0};if(Fo(t.component)&&t.source!==void 0)return{strategy:Er.COMPONENT,value:`${t.component}@${FB(t.source)}`,stable:!0};if(Fo(t.component)&&(Fo(t.role)||Fo(t.name))){let n=Fo(t.name)?t.name:t.role;return{strategy:Er.COMPONENT,value:`${t.component}[${n!=null?n:""}]`,stable:!0}}if(Fo(t.role)&&Fo(t.name))return{strategy:Er.ROLE,value:`${t.role}:${t.name}`,stable:!1};if(Fo(t.role)){let n=t.nth!==void 0?`#${t.nth}`:"";return{strategy:Er.ROLE,value:`${t.role}${n}`,stable:!1}}return{strategy:Er.POSITION,value:`el#${(e=t.nth)!=null?e:0}`,stable:!1}}var Er,QO=S(()=>{"use strict";Er={TESTID:"testid",COMPONENT:"component",ROLE:"role",POSITION:"position"}});function BB(t,e,n){return n.length>0?e.length>0?`${e} "${n}"`:`"${n}"`:e.length>0?e:t.tagName.toLowerCase()}function gu(t){var p;let e=(p=Te(t))!=null?p:void 0,n=Wn(t),r=n==null?void 0:n.componentStack[0],o=Af(t,n==null?void 0:n.source),s=Ne(t),a=Se(t),l={};e!==void 0&&(l.testid=e),r!==void 0&&(l.component=r),o!==void 0&&(l.source=o),s.length>0&&(l.role=s),a.length>0&&(l.name=a);let d=ZO(l),u={anchor:d.value,strategy:GB[d.strategy],label:BB(t,s,a)};return o!==void 0&&(u.source=o),u}var GB,Ub=S(()=>{"use strict";xt();D();QO();mt();ko();Hd();GB={[Er.TESTID]:Os.TESTID,[Er.COMPONENT]:Os.COMPONENT,[Er.ROLE]:Os.ROLE,[Er.POSITION]:Os.POSITION}});function JO(t){return`${String(t)} ${t===1?"note":"notes"} on this page`}function Sh(t,e){let n=t.length,r=`I marked ${String(n)} ${n===1?"issue":"issues"} on ${e} with Reticle. Fix each one, then verify it in the running app:`,o=t.map((s,a)=>{let l=s.source===void 0?s.anchor:`${s.anchor}, ${s.source}`;return`${String(a+1)}. ${s.note}
|
|
3
|
+
${s.label} (${l}) on ${s.route}`});return[r,"",...o].join(`
|
|
4
|
+
`)}var Fb=S(()=>{"use strict"});var _h,ge,Gb,n0,r0,o0,e0,i0,s0,a0=S(()=>{"use strict";_h="data-reticle-mark",ge=t=>`[${_h}="${t}"]`,Gb="What should change?",n0="Add",r0="Cancel",o0="+",e0=2147483601,i0=`
|
|
5
|
+
${ge("root")}{position:fixed;inset:0;pointer-events:none;z-index:${String(e0)};}
|
|
6
6
|
${ge("root")}[data-hide="1"] ${ge("pin")}{display:none;}
|
|
7
7
|
html[data-reticle-mark-active] *{cursor:crosshair !important;}
|
|
8
8
|
html[data-reticle-mark-active] [data-reticle-overlay],
|
|
@@ -38,7 +38,7 @@ ${ge("tipq")}{display:block;font-size:12px;font-style:italic;color:rgba(255,255,
|
|
|
38
38
|
margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
39
39
|
${ge("tipn")}{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
40
40
|
${ge("pop")}{position:fixed;pointer-events:auto;width:280px;box-sizing:border-box;padding:12px 16px 14px;
|
|
41
|
-
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(
|
|
41
|
+
background:#1a1a1a;border-radius:16px;color:#fff;z-index:${String(e0+8)};
|
|
42
42
|
box-shadow:0 4px 24px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.08);
|
|
43
43
|
font:13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;transform:translateX(-50%);opacity:0;}
|
|
44
44
|
${ge("pop")}[data-in="1"]{opacity:1;animation:reticle-mark-pop-in .2s cubic-bezier(.34,1.56,.64,1) forwards;}
|
|
@@ -65,23 +65,23 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
65
65
|
40%{transform:translateX(calc(-50% + 3px))}
|
|
66
66
|
60%{transform:translateX(calc(-50% - 2px))}
|
|
67
67
|
80%{transform:translateX(calc(-50% + 2px))}}
|
|
68
|
-
`,
|
|
69
|
-
<textarea rows="2" placeholder="${
|
|
68
|
+
`,s0=`<div ${_h}="hi"><span ${_h}="hilabel"></span></div><div ${_h}="sel" hidden></div>`});function d0(t){return t.source===void 0?void 0:`${t.source.file}:${String(t.source.line)}`}function Ah(){return typeof location=="undefined"?"":location.pathname+location.search}function KB(t){return gu(t).anchor}function WB(t){if(t===void 0||typeof getComputedStyle=="undefined")return!1;let e=getComputedStyle(t).position;return e==="fixed"||e==="sticky"}function p0(t,e){let n=document.elementsFromPoint.bind(document);if(n!==void 0){for(let r of n(t,e))if(!jr(r))return r}}function f0(t,e){let n=window.innerWidth,r=window.innerHeight,o=Math.min(Math.max(t,xh+c0/2),n-xh-c0/2),s=e+12;return s+l0>r-xh&&(s=Math.max(xh,e-l0-12)),{left:o,top:s}}function zB(t){var s;let e=Te(t);if(e!==null&&e.length>0)return e;let n=t.tagName.toLowerCase(),r=t.getAttribute("aria-label");if(r!==null&&r.length>0)return`${n} "${r}"`;let o=((s=t.textContent)!=null?s:"").trim().replace(/\s+/g," ").slice(0,40);return o.length>0?`${n} "${o}"`:n}function y0(t){let e=new ea(t);return e.mount(),e}var VB,jB,c0,l0,xh,Zr,Bb,Go,Uc,Fc,bu,Tu,Su,On,In,Gc,Ks,mn,Ws,qn,Bo,Zn,At,Pi,zs,Vo,jo,Ys,Xs,_u,xu,qs,Bc,Vc,Zs,H,h0,Hc,m0,g0,E0,b0,yh,Vb,jb,T0,Kb,Qs,Js,S0,Wb,zb,_0,Yb,Xb,x0,Eu,qb,A0,br,ea,u0,Zb=S(()=>{"use strict";xt();Tc();D();Ye();Ub();Fb();dt();a0();VB=130,jB=250,c0=280,l0=170,xh=8,Zr="data-reticle-mark",Bb="data-reticle-mark-active",Go=t=>`[${Zr}="${t}"]`,ea=class{constructor(e){b(this,H);b(this,Uc);b(this,Fc);b(this,bu);b(this,Tu);b(this,Su);b(this,On);b(this,In);b(this,Gc);b(this,Ks);b(this,mn);b(this,Ws);b(this,qn);b(this,Bo);b(this,Zn,!1);b(this,At,[]);b(this,Pi);b(this,zs);b(this,Vo);b(this,jo);b(this,Ys);b(this,Xs);b(this,_u);b(this,xu);b(this,qs);b(this,Bc);b(this,Vc);b(this,Zs);b(this,Qs);b(this,Js,{x:0,y:0});var n;f(this,Uc,e.emit),f(this,Fc,e.now),f(this,bu,e.onMark),f(this,Tu,(n=e.shouldBlock)!=null?n:(()=>!0)),f(this,Su,e.onCountChange)}get active(){return c(this,Zn)}get markCount(){return c(this,At).length}annotations(){return c(this,At).map(({id:e,createdAt:n,note:r,label:o,anchor:s,route:a,source:l})=>({id:e,createdAt:n,note:r,label:o,anchor:s,route:a,...l===void 0?{}:{source:l}}))}mount(){var o,s,a;if(c(this,On)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute(Zr,"style"),e.textContent=i0,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute(Zr,"root"),n.innerHTML=s0,document.body.appendChild(n),f(this,On,n),f(this,In,(o=n.querySelector(Go("hi")))!=null?o:void 0),f(this,Gc,(s=n.querySelector(Go("hilabel")))!=null?s:void 0),f(this,Ks,(a=n.querySelector(Go("sel")))!=null?a:void 0);let r=new AbortController;f(this,Vc,r),document.addEventListener("click",l=>E(this,H,g0).call(this,l),{capture:!0,signal:r.signal}),document.addEventListener("mousemove",l=>E(this,H,E0).call(this,l),{passive:!0,capture:!0,signal:r.signal}),document.addEventListener("keydown",l=>E(this,H,m0).call(this,l),{signal:r.signal}),window.addEventListener("scroll",()=>E(this,H,qb).call(this),{capture:!0,signal:r.signal}),window.addEventListener("resize",()=>E(this,H,qb).call(this),{signal:r.signal}),f(this,Zs,new MutationObserver(()=>this.syncAnchors())),c(this,Zs).observe(document.documentElement,{childList:!0,subtree:!0}),c(this,Bc)!==void 0&&this.setAccent(c(this,Bc))}setAccent(e){var n;f(this,Bc,e),(n=c(this,On))==null||n.style.setProperty("--reticle-mark-accent",e)}attachChrome(e){var n,r;f(this,jo,e.markersBtn),f(this,Ys,e.clearBtn),f(this,Xs,e.copyRow),f(this,_u,e.onCount),f(this,xu,e.onMarksChange),f(this,qs,e.countEl),(n=c(this,jo))==null||n.addEventListener("click",o=>{o.stopPropagation(),E(this,H,h0).call(this)}),(r=c(this,Ys))==null||r.addEventListener("click",o=>{o.stopPropagation(),this.clearAll()}),E(this,H,Hc).call(this)}destroy(){var e,n,r;(e=c(this,Vc))==null||e.abort(),f(this,Vc,void 0),(n=c(this,Zs))==null||n.disconnect(),f(this,Zs,void 0),c(this,qn)!==void 0&&_e(c(this,qn)),c(this,Bo)!==void 0&&_e(c(this,Bo)),E(this,H,br).call(this),document.documentElement.removeAttribute(Bb),(r=c(this,On))==null||r.remove(),document.querySelectorAll(`style[${Zr}="style"]`).forEach(o=>o.remove()),f(this,On,void 0),f(this,Zn,!1),f(this,At,[])}toggle(e){f(this,Zn,e!=null?e:!c(this,Zn)),c(this,Zn)?document.documentElement.setAttribute(Bb,"1"):(document.documentElement.removeAttribute(Bb),E(this,H,yh).call(this),E(this,H,br).call(this)),E(this,H,Hc).call(this)}agentPrompt(e){return Sh(c(this,At),e)}clearAll(){E(this,H,br).call(this);for(let e of c(this,At))e.pin.remove();f(this,At,[]),E(this,H,Hc).call(this)}syncAnchors(){let e=Ah();for(let n of c(this,At))n.target!==void 0&&document.contains(n.target)?n.pin.removeAttribute("data-stale"):(n.target=void 0,n.pin.setAttribute("data-stale","1")),n.pin.hidden=n.route!==e;E(this,H,Eu).call(this)}};Uc=new WeakMap,Fc=new WeakMap,bu=new WeakMap,Tu=new WeakMap,Su=new WeakMap,On=new WeakMap,In=new WeakMap,Gc=new WeakMap,Ks=new WeakMap,mn=new WeakMap,Ws=new WeakMap,qn=new WeakMap,Bo=new WeakMap,Zn=new WeakMap,At=new WeakMap,Pi=new WeakMap,zs=new WeakMap,Vo=new WeakMap,jo=new WeakMap,Ys=new WeakMap,Xs=new WeakMap,_u=new WeakMap,xu=new WeakMap,qs=new WeakMap,Bc=new WeakMap,Vc=new WeakMap,Zs=new WeakMap,H=new WeakSet,h0=function(){var r,o;let e=c(this,On);if(e===void 0)return;let n=e.getAttribute("data-hide")==="1"?"0":"1";n==="1"?e.setAttribute("data-hide","1"):e.removeAttribute("data-hide"),(r=c(this,jo))==null||r.setAttribute("data-active",n==="0"?"0":"1"),(o=c(this,jo))==null||o.setAttribute("aria-pressed",n==="1"?"true":"false")},Hc=function(){var n,r,o,s,a;let e=c(this,At).length;if((n=c(this,Su))==null||n.call(this,e),c(this,qs)!==void 0&&(c(this,qs).textContent=String(e),c(this,qs).hidden=e===0),(r=c(this,Ys))==null||r.toggleAttribute("disabled",e===0),(o=c(this,_u))==null||o.call(this,e),(s=c(this,xu))==null||s.call(this,this.annotations()),c(this,Xs)!==void 0){c(this,Xs).hidden=e===0;let l=c(this,Xs).querySelector("[data-reticle-marks-text]");l!==null&&(l.textContent=JO(e))}(a=c(this,jo))==null||a.toggleAttribute("disabled",e===0)},m0=function(e){if(!(e.key!=="Escape"||!c(this,Zn))){if(c(this,mn)!==void 0){e.preventDefault(),E(this,H,br).call(this);return}this.toggle(!1)}},g0=function(e){var l,d;if(!c(this,Zn)||jf())return;let n=e.target;if(!(n instanceof Element))return;let r=n.hasAttribute(u0)?p0(e.clientX,e.clientY):n;if(r===void 0||ft(r)||((l=c(this,jo))==null?void 0:l.contains(r))===!0||((d=c(this,Ys))==null?void 0:d.contains(r))===!0||r.closest(Go("pin"))!==null||r.closest(Go("pop"))!==null)return;if(c(this,mn)!==void 0){e.preventDefault(),e.stopPropagation(),E(this,H,zb).call(this);return}let o=r instanceof HTMLElement?r:r.parentElement;if(o===null)return;c(this,Tu).call(this)?(e.preventDefault(),e.stopPropagation()):e.preventDefault();let s=KB(o),a=c(this,At).find(u=>u.anchor===s&&u.route===Ah());if(a!==void 0){E(this,H,Vb).call(this,a);return}E(this,H,T0).call(this,o,e.clientX,e.clientY)},E0=function(e){c(this,qn)!==void 0&&_e(c(this,qn)),f(this,qn,oe(()=>{f(this,qn,void 0),E(this,H,b0).call(this,e)},VB))},b0=function(e){if(c(this,In)===void 0)return;let n=e.target,r=n instanceof Element&&n.hasAttribute(u0)?p0(e.clientX,e.clientY):n;if(!c(this,Zn)||c(this,mn)!==void 0||!(r instanceof Element)||ft(r)||r.closest(Go("pin"))!==null){c(this,In).setAttribute("data-on","0");return}let s=r.getBoundingClientRect();if(s.width===0&&s.height===0){c(this,In).setAttribute("data-on","0");return}c(this,In).style.left=`${String(s.left)}px`,c(this,In).style.top=`${String(s.top)}px`,c(this,In).style.width=`${String(s.width)}px`,c(this,In).style.height=`${String(s.height)}px`,c(this,In).setAttribute("data-on","1"),c(this,Gc)!==void 0&&(c(this,Gc).textContent=zB(r))},yh=function(){var e;c(this,qn)!==void 0&&(_e(c(this,qn)),f(this,qn,void 0)),(e=c(this,In))==null||e.setAttribute("data-on","0")},Vb=function(e){E(this,H,br).call(this),f(this,Pi,e),f(this,zs,e.anchor),f(this,Vo,e.target),E(this,H,yh).call(this);let n=E(this,H,jb).call(this,e);E(this,H,Kb).call(this,e.label,n.x,n.y,e.note),E(this,H,Xb).call(this,n.x,n.y),E(this,H,Eu).call(this)},jb=function(e){let n=e.target;if(n!==void 0&&n.isConnected){let r=n.getBoundingClientRect();if(r.width>0||r.height>0)return{x:r.left+r.width/2,y:r.top+r.height/2}}return{x:e.clientX,y:e.isFixed?e.clientY:e.yDoc-window.scrollY}},T0=function(e,n,r){let o=gu(e),s=o.anchor;if(c(this,zs)===s&&c(this,mn)!==void 0){E(this,H,zb).call(this);return}E(this,H,br).call(this),E(this,H,yh).call(this),f(this,Pi,void 0),f(this,zs,s),f(this,Vo,e);let a=o.source!==void 0?`${o.label} \xB7 ${o.source.file}:${String(o.source.line)}`:o.label;E(this,H,Kb).call(this,a,n,r,""),E(this,H,Xb).call(this,n,r),E(this,H,Eu).call(this),E(this,H,S0).call(this,o,n,r)},Kb=function(e,n,r,o){var p,h;let s=document.createElement("div");s.setAttribute(Zr,"pop"),s.setAttribute("role","dialog"),s.setAttribute("aria-label",Gb),s.innerHTML=`<div class="reticle-mark-where"></div>
|
|
69
|
+
<textarea rows="2" placeholder="${Gb}"></textarea>
|
|
70
70
|
<div class="reticle-mark-row">
|
|
71
|
-
<button type="button" data-cancel data-reticle-mark-cancel>${
|
|
72
|
-
<button type="button" data-send data-reticle-mark-send disabled>${
|
|
73
|
-
</div>`;let s=a.querySelector(".reticle-mark-where");s!==null&&(s.textContent=e);let l=WN(n,r);a.style.left=`${String(l.left)}px`,a.style.top=`${String(l.top)}px`,(p=c(this,_n))==null||p.appendChild(a),h(this,dn,a),requestAnimationFrame(()=>a.setAttribute("data-in","1"));let d=a.querySelector("textarea"),u=a.querySelector("button[data-send]");d!==null&&(d.value=o,u!==null&&(u.disabled=d.value.trim().length===0),d.addEventListener("input",()=>{u!==null&&(u.disabled=d.value.trim().length===0)}),d.addEventListener("keydown",m=>{m.stopPropagation(),!m.isComposing&&(m.key==="Escape"?(m.preventDefault(),E(this,$,dr).call(this)):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),E(this,$,jE).call(this)))}),ee(()=>d.focus(),50)),(f=a.querySelector("button[data-cancel]"))==null||f.addEventListener("click",()=>E(this,$,dr).call(this)),u==null||u.addEventListener("click",()=>E(this,$,jE).call(this)),h(this,La,void 0),h(this,ka,{x:n,y:r})},La=new WeakMap,ka=new WeakMap,JN=function(e,n,r){h(this,La,e),h(this,ka,{x:n,y:r})},jE=function(){var o,a,s;let e=(s=(a=(o=c(this,dn))==null?void 0:o.querySelector("textarea"))==null?void 0:a.value.trim())!=null?s:"";if(e.length===0)return;let n=c(this,Ti);if(n!==void 0){n.note=e;let l=n.pin.querySelector(yo("tipn"));l!==null&&(l.textContent=e),c(this,Sc).call(this,x.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),E(this,$,WE).call(this,e,n.anchor,n.label,c(this,mt).indexOf(n)+1,n.source),E(this,$,Tc).call(this),E(this,$,dr).call(this);return}let r=c(this,La);r!==void 0&&(E(this,$,ew).call(this,e,r,c(this,ka).x,c(this,ka).y),E(this,$,dr).call(this))},KE=function(){let e=c(this,dn);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,vo)!==void 0&&Te(c(this,vo)),h(this,vo,ee(()=>{e.classList.remove("reticle-mark-shake"),h(this,vo,void 0)},qH)))},ew=function(e,n,r,o){let a={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:kf()};n.source!==void 0&&(a.source=n.source),c(this,Sc).call(this,x.HUMAN_MARK,a),c(this,_c).call(this),E(this,$,tw).call(this,n,e,r,o),E(this,$,WE).call(this,e,n.anchor,n.label,c(this,mt).length,VN(n))},WE=function(e,n,r,o,a){var l;let s={note:e,anchor:n,label:r,index:o};a!==void 0&&(s.source=a),(l=c(this,Vd))==null||l.call(this,s)},zE=function(e,n){var o,a;(o=c(this,Ra))==null||o.remove();let r=document.createElement("div");r.setAttribute(Ur,"pending"),r.textContent=PN,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,(a=c(this,_n))==null||a.appendChild(r),h(this,Ra,r)},tw=function(e,n,r,o){if(c(this,_n)===void 0)return;let a=document.createElement("button");a.type="button",a.setAttribute(Ur,"pin"),a.setAttribute("aria-label",e.label);let s=c(this,mt).length+1;a.innerHTML=`<span>${String(s)}</span><span ${Ur}="tip"><span ${Ur}="tipq"></span><span ${Ur}="tipn"></span></span>`;let l=a.querySelector(yo("tipq")),d=a.querySelector(yo("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=QH(c(this,Ro)),p=u?o:o+window.scrollY;a.style.left=`${String(r/window.innerWidth*100)}%`,a.style.top=`${String(u?o:p-window.scrollY)}px`,c(this,_n).appendChild(a);let f=c(this,_c).call(this),m={id:`${e.anchor}:${String(f)}:${String(s)}`,createdAt:f,note:n,label:e.label,anchor:e.anchor,route:kf(),xPct:r/window.innerWidth*100,yDoc:p,clientX:r,clientY:o,isFixed:u,pin:a,target:c(this,Ro),source:VN(e)};a.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,jn)&&E(this,$,GE).call(this,m)}),c(this,mt).push(m),E(this,$,Tc).call(this)},Bd=function(){let e=c(this,va);if(e===void 0)return;let n=c(this,Ro);if(n===void 0||!document.contains(n)||c(this,dn)===void 0){e.hidden=!0;return}let r=n.getBoundingClientRect();e.hidden=!1,e.style.left=`${String(r.left)}px`,e.style.top=`${String(r.top)}px`,e.style.width=`${String(r.width)}px`,e.style.height=`${String(r.height)}px`},YE=function(){for(let e of c(this,mt)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}E(this,$,nw).call(this),E(this,$,Bd).call(this)},nw=function(){let e=c(this,dn),n=c(this,Ti);if(e===void 0||n===void 0)return;let r=E(this,$,BE).call(this,n),o=WN(r.x,r.y);e.style.left=`${String(o.left)}px`,e.style.top=`${String(o.top)}px`},dr=function(){var e,n;(e=c(this,dn))==null||e.remove(),h(this,dn,void 0),(n=c(this,Ra))==null||n.remove(),h(this,Ra,void 0),h(this,Na,void 0),h(this,Ro,void 0),h(this,La,void 0),h(this,Ti,void 0),c(this,va)!==void 0&&(c(this,va).hidden=!0)};jN="data-reticle-blocker"});var eU,Mf,tU,ow,iw=S(()=>{"use strict";eU={view:'<g><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0"/><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7s-8.268-2.943-9.542-7"/></g>',pointer:'<path d="M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917l-3.286-.672ZM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59"/>',send:'<path d="M6 12 3.269 3.126A59.768 59.768 0 0 1 21.485 12 59.77 59.77 0 0 1 3.27 20.876L5.999 12Zm0 0h7.5"/>',chart:'<path d="M9 19v-6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10m-6 0a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2"/>',"caret-down":'<path d="m19 9l-7 7l-7-7"/>',check:'<path d="m5 13l4 4L19 7"/>',remove:'<path d="m4.5 19.5l15-15m-15 0l15 15"/>',pause:'<path d="M8 5v14M16 5v14"/>',play:'<path d="M8 5.75v12.5L18 12 8 5.75Z"/>',stop:'<rect x="6.5" y="6.5" width="11" height="11" rx="2"/>',copy:'<path d="M8 7v8a2 2 0 0 0 2 2h6M8 7V5a2 2 0 0 1 2-2h4.586a1 1 0 0 1 .707.293l4.414 4.414a1 1 0 0 1 .293.707V15a2 2 0 0 1-2 2h-2M8 7H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"/>',download:'<path d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/>',message:'<path d="M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227c1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"/>',gear:'<g><path d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87c.074.04.147.083.22.127c.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124c.072-.044.146-.087.22-.128c.332-.183.582-.495.644-.869l.214-1.281Z"/><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z"/></g>',layout:'<path d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"/>',notes:'<path d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75a2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"/>',trash:'<path d="m19 7l-.867 12.142A2 2 0 0 1 16.138 21H7.862a2 2 0 0 1-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3M4 7h16"/>',help:'<path d="M8.228 9c.549-1.165 2.03-2 3.772-2c2.21 0 4 1.343 4 3c0 1.4-1.278 2.575-3.006 2.907c-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',"caret-right":'<path d="m9 5l7 7l-7 7"/>',annotate:'<path d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"/>',sync:'<path d="M4.5 12c0-1.232.046-2.453.138-3.662a4.006 4.006 0 0 1 3.7-3.7a48.678 48.678 0 0 1 7.324 0a4.006 4.006 0 0 1 3.7 3.7c.017.22.032.441.046.662M4.5 12l-3-3m3 3l3-3m12 3c0 1.232-.046 2.453-.138 3.662a4.006 4.006 0 0 1-3.7 3.7a48.657 48.657 0 0 1-7.324 0a4.006 4.006 0 0 1-3.7-3.7c-.017-.22-.032-.441-.046-.662M19.5 12l-3 3m3-3l3 3"/>'},Mf=eU,tU={chart:'<path fill="currentColor" d="M2 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm6-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1zm6-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/>',annotate:'<path fill="currentColor" fill-rule="evenodd" d="m5.433 13.916l1.262-3.154a4 4 0 0 1 .885-1.343L14.5 2.5a2.121 2.121 0 1 1 3 3l-6.92 6.919c-.383.383-.84.684-1.343.885l-3.154 1.262a.5.5 0 0 1-.65-.65ZM2.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H3.75A2.75 2.75 0 0 0 1 5.75v10.5A2.75 2.75 0 0 0 3.75 19h10.5A2.75 2.75 0 0 0 17 16.25V10a.75.75 0 0 0-1.5 0v6.25c0 .69-.56 1.25-1.25 1.25H3.75c-.69 0-1.25-.56-1.25-1.25V5.75Z" clip-rule="evenodd"/>',message:'<path fill="currentColor" fill-rule="evenodd" d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902c.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224a41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0a1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2Z" clip-rule="evenodd"/>',view:'<g fill="currentColor"><path d="M10 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4"/><path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10M14 10a4 4 0 1 1-8 0a4 4 0 0 1 8 0" clip-rule="evenodd"/></g>',gear:'<path fill="currentColor" fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54a6.993 6.993 0 0 1 1.93-1.115l.33-1.652ZM10 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6Z" clip-rule="evenodd"/>'},ow=tU});function nU(t,e){let n=`${t}:${String(e)}`,r=aw.get(n);if(r!==void 0)return document.importNode(r,!0);let o=Mf[t];if(o===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let s=new DOMParser().parseFromString(`<svg xmlns="${Yd}" viewBox="${Xd}" fill="none">${o}</svg>`,"image/svg+xml").documentElement,l=s instanceof SVGSVGElement?document.importNode(s,!0):document.createElementNS(Yd,"svg");return l.setAttribute("viewBox",Xd),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),s instanceof SVGSVGElement||(l.innerHTML=o),aw.set(n,l),document.importNode(l,!0)}function Fr(t,e=16){let n=document.createElement("span");return n.className="reticle-hi-icon",n.setAttribute("aria-hidden","true"),n.style.width=`${String(e)}px`,n.style.height=`${String(e)}px`,n.appendChild(nU(t,e)),n}function qE(t,e,n=16){t.replaceChildren(Fr(e,n))}function Ee(t,e=16){let n=Mf[t];if(n===void 0)throw new Error(`missing heroicon body: ${String(t)}`);return`<span class="reticle-hi-icon" aria-hidden="true" style="width:${String(e)}px;height:${String(e)}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function $f(t,e=16){let n=Mf[t],r=ow[t];if(n===void 0||r===void 0)throw new Error(`missing heroicon toggle pair: ${String(t)}`);let o=String(e);return`<span class="reticle-hi-toggle" aria-hidden="true" style="width:${o}px;height:${o}px"><span class="reticle-hi-icon reticle-hi-icon--outline" style="width:${o}px;height:${o}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${o}" height="${o}" fill="none">${n}</svg></span><span class="reticle-hi-icon reticle-hi-icon--solid" style="width:${o}px;height:${o}px"><svg xmlns="${Yd}" viewBox="${Xd}" width="${o}" height="${o}" fill="currentColor">${r}</svg></span></span>`}var Y,pe,Yd,Xd,aw,ur=S(()=>{"use strict";iw();Y={VIEW:"view",POINTER:"pointer",SEND:"send",CHART:"chart",CARET_DOWN:"caret-down",CHECK:"check",REMOVE:"remove",PAUSE:"pause",PLAY:"play",STOP:"stop",COPY:"copy",DOWNLOAD:"download",MESSAGE:"message",NOTES:"notes",GEAR:"gear",LAYOUT:"layout",TRASH:"trash",HELP:"help",CARET_RIGHT:"caret-right",ANNOTATE:"annotate",SYNC:"sync"},pe={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,NAV:18,TOOLBAR:18,FAB:22},Yd="http://www.w3.org/2000/svg",Xd="0 0 24 24",aw=new Map});function qd(t){t.scrollTop=t.scrollHeight,t.toggleAttribute(uU,t.scrollHeight>t.clientHeight+1)}function mw(t){qd(t),requestAnimationFrame(()=>{qd(t),requestAnimationFrame(()=>qd(t))}),ee(()=>qd(t),dU)}function gw(t){return[...t.children].filter(e=>e.hasAttribute(Ff))}function Bf(t,e){let n=gw(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function Vf(t){for(let e of gw(t))e.remove()}function eb(t){return t===void 0||!Number.isFinite(t)||t<=0?rU:Math.floor(t)}function Qd(t){let e=Math.max(0,Math.floor(t/1e3));if(e<60)return`${e}s`;let n=Math.floor(e/60);if(n<60)return e%60===0?`${n}m`:`${n}m ${e%60}s`;let r=Math.floor(n/60);return n%60===0?`${r}h`:`${r}h ${n%60}m`}function Ew(t){return Qd(t)}function tb(t,e,n,r,o,a=ln.AGENT){var _,y,A;let s=e===Fe.READ?pU(t,n,a):void 0;if(s!==void 0){let v=Number((_=s.getAttribute(lw))!=null?_:"1")+1;s.setAttribute(lw,String(v));let O=s.querySelector(`.${dw}`);O===null&&(O=document.createElement("span"),O.className=dw,(y=s.querySelector(`.${Hf}`))==null||y.after(O)),O.textContent=`\xD7${String(v)}`;let B=s.querySelector(`[${Zd}]`);B!==null&&(B.textContent=r);let oe=s.querySelector(`.${Gf}`);return oe===null?{result:()=>{}}:uw(s,oe)}let l=e===Fe.ACT||e===Fe.READ;if(l&&((A=t.getAttribute(Uf))!=null?A:ln.AGENT)!==a){let v=document.createElement("div");v.setAttribute(Ff,""),v.setAttribute(QE,cU),v.setAttribute(ZE,a);let O=document.createElement("span");O.className=Hf,O.textContent=sU[a],v.appendChild(O),t.appendChild(v)}l&&t.setAttribute(Uf,a);let d=document.createElement("div");d.setAttribute(Ff,""),d.setAttribute(QE,e),d.setAttribute(ZE,a),e===Fe.ACT&&d.setAttribute(fw,"running");let u=document.createElement("span");u.setAttribute(Zd,""),u.textContent=r;let p=[];e!==Fe.HUMAN&&p.push(u);let f=oU[e],m=iU[e];if(f.length>0||m!==void 0){let v=document.createElement("span");if(v.className=lU,v.setAttribute("data-mode",aU[e]),m!==void 0&&v.appendChild(Fr(m,pe.LOG)),f.length>0){let O=document.createElement("span");O.className="reticle-chip-label",O.textContent=f,v.appendChild(O)}p.push(v)}let g=document.createElement("span");g.className=Hf,g.textContent=n;let T=document.createElement("span");return T.className=Gf,p.push(g),e!==Fe.HUMAN&&p.push(T),d.append(...p),t.appendChild(d),Bf(t,o),requestAnimationFrame(()=>{qd(t)}),uw(d,T)}function pU(t,e,n){var o;let r=t.lastElementChild;if(!(!(r instanceof HTMLElement)||!r.hasAttribute(Ff))&&!(r.getAttribute(QE)!==Fe.READ||r.getAttribute(ZE)!==n))return((o=r.querySelector(`.${Hf}`))==null?void 0:o.textContent)===e?r:void 0}function uw(t,e){return{result:n=>{if(t.setAttribute(fw,n),n===Tn.PASS){e.textContent=sw.pass,e.className=`${Gf} ${cw.pass}`;return}e.textContent=` ${sw[n]}`,e.className=`${Gf} ${cw[n]}`}}}var rU,oU,iU,pw,aU,sw,sU,Uf,ZE,fw,cU,cw,JE,Ff,Zd,QE,Hf,lw,dw,Gf,lU,Pf,dU,hw,uU,wo=S(()=>{"use strict";H();CE();lt();ur();rU=50,oU={read:"READ",act:"ACT",narration:"",human:""},iU={read:Y.VIEW,act:Y.POINTER},pw={[je.IDLE]:"",[je.READING]:"READING",[je.ACTING]:"ACTING"},aU={read:je.READING,act:je.ACTING,narration:je.IDLE,human:je.IDLE},sw={pass:"\u2713",fail:"Fail"},sU={agent:"Your agent is driving",harness:"Reticle Harness is driving"},Uf="data-reticle-log-actor",ZE="data-actor",fw="data-state",cU="handover",cw={pass:"reticle-pass",fail:"reticle-fail"},JE="data-reticle-log",Ff="data-reticle-log-row",Zd="data-reticle-log-time",QE="data-kind",Hf="reticle-log-text",lw="data-reticle-repeat",dw="reticle-log-repeat",Gf="reticle-res",lU="reticle-chip",Pf={TITLE:"Reticle checks your app from the inside.",OFFLINE_TITLE:"Not connected yet.",OFFLINE_BODY:"Once Reticle is running, this page connects by itself and the steps show here.",BODY:"Ask your coding agent to verify a change with Reticle: each step shows here, live.\\AOr open Harness below: Reticle clicks through the app as the person you pick and reports what breaks."},dU=160,hw=`
|
|
71
|
+
<button type="button" data-cancel data-reticle-mark-cancel>${r0}</button>
|
|
72
|
+
<button type="button" data-send data-reticle-mark-send disabled>${n0}</button>
|
|
73
|
+
</div>`;let a=s.querySelector(".reticle-mark-where");a!==null&&(a.textContent=e);let l=f0(n,r);s.style.left=`${String(l.left)}px`,s.style.top=`${String(l.top)}px`,(p=c(this,On))==null||p.appendChild(s),f(this,mn,s),requestAnimationFrame(()=>s.setAttribute("data-in","1"));let d=s.querySelector("textarea"),u=s.querySelector("button[data-send]");d!==null&&(d.value=o,u!==null&&(u.disabled=d.value.trim().length===0),d.addEventListener("input",()=>{u!==null&&(u.disabled=d.value.trim().length===0)}),d.addEventListener("keydown",m=>{m.stopPropagation(),!m.isComposing&&(m.key==="Escape"?(m.preventDefault(),E(this,H,br).call(this)):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),E(this,H,Wb).call(this)))}),oe(()=>d.focus(),50)),(h=s.querySelector("button[data-cancel]"))==null||h.addEventListener("click",()=>E(this,H,br).call(this)),u==null||u.addEventListener("click",()=>E(this,H,Wb).call(this)),f(this,Qs,void 0),f(this,Js,{x:n,y:r})},Qs=new WeakMap,Js=new WeakMap,S0=function(e,n,r){f(this,Qs,e),f(this,Js,{x:n,y:r})},Wb=function(){var o,s,a;let e=(a=(s=(o=c(this,mn))==null?void 0:o.querySelector("textarea"))==null?void 0:s.value.trim())!=null?a:"";if(e.length===0)return;let n=c(this,Pi);if(n!==void 0){n.note=e;let l=n.pin.querySelector(Go("tipn"));l!==null&&(l.textContent=e),c(this,Uc).call(this,x.HUMAN_MARK,{note:e,anchor:n.anchor,label:n.label,route:n.route}),E(this,H,Yb).call(this,e,n.anchor,n.label,c(this,At).indexOf(n)+1,n.source),E(this,H,Hc).call(this),E(this,H,br).call(this);return}let r=c(this,Qs);r!==void 0&&(E(this,H,_0).call(this,e,r,c(this,Js).x,c(this,Js).y),E(this,H,br).call(this))},zb=function(){let e=c(this,mn);e!==void 0&&(e.classList.remove("reticle-mark-shake"),e.offsetWidth,e.classList.add("reticle-mark-shake"),c(this,Bo)!==void 0&&_e(c(this,Bo)),f(this,Bo,oe(()=>{e.classList.remove("reticle-mark-shake"),f(this,Bo,void 0)},jB)))},_0=function(e,n,r,o){let s={note:e,anchor:n.anchor,strategy:n.strategy,label:n.label,route:Ah()};n.source!==void 0&&(s.source=n.source),c(this,Uc).call(this,x.HUMAN_MARK,s),c(this,Fc).call(this),E(this,H,x0).call(this,n,e,r,o),E(this,H,Yb).call(this,e,n.anchor,n.label,c(this,At).length,d0(n))},Yb=function(e,n,r,o,s){var l;let a={note:e,anchor:n,label:r,index:o};s!==void 0&&(a.source=s),(l=c(this,bu))==null||l.call(this,a)},Xb=function(e,n){var o,s;(o=c(this,Ws))==null||o.remove();let r=document.createElement("div");r.setAttribute(Zr,"pending"),r.textContent=o0,r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,(s=c(this,On))==null||s.appendChild(r),f(this,Ws,r)},x0=function(e,n,r,o){if(c(this,On)===void 0)return;let s=document.createElement("button");s.type="button",s.setAttribute(Zr,"pin"),s.setAttribute("aria-label",e.label);let a=c(this,At).length+1;s.innerHTML=`<span>${String(a)}</span><span ${Zr}="tip"><span ${Zr}="tipq"></span><span ${Zr}="tipn"></span></span>`;let l=s.querySelector(Go("tipq")),d=s.querySelector(Go("tipn"));l!==null&&(l.textContent=e.label),d!==null&&(d.textContent=n);let u=WB(c(this,Vo)),p=u?o:o+window.scrollY;s.style.left=`${String(r/window.innerWidth*100)}%`,s.style.top=`${String(u?o:p-window.scrollY)}px`,c(this,On).appendChild(s);let h=c(this,Fc).call(this),m={id:`${e.anchor}:${String(h)}:${String(a)}`,createdAt:h,note:n,label:e.label,anchor:e.anchor,route:Ah(),xPct:r/window.innerWidth*100,yDoc:p,clientX:r,clientY:o,isFixed:u,pin:s,target:c(this,Vo),source:d0(e)};s.addEventListener("click",g=>{g.preventDefault(),g.stopPropagation(),c(this,Zn)&&E(this,H,Vb).call(this,m)}),c(this,At).push(m),E(this,H,Hc).call(this)},Eu=function(){let e=c(this,Ks);if(e===void 0)return;let n=c(this,Vo);if(n===void 0||!document.contains(n)||c(this,mn)===void 0){e.hidden=!0;return}let r=n.getBoundingClientRect();e.hidden=!1,e.style.left=`${String(r.left)}px`,e.style.top=`${String(r.top)}px`,e.style.width=`${String(r.width)}px`,e.style.height=`${String(r.height)}px`},qb=function(){for(let e of c(this,At)){if(e.isFixed){e.pin.style.top=`${String(e.clientY)}px`;continue}e.pin.style.top=`${String(e.yDoc-window.scrollY)}px`}E(this,H,A0).call(this),E(this,H,Eu).call(this)},A0=function(){let e=c(this,mn),n=c(this,Pi);if(e===void 0||n===void 0)return;let r=E(this,H,jb).call(this,n),o=f0(r.x,r.y);e.style.left=`${String(o.left)}px`,e.style.top=`${String(o.top)}px`},br=function(){var e,n;(e=c(this,mn))==null||e.remove(),f(this,mn,void 0),(n=c(this,Ws))==null||n.remove(),f(this,Ws,void 0),f(this,zs,void 0),f(this,Vo,void 0),f(this,Qs,void 0),f(this,Pi,void 0),c(this,Ks)!==void 0&&(c(this,Ks).hidden=!0)};u0="data-reticle-blocker"});var YB,vh,XB,w0,O0=S(()=>{"use strict";YB={view:'<g><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0"/><path d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7s-8.268-2.943-9.542-7"/></g>',pointer:'<path d="M15.042 21.672L13.684 16.6m0 0l-2.51 2.225l.569-9.47l5.227 7.917l-3.286-.672ZM12 2.25V4.5m5.834.166l-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243l-1.59-1.59"/>',send:'<path d="M6 12 3.269 3.126A59.768 59.768 0 0 1 21.485 12 59.77 59.77 0 0 1 3.27 20.876L5.999 12Zm0 0h7.5"/>',chart:'<path d="M9 19v-6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V9a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10m-6 0a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2m0 0V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2"/>',"caret-down":'<path d="m19 9l-7 7l-7-7"/>',check:'<path d="m5 13l4 4L19 7"/>',remove:'<path d="m4.5 19.5l15-15m-15 0l15 15"/>',pause:'<path d="M8 5v14M16 5v14"/>',play:'<path d="M8 5.75v12.5L18 12 8 5.75Z"/>',stop:'<rect x="6.5" y="6.5" width="11" height="11" rx="2"/>',copy:'<path d="M8 7v8a2 2 0 0 0 2 2h6M8 7V5a2 2 0 0 1 2-2h4.586a1 1 0 0 1 .707.293l4.414 4.414a1 1 0 0 1 .293.707V15a2 2 0 0 1-2 2h-2M8 7H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"/>',download:'<path d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"/>',message:'<path d="M8.625 9.75a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227c1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332a48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"/>',gear:'<g><path d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87c.074.04.147.083.22.127c.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 0 1 0 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124c.072-.044.146-.087.22-.128c.332-.183.582-.495.644-.869l.214-1.281Z"/><path d="M15 12a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z"/></g>',layout:'<path d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6Zm0 9.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"/>',notes:'<path d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75a2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"/>',trash:'<path d="m19 7l-.867 12.142A2 2 0 0 1 16.138 21H7.862a2 2 0 0 1-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v3M4 7h16"/>',help:'<path d="M8.228 9c.549-1.165 2.03-2 3.772-2c2.21 0 4 1.343 4 3c0 1.4-1.278 2.575-3.006 2.907c-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0"/>',"caret-right":'<path d="m9 5l7 7l-7 7"/>',annotate:'<path d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"/>',sync:'<path d="M4.5 12c0-1.232.046-2.453.138-3.662a4.006 4.006 0 0 1 3.7-3.7a48.678 48.678 0 0 1 7.324 0a4.006 4.006 0 0 1 3.7 3.7c.017.22.032.441.046.662M4.5 12l-3-3m3 3l3-3m12 3c0 1.232-.046 2.453-.138 3.662a4.006 4.006 0 0 1-3.7 3.7a48.657 48.657 0 0 1-7.324 0a4.006 4.006 0 0 1-3.7-3.7c-.017-.22-.032-.441-.046-.662M19.5 12l-3 3m3-3l3 3"/>'},vh=YB,XB={chart:'<path fill="currentColor" d="M2 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm6-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1zm6-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"/>',annotate:'<path fill="currentColor" fill-rule="evenodd" d="m5.433 13.916l1.262-3.154a4 4 0 0 1 .885-1.343L14.5 2.5a2.121 2.121 0 1 1 3 3l-6.92 6.919c-.383.383-.84.684-1.343.885l-3.154 1.262a.5.5 0 0 1-.65-.65ZM2.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H3.75A2.75 2.75 0 0 0 1 5.75v10.5A2.75 2.75 0 0 0 3.75 19h10.5A2.75 2.75 0 0 0 17 16.25V10a.75.75 0 0 0-1.5 0v6.25c0 .69-.56 1.25-1.25 1.25H3.75c-.69 0-1.25-.56-1.25-1.25V5.75Z" clip-rule="evenodd"/>',message:'<path fill="currentColor" fill-rule="evenodd" d="M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902c.848.137 1.705.248 2.57.331v3.443a.75.75 0 0 0 1.28.53l3.58-3.579a.78.78 0 0 1 .527-.224a41.202 41.202 0 0 0 5.183-.5c1.437-.232 2.43-1.49 2.43-2.903V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2Zm0 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2ZM8 8a1 1 0 1 1-2 0a1 1 0 0 1 2 0Zm5 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2Z" clip-rule="evenodd"/>',view:'<g fill="currentColor"><path d="M10 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4"/><path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10M14 10a4 4 0 1 1-8 0a4 4 0 0 1 8 0" clip-rule="evenodd"/></g>',gear:'<path fill="currentColor" fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54a6.993 6.993 0 0 1 1.93-1.115l.33-1.652ZM10 13a3 3 0 1 0 0-6a3 3 0 0 0 0 6Z" clip-rule="evenodd"/>'},w0=XB});function qB(t,e){let n=`${t}:${String(e)}`,r=I0.get(n);if(r!==void 0)return document.importNode(r,!0);let o=vh[t];if(o===void 0)throw new Error(`missing heroicon body: ${String(t)}`);let a=new DOMParser().parseFromString(`<svg xmlns="${Au}" viewBox="${yu}" fill="none">${o}</svg>`,"image/svg+xml").documentElement,l=a instanceof SVGSVGElement?document.importNode(a,!0):document.createElementNS(Au,"svg");return l.setAttribute("viewBox",yu),l.setAttribute("width",String(e)),l.setAttribute("height",String(e)),l.setAttribute("fill","none"),a instanceof SVGSVGElement||(l.innerHTML=o),I0.set(n,l),document.importNode(l,!0)}function Qr(t,e=16){let n=document.createElement("span");return n.className="reticle-hi-icon",n.setAttribute("aria-hidden","true"),n.style.width=`${String(e)}px`,n.style.height=`${String(e)}px`,n.appendChild(qB(t,e)),n}function Qb(t,e,n=16){t.replaceChildren(Qr(e,n))}function Ee(t,e=16){let n=vh[t];if(n===void 0)throw new Error(`missing heroicon body: ${String(t)}`);return`<span class="reticle-hi-icon" aria-hidden="true" style="width:${String(e)}px;height:${String(e)}px"><svg xmlns="${Au}" viewBox="${yu}" width="${String(e)}" height="${String(e)}" fill="none">${n}</svg></span>`}function Rh(t,e=16){let n=vh[t],r=w0[t];if(n===void 0||r===void 0)throw new Error(`missing heroicon toggle pair: ${String(t)}`);let o=String(e);return`<span class="reticle-hi-toggle" aria-hidden="true" style="width:${o}px;height:${o}px"><span class="reticle-hi-icon reticle-hi-icon--outline" style="width:${o}px;height:${o}px"><svg xmlns="${Au}" viewBox="${yu}" width="${o}" height="${o}" fill="none">${n}</svg></span><span class="reticle-hi-icon reticle-hi-icon--solid" style="width:${o}px;height:${o}px"><svg xmlns="${Au}" viewBox="${yu}" width="${o}" height="${o}" fill="currentColor">${r}</svg></span></span>`}var Q,he,Au,yu,I0,Tr=S(()=>{"use strict";O0();Q={VIEW:"view",POINTER:"pointer",SEND:"send",CHART:"chart",CARET_DOWN:"caret-down",CHECK:"check",REMOVE:"remove",PAUSE:"pause",PLAY:"play",STOP:"stop",COPY:"copy",DOWNLOAD:"download",MESSAGE:"message",NOTES:"notes",GEAR:"gear",LAYOUT:"layout",TRASH:"trash",HELP:"help",CARET_RIGHT:"caret-right",ANNOTATE:"annotate",SYNC:"sync"},he={CHIP:11,LOG:11,TALLY:12,CTL:10,SEND:14,MIN:12,HELP:12,NAV:18,TOOLBAR:18,FAB:22},Au="http://www.w3.org/2000/svg",yu="0 0 24 24",I0=new Map});function vu(t){t.scrollTop=t.scrollHeight,t.toggleAttribute(iV,t.scrollHeight>t.clientHeight+1)}function U0(t){vu(t),requestAnimationFrame(()=>{vu(t),requestAnimationFrame(()=>vu(t))}),oe(()=>vu(t),oV)}function F0(t){return[...t.children].filter(e=>e.hasAttribute(Ih))}function Lh(t,e){let n=F0(t);for(let r of n.slice(0,Math.max(0,n.length-e)))r.remove()}function kh(t){for(let e of F0(t))e.remove()}function nT(t){return t===void 0||!Number.isFinite(t)||t<=0?ZB:Math.floor(t)}function Nu(t){let e=Math.max(0,Math.floor(t/1e3));if(e<60)return`${e}s`;let n=Math.floor(e/60);if(n<60)return e%60===0?`${n}m`:`${n}m ${e%60}s`;let r=Math.floor(n/60);return n%60===0?`${r}h`:`${r}h ${n%60}m`}function G0(t){return Nu(t)}function Dh(t,e,n,r,o,s=Jt.AGENT){var _,A,N;let a=e===ke.READ?sV(t,n,s):void 0;if(a!==void 0){let y=Number((_=a.getAttribute(k0))!=null?_:"1")+1;a.setAttribute(k0,String(y));let v=a.querySelector(`.${D0}`);v===null&&(v=document.createElement("span"),v.className=D0,(A=a.querySelector(`.${wh}`))==null||A.after(v)),v.textContent=`\xD7${String(y)}`;let O=a.querySelector(`[${Ru}]`);O!==null&&(O.textContent=r);let j=a.querySelector(`.${Ch}`);return j===null?{result:()=>{}}:M0(a,j)}let l=e===ke.ACT||e===ke.READ;if(l&&((N=t.getAttribute(Oh))!=null?N:Jt.AGENT)!==s){let y=document.createElement("div");y.setAttribute(Ih,""),y.setAttribute(eT,nV),y.setAttribute(Jb,s);let v=document.createElement("span");v.className=wh,v.textContent=tV[s],y.appendChild(v),t.appendChild(y)}l&&t.setAttribute(Oh,s);let d=document.createElement("div");d.setAttribute(Ih,""),d.setAttribute(eT,e),d.setAttribute(Jb,s),e===ke.ACT&&d.setAttribute($0,"running");let u=document.createElement("span");u.setAttribute(Ru,""),u.textContent=r;let p=[];e!==ke.HUMAN&&p.push(u);let h=QB[e],m=JB[e];if(h.length>0||m!==void 0){let y=document.createElement("span");if(y.className=rV,y.setAttribute("data-mode",eV[e]),m!==void 0&&y.appendChild(Qr(m,he.LOG)),h.length>0){let v=document.createElement("span");v.className="reticle-chip-label",v.textContent=h,y.appendChild(v)}p.push(y)}let g=document.createElement("span");g.className=wh,g.textContent=n;let T=document.createElement("span");return T.className=Ch,p.push(g),e!==ke.HUMAN&&p.push(T),d.append(...p),t.appendChild(d),Lh(t,o),requestAnimationFrame(()=>{vu(t)}),M0(d,T)}function sV(t,e,n){var o;let r=t.lastElementChild;if(!(!(r instanceof HTMLElement)||!r.hasAttribute(Ih))&&!(r.getAttribute(eT)!==ke.READ||r.getAttribute(Jb)!==n))return((o=r.querySelector(`.${wh}`))==null?void 0:o.textContent)===e?r:void 0}function M0(t,e){return{result:n=>{if(t.setAttribute($0,n),n===Nn.PASS){e.textContent=C0.pass,e.className=`${Ch} ${L0.pass}`;return}e.textContent=` ${C0[n]}`,e.className=`${Ch} ${L0[n]}`}}}var ZB,QB,JB,P0,eV,C0,tV,Oh,Jb,$0,nV,L0,tT,Ih,Ru,eT,wh,k0,D0,Ch,rV,Nh,oV,H0,iV,Ko=S(()=>{"use strict";D();kb();dt();Tr();ZB=50,QB={read:"READ",act:"ACT",narration:"",human:""},JB={read:Q.VIEW,act:Q.POINTER},P0={[We.IDLE]:"",[We.READING]:"READING",[We.ACTING]:"ACTING"},eV={read:We.READING,act:We.ACTING,narration:We.IDLE,human:We.IDLE},C0={pass:"\u2713",fail:"Fail"},tV={agent:"Your agent is driving",harness:"Reticle Harness is driving"},Oh="data-reticle-log-actor",Jb="data-actor",$0="data-state",nV="handover",L0={pass:"reticle-pass",fail:"reticle-fail"},tT="data-reticle-log",Ih="data-reticle-log-row",Ru="data-reticle-log-time",eT="data-kind",wh="reticle-log-text",k0="data-reticle-repeat",D0="reticle-log-repeat",Ch="reticle-res",rV="reticle-chip",Nh={TITLE:"Reticle checks your app from the inside.",OFFLINE_TITLE:"Not connected yet.",OFFLINE_BODY:"Once Reticle is running, this page connects by itself and the steps show here.",BODY:"Ask your coding agent to verify a change with Reticle: each step shows here, live.\\AOr open Harness below: Reticle clicks through the app as the person you pick and reports what breaks."},oV=160,H0=`
|
|
74
74
|
[data-reticle-log]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;touch-action:pan-y;
|
|
75
75
|
display:flex;flex-direction:column;
|
|
76
76
|
gap:4px;padding:8px 10px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;
|
|
77
77
|
background:transparent;}
|
|
78
78
|
[data-reticle-log]:empty{align-items:center;justify-content:center;gap:6px;padding:16px 18px;}
|
|
79
|
-
[data-reticle-log]:empty::before{content:"${
|
|
79
|
+
[data-reticle-log]:empty::before{content:"${Nh.TITLE}";display:block;text-align:center;
|
|
80
80
|
color:var(--reticle-hud-text);font-size:var(--reticle-hud-size-base);font-weight:600;line-height:1.4;}
|
|
81
|
-
[data-reticle-log]:empty::after{content:"${
|
|
81
|
+
[data-reticle-log]:empty::after{content:"${Nh.BODY}";display:block;max-width:260px;text-align:center;white-space:pre-line;
|
|
82
82
|
color:var(--reticle-hud-text-muted);font-size:var(--reticle-hud-size-sm);line-height:1.5;}
|
|
83
|
-
[data-reticle-state="unreachable"] [data-reticle-log]:empty::before{content:"${
|
|
84
|
-
[data-reticle-state="unreachable"] [data-reticle-log]:empty::after{content:"${
|
|
83
|
+
[data-reticle-state="unreachable"] [data-reticle-log]:empty::before{content:"${Nh.OFFLINE_TITLE}";}
|
|
84
|
+
[data-reticle-state="unreachable"] [data-reticle-log]:empty::after{content:"${Nh.OFFLINE_BODY}";}
|
|
85
85
|
[data-reticle-log]::-webkit-scrollbar{width:8px;}
|
|
86
86
|
[data-reticle-log]::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
|
|
87
87
|
[data-reticle-log]::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26);background-clip:content-box;}
|
|
@@ -104,7 +104,7 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
104
104
|
[data-reticle-log] [data-reticle-log-row] .reticle-chip-label{
|
|
105
105
|
position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
|
|
106
106
|
[data-reticle-log] [data-reticle-log-row][data-kind="read"] .reticle-chip{opacity:.5;}
|
|
107
|
-
[${
|
|
107
|
+
[${Ru}]{flex:none;color:var(--reticle-faint);font-size:11px;font-variant-numeric:tabular-nums;padding-top:2px;min-width:2em;opacity:.85;}
|
|
108
108
|
[data-reticle-log] .reticle-log-text{flex:1;min-width:0;color:var(--reticle-muted);overflow-wrap:anywhere;word-break:break-word;}
|
|
109
109
|
[data-reticle-log] .reticle-log-repeat{flex:none;color:var(--reticle-muted);font-variant-numeric:tabular-nums;opacity:.7;}
|
|
110
110
|
[data-reticle-log] .reticle-res{flex:none;font-size:7.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--reticle-bad);opacity:.75;padding-top:2px;}
|
|
@@ -135,21 +135,21 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
135
135
|
/* What the Harness or the daemon says about a drive reads as a notice, not an aside. */
|
|
136
136
|
[data-reticle-log-row][data-kind="narration"]{font-style:normal;color:var(--reticle-fg);margin:4px 0;padding:7px 10px;
|
|
137
137
|
border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
|
|
138
|
-
`;
|
|
139
|
-
.${
|
|
138
|
+
`;iV="data-reticle-log-scrollable"});function j0(t,e=typeof navigator=="undefined"?void 0:navigator){return t!==void 0?t:(e==null?void 0:e.webdriver)===!0?0:aV}var ta,B0,wu,V0,Mh,aV,Sr,K0,W0,z0,_r,Y0,X0,q0,Wo,$i,tn,Ph,rT,Me,ut,M,Z0,$h,nn,zo,Hi,Ht,jc,Hh,Uh,Fh,Gh,Q0,Bh,oT,gn,$,iT,yt,Qe,Ou,C,sT,Kc,aT,Vh,jh,J0,Iu,eI,Wc,Kh,Jr,tI,Wh,zh,Yh,cT,Xh,nI,rI,lT,Et=S(()=>{"use strict";Kr();ta={SESSION:"session",BUSY:"busy"},B0=ta.SESSION,wu="data-busy",V0="1",Mh="0",aV=450;Sr={IDLE:"idle",BUSY:"busy",FADING:"fading"},K0=700,W0=1e3,z0=4e3,_r={READY:"Ready",PLANNING_PREFIX:"planning next action \xB7 ",STOPPED:"stopped",STOPPED_PREFIX:"stopped \xB7 ",NOW:"now",SINCE_LAST:" since last action",harnessTesting:t=>`Testing \xB7 Harness \xB7 ${String(t)} step${t===1?"":"s"}`},Y0=3e5,X0=5e3,q0=250,Wo="1",$i="0",tn="data-on",Ph="data-reticle-state",rT="unreachable",Me="data-reticle-min",ut="data-reticle-chat",M="data-reticle-dock",Z0="data-reticle-fab",$h="data-reticle-chat-toggle",nn="data-reticle-chat-panel",zo="data-reticle-chat-placement",Hi="data-reticle-settings-placement",Ht="data-reticle-dock-align",jc={ABOVE:"above",BELOW:"below"},Hh="data-reticle-markers-btn",Uh="data-reticle-clear-marks",Fh="data-reticle-copy-marks",Gh="data-reticle-marks-row",Q0="data-reticle-mark-count",Bh="data-reticle-annotate-btn",oT="data-reticle-chat-min",gn="data-reticle-report",$="data-reticle-report-panel",iT="data-reticle-report-close",yt="data-reticle-chat-pill",Qe="data-reticle-settings",Ou="data-reticle-settings-btn",C="data-reticle-settings-panel",sT="data-reticle-settings-close",Kc="data-reticle-setting",aT=ct.PRESENTER_SETTINGS,Vh=ct.PRESENTER_MINIMISED,jh=ct.PRESENTER_OPEN,J0="data-reticle-ambient-glow",Iu="data-reticle-live",eI="data-reticle-block",Wc="data-reticle-hidden",Kh="data-reticle-log-ts",Jr="data-reticle-reduce-motion",tI="https://github.com/reticlehq/reticle/blob/main/docs/getting-started.md",Wh="data-dragged",zh="--reticle-hud-x",Yh="--reticle-hud-y",cT=4,Xh=8,nI="[data-reticle-pause], [data-reticle-annotate-btn], [data-reticle-markers-btn], [data-reticle-clear-marks], [data-reticle-copy-marks], [data-reticle-end], [data-reticle-min-btn], [data-reticle-settings-btn], [data-reticle-settings-panel], [data-reticle-report-btn], [data-reticle-report-panel], [data-reticle-chat-panel], [data-reticle-chat-toggle], [data-reticle-workspace-btn], [data-reticle-workspace-menu], [data-reticle-copy], [data-reticle-export], .reticle-toolbar-chrome button, .reticle-toolbar-actions button, input, textarea, select, a, .reticle-head-ctl, [data-reticle-tally], .reticle-maxhint",rI="data-reticle-throttled",lT=100});var Cn,dT,Cu,xr,zc,oI,qh,iI,Ar=S(()=>{"use strict";Cn="reticle-hud-surface",dT="linear-gradient(165deg,#121218 0%,#09090c 42%,#000 100%)",Cu=`background:${dT};box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(255,255,255,.09);`,xr="0 16px 40px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08)",zc=["background:radial-gradient(130% 80% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 20%,transparent),transparent 62%),","linear-gradient(180deg,#121a2e,#080b14);","border:1px solid color-mix(in srgb,var(--reticle-c-active) 30%,rgba(255,255,255,.1));",`box-shadow:${xr},0 0 64px -12px color-mix(in srgb,var(--reticle-c-active) 75%,transparent);`].join(""),oI=`
|
|
139
|
+
.${Cn}{
|
|
140
140
|
position:relative;overflow:hidden;
|
|
141
141
|
contain:layout style paint;
|
|
142
|
-
${
|
|
142
|
+
${Cu}
|
|
143
143
|
}
|
|
144
|
-
.${
|
|
144
|
+
.${Cn}::before,
|
|
145
145
|
[data-reticle-hud] .reticle-hud-deco::after{
|
|
146
146
|
content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:1;
|
|
147
147
|
background:
|
|
148
148
|
radial-gradient(ellipse 120% 70% at 50% -18%,rgba(255,255,255,.07),transparent 52%),
|
|
149
149
|
linear-gradient(180deg,rgba(255,255,255,.035) 0%,transparent 36%,rgba(0,0,0,.12) 100%);
|
|
150
150
|
}
|
|
151
|
-
.${
|
|
152
|
-
.${
|
|
151
|
+
.${Cn} > *{position:relative;z-index:2;}`,qh="reticle-hud-log-well",iI=`
|
|
152
|
+
.${qh}{
|
|
153
153
|
/* A settled height, but still allowed to shrink: pinned with flex:none it pushed the composer
|
|
154
154
|
off the bottom of the panel the moment the rest of the content grew. */
|
|
155
155
|
/* A flex column, so the feed inside actually FILLS the height: as a plain block the log was only
|
|
@@ -159,241 +159,241 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
159
159
|
flex:1 1 auto;height:240px;min-height:120px;max-height:300px;overflow:hidden;
|
|
160
160
|
contain:layout style paint;
|
|
161
161
|
margin:0 6px;border-radius:12px;background:transparent;}
|
|
162
|
-
.${
|
|
163
|
-
[data-reticle-overlay][${
|
|
162
|
+
.${qh} > *{position:relative;z-index:1;}`});function Yc(t){return t.getAttribute(Wh)==="1"}function Xc(t,e,n,r,o,s,a=Xh){let l=a,d=a,u=Math.max(l,o-n-a),p=Math.max(d,s-r-a);return{left:Math.max(l,Math.min(t,u)),top:Math.max(d,Math.min(e,p))}}function Ui(t,e,n){t.setAttribute(Wh,"1"),t.style.setProperty(zh,`${String(e)}px`),t.style.setProperty(Yh,`${String(n)}px`)}function Lu(t){t.removeAttribute(Wh),t.style.removeProperty(zh),t.style.removeProperty(Yh)}function qc(t){let e=t.getBoundingClientRect();return{left:e.left,top:e.top,width:e.width,height:e.height}}function Zh(t){let e=t.style.getPropertyValue(zh),n=t.style.getPropertyValue(Yh);if(e!==""&&n!=="")return{left:Number.parseFloat(e),top:Number.parseFloat(n)};let r=t.getBoundingClientRect();return{left:r.left,top:r.top}}function ku(t){if(!Yc(t))return;let{left:e,top:n}=Zh(t),{width:r,height:o}=qc(t),s=Xc(e,n,r,o,window.innerWidth,window.innerHeight);Ui(t,s.left,s.top)}var Du=S(()=>{"use strict";Et()});function uV(t){var s,a,l,d,u,p,h,m;if(t.length===0)return;let e=(a=(s=t[0])==null?void 0:s.left)!=null?a:0,n=(d=(l=t[0])==null?void 0:l.top)!=null?d:0,r=(p=(u=t[0])==null?void 0:u.right)!=null?p:0,o=(m=(h=t[0])==null?void 0:h.bottom)!=null?m:0;for(let g of t.slice(1))e=Math.min(e,g.left),n=Math.min(n,g.top),r=Math.max(r,g.right),o=Math.max(o,g.bottom);return{left:e,top:n,right:r,bottom:o}}function uI(t,e,n){return t>=n?jc.ABOVE:e>=n?jc.BELOW:e>t?jc.BELOW:jc.ABOVE}function pI(t,e,n,r){let o=jc.ABOVE===t?e-r:n-r;return Math.max(0,o)}function fI(t,e,n){let r=`${String(n)}px`;t.style.setProperty(e,r),t.style.maxHeight=r}function hI(t,e){t.style.removeProperty(e),t.style.removeProperty("max-height")}function Qh(t){if(t===null)return!1;let e=window.getComputedStyle(t);return e.display!=="none"&&e.visibility!=="hidden"}function pV(t){let e=t.querySelector(`[${sI}]`);if(e instanceof HTMLElement)return e;if(t.hasAttribute(sI)||Yc(t))return t}function mI(t,e){let n=pV(t);if(n===void 0)return;let r=e.getAttribute(ut)==="1",o=e.getAttribute(Qe)==="1",s=t.querySelector(`[${nn}]`),a=t.querySelector(`[${C}]`),l=Xh,d=window.innerWidth,u=window.innerHeight,p=n.getBoundingClientRect(),h=p.top-l,m=u-p.bottom-l;if(r&&s instanceof HTMLElement&&Qh(s)){let O=s.getBoundingClientRect().height||lI,j=uI(h,m,O+aI);t.setAttribute(zo,j);let Y=Math.min(lI,Math.max(lV,pI(j,h,m,aI)));fI(s,"--reticle-chat-max-h",Y)}else t.removeAttribute(zo),s instanceof HTMLElement&&hI(s,"--reticle-chat-max-h");if(o&&a instanceof HTMLElement&&Qh(a)){let O=a.getBoundingClientRect().height||dI,j=uI(h,m,O+cV+cI);t.setAttribute(Hi,j);let Y=Math.min(dI,Math.max(dV,pI(j,h,m,cI)));fI(a,"--reticle-settings-max-h",Y)}else t.removeAttribute(Hi),a instanceof HTMLElement&&hI(a,"--reticle-settings-max-h");let g=Math.max(r&&s instanceof HTMLElement?s.getBoundingClientRect().width:0,o&&a instanceof HTMLElement?a.getBoundingClientRect().width:0);if(r||o){let O=p.right-g,j=p.left+g;O<l||p.left<l?t.setAttribute(Ht,"start"):j>d-l||p.right>d-l?t.setAttribute(Ht,"end"):t.setAttribute(Ht,"end")}else t.removeAttribute(Ht);if(!r&&!o){Yc(t)&&ku(t);return}let T=[p];r&&s instanceof HTMLElement&&Qh(s)&&T.push(s.getBoundingClientRect()),o&&a instanceof HTMLElement&&Qh(a)&&T.push(a.getBoundingClientRect());let _=uV(T);if(_===void 0)return;let A=0,N=0;if(_.left<l?A=l-_.left:_.right>d-l&&(A=d-l-_.right),_.top<l?N=l-_.top:_.bottom>u-l&&(N=u-l-_.bottom),A===0&&N===0)return;let y=t.getBoundingClientRect(),v=Yc(t)?Zh(t):{left:y.left,top:y.top};Ui(t,v.left+A,v.top+N)}function yr(t,e){Jh!==void 0&&cancelAnimationFrame(Jh),Jh=requestAnimationFrame(()=>{Jh=void 0,mI(t,e),requestAnimationFrame(()=>mI(t,e))})}function gI(t){let e=t.querySelector(`[${M}]`);return e instanceof HTMLElement?e:void 0}var sI,aI,cI,cV,lV,lI,dI,dV,Jh,Mu=S(()=>{"use strict";Et();Du();sI="data-reticle-hud",aI=8,cI=12,cV=44,lV=160,lI=440,dI=520,dV=200});function bI(t,e){var u,p;let n=()=>{yr(t,e)},r=new AbortController,{signal:o}=r,s=()=>n();window.addEventListener("resize",s,{signal:o});let a;typeof ResizeObserver!="undefined"&&(a=new ResizeObserver(()=>n()),a.observe(t));let l=new MutationObserver(()=>n());l.observe(e,{attributes:!0,attributeFilter:[Me,ut,Qe]});let d=()=>n();return(u=window.visualViewport)==null||u.addEventListener("resize",d,{signal:o}),(p=window.visualViewport)==null||p.addEventListener("scroll",d,{signal:o}),()=>{r.abort(),a==null||a.disconnect(),l.disconnect()}}function fV(t,e,n={}){let r=!1,o=0,s=0,a=0,l=0,d=!1,u,p=()=>{var v;let y=d;if(r=!1,e.classList.remove(EI),u=void 0,d=!1,y){let O=t.parentElement;O instanceof HTMLElement?yr(t,O):ku(t)}(v=n.onDragEnd)==null||v.call(n,y)},h=y=>{if(y.button!==0)return;let v=y.target;if(!(v instanceof Element)||v.closest(nI)!==null)return;let O=t.getBoundingClientRect();o=y.clientX,s=y.clientY,a=O.left,l=O.top,r=!0,d=!1,u=y.pointerId,e.classList.add(EI),typeof e.setPointerCapture=="function"&&e.setPointerCapture(y.pointerId),y.preventDefault()},m=y=>{var te;if(!r||y.pointerId!==u)return;let v=y.clientX-o,O=y.clientY-s;if(!d&&Math.abs(v)<cT&&Math.abs(O)<cT)return;d=!0,(te=n.onDragMove)==null||te.call(n);let j=qc(t),Y=Xc(a+v,l+O,j.width,j.height,window.innerWidth,window.innerHeight);Ui(t,Y.left,Y.top),y.preventDefault()},g=y=>{typeof e.releasePointerCapture=="function"&&e.releasePointerCapture(y)},T=y=>{!r||y.pointerId!==u||(d&&y.preventDefault(),g(y.pointerId),p())},_=y=>{!r||y.pointerId!==u||(g(y.pointerId),p())},A=new AbortController,{signal:N}=A;return e.addEventListener("pointerdown",h,{signal:N}),e.addEventListener("pointermove",m,{signal:N}),e.addEventListener("pointerup",T,{signal:N}),e.addEventListener("pointercancel",_,{signal:N}),()=>{A.abort(),r&&g(u!=null?u:0),p()}}function TI(t,e,n={}){let r=e.map(o=>fV(t,o,n));return()=>{for(let o of r)o()}}var EI,uT=S(()=>{"use strict";Et();Mu();Du();Du();EI="reticle-drag-handle--dragging"});var em,pT=S(()=>{"use strict";Et();Ar();em=`
|
|
163
|
+
[data-reticle-overlay][${Qe}="1"] [data-reticle-chat-panel]{
|
|
164
164
|
display:none !important;visibility:hidden !important;pointer-events:none !important;}
|
|
165
|
-
[${
|
|
165
|
+
[${C}]{
|
|
166
166
|
position:absolute;right:0;left:auto;top:auto;bottom:calc(100% + 12px);z-index:30;
|
|
167
167
|
box-sizing:border-box;display:flex;flex-direction:column;width:272px;min-height:0;
|
|
168
168
|
max-width:min(272px,calc(100vw - 16px));
|
|
169
169
|
max-height:min(var(--reticle-settings-max-h,78vh),calc(100vh - 96px));
|
|
170
170
|
padding:0;border:none;border-radius:16px;overflow:hidden;
|
|
171
|
-
box-shadow:${
|
|
171
|
+
box-shadow:${xr};
|
|
172
172
|
color:var(--reticle-fg);font-size:13px;line-height:1.35;
|
|
173
173
|
opacity:0;pointer-events:none;visibility:hidden;touch-action:manipulation;
|
|
174
174
|
transform:translate3d(0,6px,0) scale(.98);
|
|
175
175
|
transition:opacity .14s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility .14s;
|
|
176
|
-
contain:none;isolation:isolate;${
|
|
177
|
-
[${
|
|
176
|
+
contain:none;isolation:isolate;${Cu}}
|
|
177
|
+
[${M}][${Hi}="below"] [${C}]{
|
|
178
178
|
bottom:auto;top:calc(100% + 12px);}
|
|
179
|
-
[${
|
|
179
|
+
[${M}][${Ht}="start"] [${C}]{
|
|
180
180
|
right:auto;left:0;}
|
|
181
|
-
[${
|
|
181
|
+
[${M}][${Hi}="below"] [${C}].${Cn}::after{
|
|
182
182
|
top:auto;bottom:100%;margin-top:0;margin-bottom:-4px;box-shadow:-1px -1px 0 0 rgba(255,255,255,.08);}
|
|
183
|
-
[${
|
|
183
|
+
[${M}][${Ht}="start"] [${C}].${Cn}::after{
|
|
184
184
|
right:auto;left:14px;}
|
|
185
|
-
[data-reticle-overlay][${
|
|
185
|
+
[data-reticle-overlay][${Qe}="1"] [${C}]{
|
|
186
186
|
opacity:1;pointer-events:auto;visibility:visible;transform:translate3d(0,0,0) scale(1);}
|
|
187
|
-
[${
|
|
187
|
+
[${C}] .reticle-settings-inner{
|
|
188
188
|
position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
|
|
189
189
|
flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden;}
|
|
190
|
-
[${
|
|
190
|
+
[${C}] .reticle-settings-head{
|
|
191
191
|
display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;
|
|
192
192
|
padding:12px 14px 8px;border-bottom:1px solid rgba(255,255,255,.06);}
|
|
193
|
-
[${
|
|
193
|
+
[${C}] .reticle-settings-title{
|
|
194
194
|
font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45);}
|
|
195
|
-
[${
|
|
195
|
+
[${C}].${Cn}::after{
|
|
196
196
|
content:"";position:absolute;top:100%;right:14px;width:8px;height:8px;margin-top:-4px;
|
|
197
197
|
background:#000;transform:rotate(45deg);box-shadow:1px 1px 0 0 rgba(255,255,255,.08);z-index:0;pointer-events:none;}
|
|
198
|
-
[${
|
|
198
|
+
[${C}] .reticle-settings-close{
|
|
199
199
|
position:relative;top:auto;right:auto;z-index:1;
|
|
200
200
|
display:inline-flex;align-items:center;justify-content:center;
|
|
201
201
|
width:24px;height:24px;padding:0;border:none;border-radius:999px;cursor:pointer;
|
|
202
202
|
background:rgba(255,255,255,.06);color:var(--reticle-muted);line-height:0;
|
|
203
203
|
transition:background .15s,color .15s,transform .1s;}
|
|
204
|
-
[${
|
|
205
|
-
[${
|
|
206
|
-
[${
|
|
207
|
-
[${
|
|
204
|
+
[${C}] .reticle-settings-close:hover{background:rgba(255,255,255,.12);color:var(--reticle-fg);}
|
|
205
|
+
[${C}] .reticle-settings-close:active{transform:scale(.94);}
|
|
206
|
+
[${C}] .reticle-settings-close:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:1px;}
|
|
207
|
+
[${C}] .reticle-settings-body{
|
|
208
208
|
min-height:0;padding:6px 0 4px;overflow-x:hidden;overflow-y:auto;
|
|
209
209
|
overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
|
|
210
210
|
scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;
|
|
211
211
|
background:linear-gradient(180deg,#0a0a0e 0%,#000 100%);}
|
|
212
|
-
[${
|
|
213
|
-
[${
|
|
212
|
+
[${C}] .reticle-settings-body::-webkit-scrollbar{width:8px;}
|
|
213
|
+
[${C}] .reticle-settings-body::-webkit-scrollbar-thumb{
|
|
214
214
|
background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
|
|
215
|
-
[${
|
|
215
|
+
[${C}] .reticle-settings-row{
|
|
216
216
|
display:flex;align-items:center;justify-content:space-between;gap:12px;
|
|
217
217
|
padding:8px 14px;min-height:30px;}
|
|
218
|
-
[${
|
|
219
|
-
[${
|
|
218
|
+
[${C}] .reticle-settings-labelcol{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;}
|
|
219
|
+
[${C}] .reticle-settings-label{
|
|
220
220
|
display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.86);font-size:13px;font-weight:500;}
|
|
221
|
-
[${
|
|
222
|
-
[${
|
|
221
|
+
[${C}] .reticle-settings-desc{color:rgba(255,255,255,.5);font-size:11px;line-height:1.35;}
|
|
222
|
+
[${C}] .reticle-settings-help{
|
|
223
223
|
display:inline-flex;align-items:center;justify-content:center;
|
|
224
224
|
width:14px;height:14px;border:none;border-radius:999px;padding:0;cursor:help;
|
|
225
225
|
background:transparent;color:rgba(255,255,255,.35);line-height:0;flex:none;}
|
|
226
|
-
[${
|
|
227
|
-
[${
|
|
228
|
-
[${
|
|
226
|
+
[${C}] .reticle-settings-help:hover{color:rgba(255,255,255,.75);}
|
|
227
|
+
[${C}] .reticle-settings-help:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
|
|
228
|
+
[${C}] .reticle-settings-cycle{
|
|
229
229
|
display:inline-flex;align-items:center;gap:8px;border:none;border-radius:8px;cursor:pointer;
|
|
230
230
|
background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;font-weight:600;
|
|
231
231
|
padding:5px 8px 5px 10px;transition:background .15s,transform .1s;}
|
|
232
|
-
[${
|
|
233
|
-
[${
|
|
234
|
-
[${
|
|
235
|
-
[${
|
|
236
|
-
[${
|
|
232
|
+
[${C}] .reticle-settings-cycle:hover{background:rgba(255,255,255,.12);}
|
|
233
|
+
[${C}] .reticle-settings-cycle:active{transform:scale(.97);}
|
|
234
|
+
[${C}] .reticle-settings-cycle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:1px;}
|
|
235
|
+
[${C}] .reticle-settings-dots{display:inline-flex;flex-direction:column;gap:2px;}
|
|
236
|
+
[${C}] .reticle-settings-dot{
|
|
237
237
|
width:3px;height:3px;border-radius:999px;background:rgba(255,255,255,.22);}
|
|
238
|
-
[${
|
|
239
|
-
[${
|
|
238
|
+
[${C}] .reticle-settings-dot[data-on="1"]{background:var(--reticle-accent);}
|
|
239
|
+
[${C}] .reticle-settings-toggle{
|
|
240
240
|
position:relative;width:28px;height:18px;border:none;border-radius:999px;cursor:pointer;padding:0;flex:none;
|
|
241
241
|
background:rgba(255,255,255,.16);transition:background .15s ease,box-shadow .15s ease;}
|
|
242
|
-
[${
|
|
243
|
-
[${
|
|
242
|
+
[${C}] .reticle-settings-toggle[data-on="1"]{background:var(--reticle-accent);}
|
|
243
|
+
[${C}] .reticle-settings-toggle::after{
|
|
244
244
|
content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
|
|
245
245
|
background:#fafafa;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .15s ease;}
|
|
246
|
-
[${
|
|
247
|
-
[${
|
|
248
|
-
[${
|
|
249
|
-
[${
|
|
246
|
+
[${C}] .reticle-settings-toggle[data-on="1"]::after{transform:translateX(10px);}
|
|
247
|
+
[${C}] .reticle-settings-toggle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
248
|
+
[${C}] .reticle-settings-row[data-disabled="1"]{opacity:.45;pointer-events:none;}
|
|
249
|
+
[${C}] .reticle-settings-section{
|
|
250
250
|
padding:10px 14px 6px;color:rgba(255,255,255,.38);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
|
|
251
|
-
[${
|
|
251
|
+
[${C}] .reticle-settings-swatches{
|
|
252
252
|
display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;}
|
|
253
|
-
[${
|
|
253
|
+
[${C}] .reticle-settings-swatch{
|
|
254
254
|
width:24px;height:24px;border-radius:999px;padding:0;cursor:pointer;
|
|
255
255
|
border:2px solid transparent;background-clip:padding-box;
|
|
256
256
|
box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);transition:transform .12s,border-color .12s;}
|
|
257
|
-
[${
|
|
258
|
-
[${
|
|
257
|
+
[${C}] .reticle-settings-swatch:hover{transform:scale(1.06);}
|
|
258
|
+
[${C}] .reticle-settings-swatch[data-on="1"]{
|
|
259
259
|
border-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);}
|
|
260
|
-
[${
|
|
261
|
-
[${
|
|
260
|
+
[${C}] .reticle-settings-swatch:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px;}
|
|
261
|
+
[${C}] .reticle-settings-checkrow{
|
|
262
262
|
display:flex;align-items:center;gap:10px;padding:7px 14px;color:rgba(255,255,255,.86);font-size:13px;
|
|
263
263
|
cursor:pointer;user-select:none;margin:0;transition:background .12s;}
|
|
264
|
-
[${
|
|
265
|
-
[${
|
|
264
|
+
[${C}] .reticle-settings-checkrow:hover{background:rgba(255,255,255,.03);}
|
|
265
|
+
[${C}] .reticle-settings-check{
|
|
266
266
|
width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.22);
|
|
267
267
|
background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center;
|
|
268
268
|
color:transparent;font-size:11px;line-height:1;flex:none;transition:background .12s,border-color .12s,color .12s;}
|
|
269
|
-
[${
|
|
269
|
+
[${C}] .reticle-settings-check[data-on="1"]{
|
|
270
270
|
background:#fafafa;border-color:#fafafa;color:#111;}
|
|
271
|
-
[${
|
|
272
|
-
[${
|
|
271
|
+
[${C}] .reticle-settings-check:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px;}
|
|
272
|
+
[${C}] .reticle-settings-foot{
|
|
273
273
|
flex-shrink:0;margin-top:2px;border-top:1px solid rgba(255,255,255,.08);
|
|
274
274
|
display:flex;flex-direction:column;gap:0;background:#000;}
|
|
275
|
-
[${
|
|
275
|
+
[${C}] .reticle-settings-reset{
|
|
276
276
|
width:100%;display:flex;align-items:center;justify-content:center;gap:6px;
|
|
277
277
|
border:none;background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);font:inherit;font-size:12px;font-weight:600;
|
|
278
278
|
padding:10px 14px;cursor:pointer;text-align:center;transition:background .12s,color .12s;}
|
|
279
|
-
[${
|
|
280
|
-
[${
|
|
281
|
-
[${
|
|
279
|
+
[${C}] .reticle-settings-reset:hover{background:rgba(255,255,255,.08);color:#fff;}
|
|
280
|
+
[${C}] .reticle-settings-reset:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
|
|
281
|
+
[${C}] .reticle-settings-link{
|
|
282
282
|
width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
|
|
283
283
|
border:none;background:transparent;color:rgba(255,255,255,.82);font:inherit;font-size:13px;
|
|
284
284
|
padding:11px 14px;cursor:pointer;text-align:left;transition:background .12s,color .12s;
|
|
285
285
|
text-decoration:none;box-sizing:border-box;}
|
|
286
|
-
[${
|
|
287
|
-
[${
|
|
288
|
-
[${
|
|
289
|
-
[${
|
|
290
|
-
[${
|
|
286
|
+
[${C}] .reticle-settings-link-caret{display:inline-flex;align-items:center;flex:none;opacity:.55;}
|
|
287
|
+
[${C}] .reticle-settings-link:hover{background:rgba(255,255,255,.04);color:#fff;}
|
|
288
|
+
[${C}] .reticle-settings-link:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:-2px;}
|
|
289
|
+
[${C}] .reticle-settings-kill-row{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.08);}
|
|
290
|
+
[${C}] .reticle-settings-kill{
|
|
291
291
|
width:100%;display:flex;align-items:center;justify-content:center;
|
|
292
292
|
border:1px solid rgba(239,68,68,.55);border-radius:8px;background:rgba(239,68,68,.12);color:#f87171;
|
|
293
293
|
font:inherit;font-size:13px;font-weight:600;padding:8px 12px;cursor:pointer;
|
|
294
294
|
transition:background .12s,border-color .12s,color .12s;}
|
|
295
|
-
[${
|
|
296
|
-
[${
|
|
297
|
-
[${
|
|
298
|
-
[${
|
|
295
|
+
[${C}] .reticle-settings-kill:hover{background:rgba(239,68,68,.22);border-color:#ef4444;color:#fca5a5;}
|
|
296
|
+
[${C}] .reticle-settings-kill[data-armed="1"]{background:#ef4444;border-color:#ef4444;color:#fff;}
|
|
297
|
+
[${C}] .reticle-settings-kill:focus-visible{outline:2px solid rgba(239,68,68,.6);outline-offset:2px;}
|
|
298
|
+
[${C}] .reticle-settings-kill-sub{margin:8px 0 0;font-size:11px;line-height:1.45;color:rgba(255,255,255,.55);}
|
|
299
299
|
/* The SDK version line sits straight in the foot, so it takes the rows' inset rather than none. */
|
|
300
|
-
[${
|
|
301
|
-
[data-reticle-overlay][${
|
|
300
|
+
[${C}] .reticle-settings-foot > .reticle-settings-kill-sub{padding:0 14px;}
|
|
301
|
+
[data-reticle-overlay][${Qe}="1"] [data-reticle-hud] .reticle-tb-tip{
|
|
302
302
|
opacity:0;visibility:hidden;transition-delay:0s;}
|
|
303
303
|
/* The dock's accent IS the theme's active colour, published as --reticle-accent on the overlay by
|
|
304
304
|
applyPresenterSettings. It used to be a seventh independent picker with its own attribute. */
|
|
305
305
|
[data-reticle-dock]{--reticle-accent-soft:color-mix(in srgb,var(--reticle-accent) 18%,transparent);}
|
|
306
306
|
/* One chip per theme: three bands (active, idle, ended) over the theme's name. */
|
|
307
|
-
[${
|
|
307
|
+
[${C}] .reticle-settings-themes{
|
|
308
308
|
display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;padding:4px 14px 12px;}
|
|
309
|
-
[${
|
|
309
|
+
[${C}] .reticle-settings-theme{
|
|
310
310
|
display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;
|
|
311
311
|
border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.03);
|
|
312
312
|
cursor:pointer;transition:border-color .15s ease,background .15s ease;}
|
|
313
|
-
[${
|
|
314
|
-
[${
|
|
313
|
+
[${C}] .reticle-settings-theme:hover{background:rgba(255,255,255,.07);}
|
|
314
|
+
[${C}] .reticle-settings-theme[data-on="1"]{
|
|
315
315
|
border-color:#fff;background:rgba(255,255,255,.1);}
|
|
316
|
-
[${
|
|
317
|
-
[${
|
|
318
|
-
[${
|
|
316
|
+
[${C}] .reticle-settings-theme-band{display:block;height:6px;}
|
|
317
|
+
[${C}] .reticle-settings-theme-band:first-of-type{height:10px;}
|
|
318
|
+
[${C}] .reticle-settings-theme-name{
|
|
319
319
|
display:block;padding:5px 6px 6px;color:rgba(255,255,255,.78);font-size:11px;text-align:center;}
|
|
320
320
|
[data-reticle-blocker]{
|
|
321
321
|
position:fixed;inset:0;z-index:1;background:rgba(0,0,0,.16);pointer-events:auto;}
|
|
322
322
|
[data-reticle-overlay][data-reticle-block="0"] [data-reticle-blocker]{
|
|
323
323
|
display:none;pointer-events:none;}
|
|
324
|
-
[data-reticle-overlay][data-reticle-hidden="1"] [${
|
|
325
|
-
[data-reticle-overlay][data-reticle-hidden="1"] [${
|
|
324
|
+
[data-reticle-overlay][data-reticle-hidden="1"] [${M}],
|
|
325
|
+
[data-reticle-overlay][data-reticle-hidden="1"] [${C}]{display:none !important;}
|
|
326
326
|
|
|
327
|
-
`});function Zw(t){return su!=null||(su=new Set([...SU,...Object.entries(_U).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),su.has(t)}var SU,qw,_U,su,Qw=S(()=>{"use strict";SU=["fab","pause","chat-toggle","markers-btn","end","clear-marks","copy-marks","copy","export","annotate-btn","report-btn","settings-btn","min-btn","chat-min","chat-pill","chat-impact","copy-all-notes","promo-link","replay","carousel-dot","carousel-prev","carousel-next","carousel-close","page-close","team-open","team-save","talk-book","account-signin","account-trigger","account-signout","account-dashboard","sync-now","report-scope","report-close","share-x","share-in","share-copy","refer","settings-close","settings-help","settings-reset","settings-mcp","settings-kill","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send","harness-switch","harness-run","harness-stop","harness-open","harness-toggle","harness-link","harness-copy-prompt","agent-copy","defects-all","plan-close","plan-journey"],qw=["setting","check","settings-cycle","theme","tour-target","link","annotation-tab","chat-view-btn"],_U={setting:["autoOpenChat","showTimestamps","showTally","reactComponents","hideUntilRestart","harnessEnabled","reduceMotion","ambientGlow"],check:["blockPageInteractions","clearOnCopy"],"settings-cycle":["outputDetail"],theme:["signal","traffic","mono","neon","ember"],"tour-target":["copy","back","done","next","skip"],link:["docs","github","site","discord","defect","dashboard"],"annotation-tab":["current","history"],"chat-view-btn":["activity","flows","annotations","harness"]}});function vU(t){try{let e=new URL(t);return e.protocol!=="https:"?!1:xU.has(e.hostname)?!0:AU===e.hostname&&e.pathname.startsWith(yU)}catch{return!1}}var xU,AU,yU,pb,RU,yq,Jw=S(()=>{"use strict";ne();xU=new Set(["reticle.sh","www.reticle.sh","app.reticle.sh","docs.reticle.sh"]),AU="github.com",yU="/reticlehq/";pb=i.object({id:i.string().regex(/^[a-z0-9-]{1,48}$/),kicker:i.string().min(1).max(40).optional(),title:i.string().min(1).max(80),detail:i.string().min(1).max(120).optional(),cta:i.object({label:i.string().min(1).max(24),url:i.string().refine(vU)}).optional()}),RU=i.object({signedIn:i.boolean().optional(),entitled:i.boolean().optional()}),yq=pb.extend({audience:RU.optional(),from:i.string().optional(),until:i.string().optional(),minSdk:i.string().optional(),weight:i.number().optional()})});function Ai(t){return t!==void 0&&t.used>=t.limit}function o0(t){let e=`${$a(Math.max(0,t.limit-t.used))} of ${$a(t.limit)}`;return nt.FREE===t.kind?`${e} free credits`:nt.TRIAL===t.kind?`${e} trial credits`:`${e} credits left`}function hb(t){let e=t.kind===void 0?void 0:NU[t.kind],n=Math.max(0,t.limit-t.used),r=t.daysLeft===void 0?"":` \xB7 ${String(t.daysLeft)} day${t.daysLeft===1?"":"s"} left`;return`${e===void 0?"":`${e}: `}${$a(t.used)} of ${$a(t.limit)} credits used \xB7 ${$a(n)} left${r}`}function lh(t){return nt.FREE===t.kind?{said:`Your ${$a(t.limit)} free credits are used.`,action:`Add a card to start your ${String(fb)}-day trial`}:nt.TRIAL===t.kind?{said:`Your ${$a(t.limit)} trial credits are used. Pro starts when your trial ends.`}:{said:"This month's credits are used. They renew over the next 30 days."}}var fb,e0,t0,n0,r0,$a,NU,i0=S(()=>{"use strict";_g();fb=14,e0=10,t0=500,n0=`Sign up: ${String(e0)} free credits to try Reticle Harness \xB7 add a card for a ${String(t0)}-credit, ${String(fb)}-day trial`,r0=`a card starts a ${String(fb)}-day trial with ${String(t0)} Harness credits; without one, ${String(e0)} sign-up credits`,$a=t=>t.toLocaleString("en-US",{maximumFractionDigits:2});NU={[nt.FREE]:"Free",[nt.TRIAL]:"Trial"}});var Lc=S(()=>{"use strict";Qw();Jw();i0()});function Z(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Co(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var Pa=S(()=>{"use strict"});function cu(t,e){let n=document.createElement("template");n.innerHTML=e,a0(t,n.content)}function a0(t,e){let n=[...t.childNodes],r=[...e.childNodes];r.forEach((o,a)=>{let s=n[a];s===void 0?t.appendChild(o):s.nodeType===o.nodeType&&s.nodeName===o.nodeName?wU(s,o):t.replaceChild(o,s)});for(let o of n.slice(r.length))t.removeChild(o)}function wU(t,e){if(!(t instanceof Element)||!(e instanceof Element)){t.nodeValue!==e.nodeValue&&(t.nodeValue=e.nodeValue);return}for(let{name:n}of[...t.attributes])e.hasAttribute(n)||t.removeAttribute(n);for(let{name:n,value:r}of[...e.attributes])t.getAttribute(n)!==r&&t.setAttribute(n,r);a0(t,e)}var mb=S(()=>{"use strict"});function c0(t){let n=(t!=null?t:"").trim().split(/[\s._-]+/).filter(r=>r.length>0).slice(0,2).map(r=>{var o;return(o=[...r][0])!=null?o:""}).join("");return n.length>0?n.toUpperCase():te.AVATAR_FALLBACK}function Dc(t,e={},n=!1){var l;if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${s0}><button type="button" class="reticle-account-signin" ${wt} title="${te.SIGNIN_TITLE}" aria-label="${te.SIGNIN_TITLE}">${te.SIGNED_OUT}</button></div>`:"";let r=(l=t.org)!=null?l:"",o=r.length>0?Z(r):te.SIGNED_IN_AS,a=`<span class="reticle-account-avatar" aria-hidden="true">${Z(c0(t.org))}</span>`,s=`<button type="button" class="reticle-account-trigger" ${uh} aria-haspopup="true" aria-expanded="false" title="${te.TRIGGER_TITLE}" aria-label="${te.TRIGGER_TITLE}: ${o}">${a}</button>`;return`<div class="reticle-account" ${s0}>${s}${LU(t,e)}</div>`}function Lo(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${Z(t)}</span><span class="reticle-account-v" title="${Z(e)}">${Z(e)}</span></div>`}function LU(t,e){var d,u;let n=(d=t.org)!=null?d:"",r=`<div class="reticle-account-head"><span class="reticle-account-avatar reticle-account-avatar--lg" aria-hidden="true">${Z(c0(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?Z(n):te.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${Z(t.email)}">${Z(t.email)}</span>`:n.length>0?`<span class="reticle-account-email">${te.SIGNED_IN_AS}</span>`:"")+"</span></div>",o=Lo(te.HOST_LABEL,t.host)+Lo(te.PROJECT_LABEL,e.projectName)+Lo(te.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+Lo(te.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0)+Lo(te.ON_PLATFORM_LABEL,e.onPlatform)+Lo(te.PLAN_LABEL,e.plan)+Lo(te.CREDITS_LABEL,e.credits)+Lo(te.HARNESS_RUNS_LABEL,e.harnessRuns)+Lo(te.MEMORY_LABEL,e.memory),s=e.dashboardUrl!==void 0&&Co(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${Z((u=e.dashboardUrl)!=null?u:"")}" target="_blank" rel="noreferrer noopener" title="${te.DASHBOARD_TITLE}">${Ee(Y.VIEW,pe.HELP)}<span>${te.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${wt} data-reticle-copy="${te.LINK_COMMAND}" title="${te.LINK_HINT}"><span>${te.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${OU} data-reticle-copy="${te.SIGNOUT_COMMAND}" title="${te.SIGNOUT_TITLE}"><span>${te.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${yi} role="menu" aria-label="${te.MENU_LABEL}" aria-hidden="true" hidden>`+r+(o.length>0?`<div class="reticle-account-rows">${o}</div>`:"")+`<div class="reticle-account-actions">${s}${l}</div></div>`}function l0(t,e){let n=t==null?void 0:t.plan,r=e==null?void 0:e.onPlatform;return{...n===void 0?{}:{plan:[kU[n.kind],n.daysLeft===void 0?"":`${gb(n.daysLeft,"day","days")} left`,n.seats===void 0?"":gb(n.seats,"seat","seats")].filter(o=>o.length>0).join(" \xB7 ")},...(t==null?void 0:t.credits)===void 0?{}:{credits:`${Math.max(0,t.credits.limit-t.credits.used).toLocaleString("en-US")} of ${t.credits.limit.toLocaleString("en-US")} left`},...(t==null?void 0:t.harnessRuns)===void 0?{}:{harnessRuns:String(t.harnessRuns)},...(t==null?void 0:t.memoryEntries)===void 0?{}:{memory:gb(t.memoryEntries,"entry","entries")},...typeof r=="number"?{onPlatform:String(r)}:{}}}function d0(t,e){return t===void 0||!t.signedIn?"":e!==void 0&&Co(e)?`<a ${IU} class="reticle-team-link" href="${Z(e)}" target="_blank" rel="noreferrer noopener" title="${Z(dh.OPEN_TITLE)}">${dh.OPEN}</a>`:`<button type="button" ${lu} class="reticle-team-link" title="${Z(dh.SAVE_TITLE)}"><span>${dh.SAVE_LINK}</span></button>`}function du(t,e){var o;let n=t.querySelector(`[${yi}]:not([hidden])`)!==null;if(cu(t,e),!n)return;let r=t.querySelector(`[${yi}]`);r!==null&&(r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),(o=t.querySelector(`[${uh}]`))==null||o.setAttribute("aria-expanded","true"))}function bb(t){return t===void 0||!Co(t)?"":`<button type="button" class="reticle-sync-now" ${Eb} title="${te.SYNC_TITLE}" aria-label="${te.SYNC_TITLE}">${Ee(Y.SYNC,pe.HELP)}</button>`}function u0(t,e){let n=new AbortController,{signal:r}=n,o=l=>{for(let d of t.querySelectorAll(`[${yi}]`))d!==l&&(d.setAttribute("hidden",""),d.setAttribute("aria-hidden","true"));for(let d of t.querySelectorAll(`[${uh}]`))l!==void 0&&d.parentElement===l.parentElement||d.setAttribute("aria-expanded","false")},a=(l,d)=>{var f;let u=(f=l.querySelector("span"))!=null?f:l,p=u.textContent;u.textContent=d,setTimeout(()=>{u.textContent=p},CU)},s=async(l,d)=>{try{if(navigator.clipboard===void 0)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(l),a(d,te.COPIED)}catch{a(d,l===te.SIGNOUT_COMMAND?te.SIGNOUT_COPY_FAILED:`Run ${l} in terminal`)}};return t.addEventListener("click",l=>{var m,g;let d=l.target;if(!(d instanceof Element))return;let u=d.closest(`[${uh}]`);if(u instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(m=u.parentElement)==null?void 0:m.querySelector(`[${yi}]`);if(!(T instanceof HTMLElement))return;let _=!T.hasAttribute("hidden");if(o(),_)return;T.removeAttribute("hidden"),T.setAttribute("aria-hidden","false"),u.setAttribute("aria-expanded","true");return}let p=d.closest("[data-reticle-copy]");if(p instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(g=p.getAttribute("data-reticle-copy"))!=null?g:"";T.length>0&&s(T,p);return}let f=d.closest(`[${wt}]`);if(f instanceof HTMLElement){l.preventDefault(),l.stopPropagation(),e==null||e(),s(te.SIGNIN_COMMAND,f);return}o()},{signal:r}),document.addEventListener("pointerdown",l=>{let d=l.target;d instanceof Node&&t.contains(d)||o()},{signal:r}),document.addEventListener("keydown",l=>{l.key!=="Escape"||t.querySelector(`[${yi}]:not([hidden])`)===null||(l.stopPropagation(),o())},{signal:r}),()=>n.abort()}var s0,wt,Eb,uh,yi,OU,IU,lu,kc,dh,te,CU,kU,gb,Br=S(()=>{"use strict";H();Lc();ur();Pa();mb();s0="data-reticle-account",wt="data-reticle-account-signin",Eb="data-reticle-sync-now",uh="data-reticle-account-trigger",yi="data-reticle-account-menu",OU="data-reticle-account-signout",IU="data-reticle-team-open",lu="data-reticle-team-save",kc="data-reticle-team",dh={OPEN:"Open on dashboard \u2197",OPEN_TITLE:"This project's runs, kept for your team on the Reticle dashboard",SAVE_LINK:"Save runs for your team",SAVE_TITLE:`Keep every run, flow and Harness result on a dashboard your team shares. On Reticle, ${r0}.`},te={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Sign in through your browser. Also copies `reticle connect`, for a terminal",SIGNIN_COMMAND:"reticle connect",DASHBOARD_TITLE:"Open this project on the dashboard",SYNC_TITLE:"Push to the dashboard now, instead of waiting for the next sync",COPIED:"Copied",AVATAR_FALLBACK:"\u2022",MENU_LABEL:"Reticle account",TRIGGER_TITLE:"Your Reticle account",SIGNED_IN_AS:"Signed in",DASHBOARD_ACTION:"Open dashboard",LINK_HINT:"Not linked \u2014 run `reticle connect` to keep a record on the dashboard",LINK_COMMAND:"reticle connect",SIGNOUT_ACTION:"Copy sign-out command",SIGNOUT_TITLE:"Copy `reticle logout` to run in your terminal",SIGNOUT_COMMAND:"reticle logout",SIGNOUT_COPY_FAILED:"Run reticle logout in terminal",PROJECT_LABEL:"Project",HOST_LABEL:"Host",VERDICTS_LABEL:"Verdicts",DEFECTS_LABEL:"Defects found",PLAN_LABEL:"Plan",CREDITS_LABEL:"Credits",HARNESS_RUNS_LABEL:"Harness runs",MEMORY_LABEL:"Memory",ON_PLATFORM_LABEL:"Runs on dashboard"},CU=1200;kU={[nt.FREE]:"Free",[nt.TRIAL]:"Trial",[nt.PAID]:"Pro"},gb=(t,e,n)=>`${String(t)} ${t===1?e:n}`});var A0={};bs(A0,{HARNESS_LOCKED_HELP:()=>b0,OutputDetail:()=>Er,PresenterSettingsPanel:()=>pu,SETTINGS_ACCOUNT_ATTR:()=>Nb,SETTINGS_CSS:()=>ch,blockerHtml:()=>Cb,creditsLeft:()=>T0,getPresenterSettings:()=>yn,loadPresenterSettings:()=>Rb,paintHarnessRow:()=>S0,paintSdkVersion:()=>Ob,paintSettingsAccount:()=>wb,settingsPanelHtml:()=>Ib,statusTheme:()=>fu,syncPageBlocker:()=>hh});function fu(t){var e;return(e=vb.find(n=>n.id===t))!=null?e:DU}function yn(){return Et}function Rb(){if(typeof localStorage=="undefined")return{...Kn};try{let t=localStorage.getItem(ab);if(t===null)return{...Kn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...Kn};let n=e;return{outputDetail:MU(n.outputDetail)?n.outputDetail:Kn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:$U(n.statusThemeId)?n.statusThemeId:Kn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:Kn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:Kn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:Kn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:Kn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:Kn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:Kn.reduceMotion}}catch{return{...Kn}}}function MU(t){return t===Er.MINIMAL||t===Er.STANDARD||t===Er.VERBOSE}function $U(t){return vb.some(e=>e.id===t)}function PU(t){if(Et=t,typeof localStorage!="undefined")try{localStorage.setItem(ab,JSON.stringify(t))}catch{}}function HU(t){let e={...Et,...t};return PU(e),e}function UU(){return Ee(Y.HELP,pe.HELP)}function Tb(t,e,n=""){let r=UU(),o=n===""?"":`<span class="reticle-settings-desc">${n}</span>`;return`<span class="reticle-settings-labelcol"><span class="reticle-settings-label">${t}<button type="button" class="reticle-settings-help" data-reticle-settings-help title="${e}" aria-label="${e}">${r}</button></span>${o}</span>`}function vi(t,e,n=""){let[r,o]=Mc[t];return`<div class="reticle-settings-row" ${n}>
|
|
328
|
-
${
|
|
329
|
-
<button type="button" class="reticle-settings-toggle" ${
|
|
330
|
-
</div>`}function
|
|
327
|
+
`});function _I(t){return Pu!=null||(Pu=new Set([...hV,...Object.entries(mV).flatMap(([e,n])=>n.map(r=>`${e}.${r}`))])),Pu.has(t)}var hV,SI,mV,Pu,xI=S(()=>{"use strict";hV=["fab","pause","chat-toggle","markers-btn","end","clear-marks","copy-marks","copy","export","annotate-btn","report-btn","settings-btn","min-btn","chat-min","chat-pill","chat-impact","copy-all-notes","promo-link","replay","carousel-dot","carousel-prev","carousel-next","carousel-close","page-close","team-open","team-save","talk-book","account-signin","account-trigger","account-signout","account-dashboard","sync-now","report-scope","report-close","share-x","share-in","share-copy","refer","settings-close","settings-help","settings-reset","settings-mcp","settings-kill","feedback-email","feedback-call","workspace-btn","workspace-copy","mark-cancel","mark-send","harness-switch","harness-run","harness-stop","harness-open","harness-toggle","harness-link","agent-copy","defects-all","plan-close","plan-journey"],SI=["setting","check","settings-cycle","theme","tour-target","link","annotation-tab","chat-view-btn"],mV={setting:["autoOpenChat","showTimestamps","showTally","reactComponents","hideUntilRestart","harnessEnabled","reduceMotion","ambientGlow"],check:["blockPageInteractions","clearOnCopy"],"settings-cycle":["outputDetail"],theme:["signal","traffic","mono","neon","ember"],"tour-target":["copy","back","done","next","skip"],link:["docs","github","site","discord","defect","dashboard"],"annotation-tab":["current","history"],"chat-view-btn":["activity","flows","annotations","harness"]}});function TV(t){try{let e=new URL(t);return e.protocol!=="https:"?!1:gV.has(e.hostname)?!0:EV===e.hostname&&e.pathname.startsWith(bV)}catch{return!1}}var gV,EV,bV,fT,SV,ene,AI=S(()=>{"use strict";J();gV=new Set(["reticle.sh","www.reticle.sh","app.reticle.sh","docs.reticle.sh"]),EV="github.com",bV="/reticlehq/";fT=i.object({id:i.string().regex(/^[a-z0-9-]{1,48}$/),kicker:i.string().min(1).max(40).optional(),title:i.string().min(1).max(80),detail:i.string().min(1).max(120).optional(),cta:i.object({label:i.string().min(1).max(24),url:i.string().refine(TV)}).optional()}),SV=i.object({signedIn:i.boolean().optional(),entitled:i.boolean().optional()}),ene=fT.extend({audience:SV.optional(),from:i.string().optional(),until:i.string().optional(),minSdk:i.string().optional(),weight:i.number().optional()})});function Fi(t){return t!==void 0&&t.used>=t.limit}function NI(t){let e=`${na(Math.max(0,t.limit-t.used))} of ${na(t.limit)}`;return at.FREE===t.kind?`${e} free credits`:at.TRIAL===t.kind?`${e} trial credits`:`${e} credits left`}function mT(t){let e=t.kind===void 0?void 0:_V[t.kind],n=Math.max(0,t.limit-t.used),r=t.daysLeft===void 0?"":` \xB7 ${String(t.daysLeft)} day${t.daysLeft===1?"":"s"} left`;return`${e===void 0?"":`${e}: `}${na(t.used)} of ${na(t.limit)} credits used \xB7 ${na(n)} left${r}`}function tm(t){return at.FREE===t.kind?{said:`Your ${na(t.limit)} free credits are used.`,action:`Add a card to start your ${String(hT)}-day trial`}:at.TRIAL===t.kind?{said:`Your ${na(t.limit)} trial credits are used. Pro starts when your trial ends.`}:{said:"This month's credits are used. They renew over the next 30 days."}}var hT,yI,vI,RI,na,_V,wI=S(()=>{"use strict";hE();hT=14,yI=500,vI=`Sign up: free credits to try Reticle \xB7 add a card for a ${String(yI)}-credit, ${String(hT)}-day trial`,RI=`a card starts a ${String(hT)}-day trial with ${String(yI)} credits; without one, free sign-up credits`,na=t=>t.toLocaleString("en-US",{maximumFractionDigits:2});_V={[at.FREE]:"Free",[at.TRIAL]:"Trial"}});var Zc=S(()=>{"use strict";xI();AI();wI()});function ne(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Qn(t){try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}var ra=S(()=>{"use strict"});function $u(t,e){let n=document.createElement("template");n.innerHTML=e,OI(t,n.content)}function OI(t,e){let n=[...t.childNodes],r=[...e.childNodes];r.forEach((o,s)=>{let a=n[s];a===void 0?t.appendChild(o):a.nodeType===o.nodeType&&a.nodeName===o.nodeName?xV(a,o):t.replaceChild(o,a)});for(let o of n.slice(r.length))t.removeChild(o)}function xV(t,e){if(!(t instanceof Element)||!(e instanceof Element)){t.nodeValue!==e.nodeValue&&(t.nodeValue=e.nodeValue);return}for(let{name:n}of[...t.attributes])e.hasAttribute(n)||t.removeAttribute(n);for(let{name:n,value:r}of[...e.attributes])t.getAttribute(n)!==r&&t.setAttribute(n,r);OI(t,e)}var gT=S(()=>{"use strict"});function CI(t){let n=(t!=null?t:"").trim().split(/[\s._-]+/).filter(r=>r.length>0).slice(0,2).map(r=>{var o;return(o=[...r][0])!=null?o:""}).join("");return n.length>0?n.toUpperCase():ie.AVATAR_FALLBACK}function Jc(t,e={},n=!1){var l;if(t===void 0)return"";if(!t.signedIn)return n?`<div class="reticle-account" ${II}><button type="button" class="reticle-account-signin" ${Ut} title="${ie.SIGNIN_TITLE}" aria-label="${ie.SIGNIN_TITLE}">${ie.SIGNED_OUT}</button></div>`:"";let r=(l=t.org)!=null?l:"",o=r.length>0?ne(r):ie.SIGNED_IN_AS,s=`<span class="reticle-account-avatar" aria-hidden="true">${ne(CI(t.org))}</span>`,a=`<button type="button" class="reticle-account-trigger" ${rm} aria-haspopup="true" aria-expanded="false" title="${ie.TRIGGER_TITLE}" aria-label="${ie.TRIGGER_TITLE}: ${o}">${s}</button>`;return`<div class="reticle-account" ${II}>${a}${RV(t,e)}</div>`}function Yo(t,e){return e===void 0||e.length===0?"":`<div class="reticle-account-row"><span class="reticle-account-k">${ne(t)}</span><span class="reticle-account-v" title="${ne(e)}">${ne(e)}</span></div>`}function RV(t,e){var d,u;let n=(d=t.org)!=null?d:"",r=`<div class="reticle-account-head"><span class="reticle-account-avatar reticle-account-avatar--lg" aria-hidden="true">${ne(CI(t.org))}</span><span class="reticle-account-who"><span class="reticle-account-org">${n.length>0?ne(n):ie.SIGNED_IN_AS}</span>`+(t.email!==void 0&&t.email.length>0?`<span class="reticle-account-email" title="${ne(t.email)}">${ne(t.email)}</span>`:n.length>0?`<span class="reticle-account-email">${ie.SIGNED_IN_AS}</span>`:"")+"</span></div>",o=Yo(ie.HOST_LABEL,t.host)+Yo(ie.PROJECT_LABEL,e.projectName)+Yo(ie.VERDICTS_LABEL,e.verdicts!==void 0?String(e.verdicts):void 0)+Yo(ie.DEFECTS_LABEL,e.defects!==void 0?String(e.defects):void 0)+Yo(ie.ON_PLATFORM_LABEL,e.onPlatform)+Yo(ie.PLAN_LABEL,e.plan)+Yo(ie.CREDITS_LABEL,e.credits)+Yo(ie.HARNESS_RUNS_LABEL,e.harnessRuns)+Yo(ie.MEMORY_LABEL,e.memory),a=e.dashboardUrl!==void 0&&Qn(e.dashboardUrl)?`<a class="reticle-account-action" data-reticle-account-dashboard href="${ne((u=e.dashboardUrl)!=null?u:"")}" target="_blank" rel="noreferrer noopener" title="${ie.DASHBOARD_TITLE}">${Ee(Q.VIEW,he.HELP)}<span>${ie.DASHBOARD_ACTION}</span></a>`:`<button type="button" class="reticle-account-action reticle-account-action--hint" ${Ut} data-reticle-copy="${ie.LINK_COMMAND}" title="${ie.LINK_HINT}"><span>${ie.LINK_HINT}</span></button>`,l=`<button type="button" class="reticle-account-action" ${AV} data-reticle-copy="${ie.SIGNOUT_COMMAND}" title="${ie.SIGNOUT_TITLE}"><span>${ie.SIGNOUT_ACTION}</span></button>`;return`<div class="reticle-account-menu" ${Gi} role="menu" aria-label="${ie.MENU_LABEL}" aria-hidden="true" hidden>`+r+(o.length>0?`<div class="reticle-account-rows">${o}</div>`:"")+`<div class="reticle-account-actions">${a}${l}</div></div>`}function LI(t,e){let n=t==null?void 0:t.plan,r=e==null?void 0:e.onPlatform;return{...n===void 0?{}:{plan:[NV[n.kind],n.daysLeft===void 0?"":`${ET(n.daysLeft,"day","days")} left`,n.seats===void 0?"":ET(n.seats,"seat","seats")].filter(o=>o.length>0).join(" \xB7 ")},...(t==null?void 0:t.credits)===void 0?{}:{credits:`${Math.max(0,t.credits.limit-t.credits.used).toLocaleString("en-US")} of ${t.credits.limit.toLocaleString("en-US")} left`},...(t==null?void 0:t.harnessRuns)===void 0?{}:{harnessRuns:String(t.harnessRuns)},...(t==null?void 0:t.memoryEntries)===void 0?{}:{memory:ET(t.memoryEntries,"entry","entries")},...typeof r=="number"?{onPlatform:String(r)}:{}}}function kI(t,e){return t===void 0||!t.signedIn?"":e!==void 0&&Qn(e)?`<a ${yV} class="reticle-team-link" href="${ne(e)}" target="_blank" rel="noreferrer noopener" title="${ne(nm.OPEN_TITLE)}">${nm.OPEN}</a>`:`<button type="button" ${Hu} class="reticle-team-link" title="${ne(nm.SAVE_TITLE)}"><span>${nm.SAVE_LINK}</span></button>`}function Uu(t,e){var o;let n=t.querySelector(`[${Gi}]:not([hidden])`)!==null;if($u(t,e),!n)return;let r=t.querySelector(`[${Gi}]`);r!==null&&(r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),(o=t.querySelector(`[${rm}]`))==null||o.setAttribute("aria-expanded","true"))}function TT(t){return t===void 0||!Qn(t)?"":`<button type="button" class="reticle-sync-now" ${bT} title="${ie.SYNC_TITLE}" aria-label="${ie.SYNC_TITLE}">${Ee(Q.SYNC,he.HELP)}</button>`}function DI(t,e){let n=new AbortController,{signal:r}=n,o=l=>{for(let d of t.querySelectorAll(`[${Gi}]`))d!==l&&(d.setAttribute("hidden",""),d.setAttribute("aria-hidden","true"));for(let d of t.querySelectorAll(`[${rm}]`))l!==void 0&&d.parentElement===l.parentElement||d.setAttribute("aria-expanded","false")},s=(l,d)=>{var h;let u=(h=l.querySelector("span"))!=null?h:l,p=u.textContent;u.textContent=d,setTimeout(()=>{u.textContent=p},vV)},a=async(l,d)=>{try{if(navigator.clipboard===void 0)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(l),s(d,ie.COPIED)}catch{s(d,l===ie.SIGNOUT_COMMAND?ie.SIGNOUT_COPY_FAILED:`Run ${l} in terminal`)}};return t.addEventListener("click",l=>{var m,g;let d=l.target;if(!(d instanceof Element))return;let u=d.closest(`[${rm}]`);if(u instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(m=u.parentElement)==null?void 0:m.querySelector(`[${Gi}]`);if(!(T instanceof HTMLElement))return;let _=!T.hasAttribute("hidden");if(o(),_)return;T.removeAttribute("hidden"),T.setAttribute("aria-hidden","false"),u.setAttribute("aria-expanded","true");return}let p=d.closest("[data-reticle-copy]");if(p instanceof HTMLElement){l.preventDefault(),l.stopPropagation();let T=(g=p.getAttribute("data-reticle-copy"))!=null?g:"";T.length>0&&a(T,p);return}let h=d.closest(`[${Ut}]`);if(h instanceof HTMLElement){l.preventDefault(),l.stopPropagation(),e==null||e(),a(ie.SIGNIN_COMMAND,h);return}o()},{signal:r}),document.addEventListener("pointerdown",l=>{let d=l.target;d instanceof Node&&t.contains(d)||o()},{signal:r}),document.addEventListener("keydown",l=>{l.key!=="Escape"||t.querySelector(`[${Gi}]:not([hidden])`)===null||(l.stopPropagation(),o())},{signal:r}),()=>n.abort()}var II,Ut,bT,rm,Gi,AV,yV,Hu,Qc,nm,ie,vV,NV,ET,eo=S(()=>{"use strict";D();Zc();Tr();ra();gT();II="data-reticle-account",Ut="data-reticle-account-signin",bT="data-reticle-sync-now",rm="data-reticle-account-trigger",Gi="data-reticle-account-menu",AV="data-reticle-account-signout",yV="data-reticle-team-open",Hu="data-reticle-team-save",Qc="data-reticle-team",nm={OPEN:"Open on dashboard \u2197",OPEN_TITLE:"This project's runs, kept for your team on the Reticle dashboard",SAVE_LINK:"Save runs for your team",SAVE_TITLE:`Keep every run, flow and Harness result on a dashboard your team shares. On Reticle, ${RI}.`},ie={SIGNED_OUT:"Sign in",SIGNIN_TITLE:"Sign in through your browser. Also copies `reticle connect`, for a terminal",SIGNIN_COMMAND:"reticle connect",DASHBOARD_TITLE:"Open this project on the dashboard",SYNC_TITLE:"Push to the dashboard now, instead of waiting for the next sync",COPIED:"Copied",AVATAR_FALLBACK:"\u2022",MENU_LABEL:"Reticle account",TRIGGER_TITLE:"Your Reticle account",SIGNED_IN_AS:"Signed in",DASHBOARD_ACTION:"Open dashboard",LINK_HINT:"Not linked \u2014 run `reticle connect` to keep a record on the dashboard",LINK_COMMAND:"reticle connect",SIGNOUT_ACTION:"Copy sign-out command",SIGNOUT_TITLE:"Copy `reticle logout` to run in your terminal",SIGNOUT_COMMAND:"reticle logout",SIGNOUT_COPY_FAILED:"Run reticle logout in terminal",PROJECT_LABEL:"Project",HOST_LABEL:"Host",VERDICTS_LABEL:"Verdicts",DEFECTS_LABEL:"Defects found",PLAN_LABEL:"Plan",CREDITS_LABEL:"Credits",HARNESS_RUNS_LABEL:"Harness runs",MEMORY_LABEL:"Memory",ON_PLATFORM_LABEL:"Runs on dashboard"},vV=1200;NV={[at.FREE]:"Free",[at.TRIAL]:"Trial",[at.PAID]:"Pro"},ET=(t,e,n)=>`${String(t)} ${t===1?e:n}`});var WI={};Ua(WI,{HARNESS_LOCKED_HELP:()=>GI,OutputDetail:()=>vr,PresenterSettingsPanel:()=>Gu,SETTINGS_ACCOUNT_ATTR:()=>wT,SETTINGS_CSS:()=>em,blockerHtml:()=>LT,creditsLeft:()=>BI,getPresenterSettings:()=>nr,loadPresenterSettings:()=>NT,paintHarnessRow:()=>VI,paintSdkVersion:()=>IT,paintSettingsAccount:()=>OT,settingsPanelHtml:()=>CT,statusTheme:()=>Bu,syncPageBlocker:()=>sm});function Bu(t){var e;return(e=RT.find(n=>n.id===t))!=null?e:wV}function nr(){return vt}function NT(){if(typeof localStorage=="undefined")return{...Jn};try{let t=localStorage.getItem(aT);if(t===null)return{...Jn};let e=JSON.parse(t);if(typeof e!="object"||e===null)return{...Jn};let n=e;return{outputDetail:OV(n.outputDetail)?n.outputDetail:Jn.outputDetail,reactComponents:n.reactComponents===!0,hideUntilRestart:!1,statusThemeId:IV(n.statusThemeId)?n.statusThemeId:Jn.statusThemeId,ambientGlow:typeof n.ambientGlow=="boolean"?n.ambientGlow:Jn.ambientGlow,clearOnCopy:n.clearOnCopy===!0,blockPageInteractions:typeof n.blockPageInteractions=="boolean"?n.blockPageInteractions:Jn.blockPageInteractions,showTally:typeof n.showTally=="boolean"?n.showTally:Jn.showTally,showTimestamps:typeof n.showTimestamps=="boolean"?n.showTimestamps:Jn.showTimestamps,autoOpenChat:typeof n.autoOpenChat=="boolean"?n.autoOpenChat:Jn.autoOpenChat,reduceMotion:typeof n.reduceMotion=="boolean"?n.reduceMotion:Jn.reduceMotion}}catch{return{...Jn}}}function OV(t){return t===vr.MINIMAL||t===vr.STANDARD||t===vr.VERBOSE}function IV(t){return RT.some(e=>e.id===t)}function CV(t){if(vt=t,typeof localStorage!="undefined")try{localStorage.setItem(aT,JSON.stringify(t))}catch{}}function LV(t){let e={...vt,...t};return CV(e),e}function kV(){return Ee(Q.HELP,he.HELP)}function ST(t,e,n=""){let r=kV(),o=n===""?"":`<span class="reticle-settings-desc">${n}</span>`;return`<span class="reticle-settings-labelcol"><span class="reticle-settings-label">${t}<button type="button" class="reticle-settings-help" data-reticle-settings-help title="${e}" aria-label="${e}">${r}</button></span>${o}</span>`}function Bi(t,e,n=""){let[r,o]=el[t];return`<div class="reticle-settings-row" ${n}>
|
|
328
|
+
${ST(r,e,o)}
|
|
329
|
+
<button type="button" class="reticle-settings-toggle" ${Kc}="${t}" role="switch" aria-checked="false"></button>
|
|
330
|
+
</div>`}function MI(t,e){let[n,r]=el[t];return`<label class="reticle-settings-checkrow" data-reticle-check-row="${t}">
|
|
331
331
|
<span class="reticle-settings-check" data-reticle-check="${t}" role="checkbox" aria-checked="${e?"true":"false"}" tabindex="0"></span>
|
|
332
332
|
<span class="reticle-settings-labelcol"><span class="reticle-settings-check-label">${n}</span><span class="reticle-settings-desc">${r}</span></span>
|
|
333
|
-
</label>`}function
|
|
333
|
+
</label>`}function BI(t){return t===void 0?"":Fi(t)?tm(t).said:NI(t)}function VI(t,e){let n=t.querySelector(`[${UI}]`);if(!(n instanceof HTMLElement))return;if(e===void 0){n.hidden=!0;return}n.hidden=!1;let r=n.querySelector(`[${Kc}="harnessEnabled"]`);if(!(r instanceof HTMLElement))return;let o=e.harnessEntitled;r.setAttribute("aria-checked",e.harnessEnabled&&o?"true":"false"),r.setAttribute("aria-disabled",o?"false":"true");let s=n.querySelector("[data-reticle-settings-help]"),a=BI(e.credits);s instanceof HTMLElement&&(s.title=o?[FI,a].filter(l=>0<l.length).join(" "):Fi(e.credits)?a:GI)}function OT(t,e,n,r={}){let o=t.querySelector(`[${HI}]`),s=t.querySelector(`[${wT}]`);if(!(o instanceof HTMLElement)||!(s instanceof HTMLElement))return;let a=Jc(e,{...r,dashboardUrl:n},!0);o.hidden=a.length===0,Uu(s,a)}function IT(t,e){let n=t.querySelector(`[${jI}]`);n!==null&&(n.textContent=e===void 0?xT.UNKNOWN:xT.KNOWN(e))}function CT(){let t=Ee(Q.REMOVE,he.MIN),e=Ee(Q.CARET_RIGHT,he.HELP),n="How much detail is included when you copy or export the run",r="Include React component paths in exported run state when available",o="Hide the Reticle HUD until you reload the page",s=FI;return`<div ${C} class="reticle-settings ${Cn}" role="region" aria-label="Reticle settings" aria-hidden="true">
|
|
334
334
|
<div class="reticle-settings-inner">
|
|
335
335
|
<div class="reticle-settings-head">
|
|
336
336
|
<span class="reticle-settings-title">Settings</span>
|
|
337
|
-
<button type="button" ${
|
|
337
|
+
<button type="button" ${sT} class="reticle-settings-close" title="Close settings" aria-label="Close settings">${t}</button>
|
|
338
338
|
</div>
|
|
339
339
|
<div class="reticle-settings-body">
|
|
340
340
|
<div class="reticle-settings-section">Session</div>
|
|
341
341
|
<div class="reticle-settings-row">
|
|
342
|
-
${
|
|
342
|
+
${ST(el.outputDetail[0],n,el.outputDetail[1])}
|
|
343
343
|
<button type="button" class="reticle-settings-cycle" data-reticle-settings-cycle="outputDetail"><span data-reticle-cycle-label></span><span class="reticle-settings-dots" data-reticle-cycle-dots></span></button>
|
|
344
344
|
</div>
|
|
345
|
-
${
|
|
346
|
-
${
|
|
347
|
-
${
|
|
345
|
+
${Bi("autoOpenChat","On by default. Opens the agent chat by itself when a session starts and when you expand the HUD. Off leaves the toolbar bare until you ask for the chat.")}
|
|
346
|
+
${Bi("showTimestamps","Show relative timestamps on each activity-log row")}
|
|
347
|
+
${Bi("showTally","Show the pass/fail score pill in the toolbar")}
|
|
348
348
|
<div class="reticle-settings-section">Inspector</div>
|
|
349
|
-
${
|
|
349
|
+
${Bi("reactComponents",r,"data-reticle-settings-react-row")}
|
|
350
350
|
<div class="reticle-settings-section">Interaction</div>
|
|
351
|
-
${
|
|
352
|
-
${
|
|
353
|
-
${
|
|
354
|
-
${
|
|
355
|
-
${
|
|
351
|
+
${MI("blockPageInteractions",!0)}
|
|
352
|
+
${MI("clearOnCopy",!1)}
|
|
353
|
+
${Bi("hideUntilRestart",o)}
|
|
354
|
+
${Bi("harnessEnabled",s,`${UI} hidden`)}
|
|
355
|
+
${Bi("reduceMotion","Reduce HUD animations for accessibility")}
|
|
356
356
|
<div class="reticle-settings-section">Account</div>
|
|
357
|
-
<div class="reticle-settings-row" ${
|
|
358
|
-
${
|
|
359
|
-
<span ${
|
|
357
|
+
<div class="reticle-settings-row" ${HI} hidden>
|
|
358
|
+
${ST(el.workspace[0],DV,el.workspace[1])}
|
|
359
|
+
<span ${wT}></span>
|
|
360
360
|
</div>
|
|
361
361
|
<div class="reticle-settings-section">Status theme</div>
|
|
362
|
-
${
|
|
362
|
+
${Bi("ambientGlow","Glow the page edges in the status colour while a session is live. Off keeps the HUD signals and leaves your app alone.")}
|
|
363
363
|
<div class="reticle-settings-themes" data-reticle-settings-themes></div>
|
|
364
364
|
<div class="reticle-settings-section">Help</div>
|
|
365
365
|
<div class="reticle-settings-foot">
|
|
366
366
|
<button type="button" class="reticle-settings-reset" data-reticle-settings-reset>Reset HUD position</button>
|
|
367
367
|
<button type="button" class="reticle-settings-link" data-reticle-settings-mcp>MCP setup guide<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></button>
|
|
368
|
-
<a class="reticle-settings-link" data-reticle-feedback-email href="${
|
|
369
|
-
<a class="reticle-settings-link" data-reticle-feedback-call href="${
|
|
370
|
-
<p class="reticle-settings-kill-sub" ${
|
|
368
|
+
<a class="reticle-settings-link" data-reticle-feedback-email href="${Yx}" target="_blank" rel="noopener noreferrer" title="${om.EMAIL_TITLE}">${om.EMAIL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
369
|
+
<a class="reticle-settings-link" data-reticle-feedback-call href="${ef}" target="_blank" rel="noopener noreferrer" title="${om.CALL_TITLE}">${om.CALL}<span class="reticle-settings-link-caret" aria-hidden="true">${e}</span></a>
|
|
370
|
+
<p class="reticle-settings-kill-sub" ${jI}>${xT.UNKNOWN}</p>
|
|
371
371
|
<div class="reticle-settings-kill-row">
|
|
372
|
-
<button type="button" class="reticle-settings-kill" ${
|
|
373
|
-
<p class="reticle-settings-kill-sub">${
|
|
372
|
+
<button type="button" class="reticle-settings-kill" ${_T}><span data-reticle-kill-label>${im.LABEL}</span></button>
|
|
373
|
+
<p class="reticle-settings-kill-sub">${im.WARNING}</p>
|
|
374
374
|
</div>
|
|
375
375
|
</div>
|
|
376
376
|
</div>
|
|
377
377
|
</div>
|
|
378
|
-
</div>`}function h0(t,e){let n=fu(e.statusThemeId);t.style.setProperty("--reticle-mark-accent",n.active),t.style.setProperty("--reticle-accent",n.active),t.style.setProperty("--reticle-c-active",n.active),t.style.setProperty("--reticle-c-idle",n.idle),t.style.setProperty("--reticle-c-ended",n.ended),t.setAttribute(Ow,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(Nc,"1"):t.removeAttribute(Nc),t.setAttribute(Jf,e.showTimestamps?"1":"0"),t.setAttribute(Gr,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function hh(t,e,n){t.setAttribute(Iw,e.blockPageInteractions&&n?"1":"0")}function Cb(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var Er,Ha,vb,DU,uu,Kn,Et,Mc,Nb,m0,f0,g0,E0,b0,FU,ph,Sb,fh,_0,_b,Yt,bt,zn,Vr,be,xb,Wn,Ab,Ri,yb,x0,pu,$c=S(()=>{"use strict";ut();ur();mr();db();au();ub();Lc();H();Br();Er={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},Ha={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},vb=[{id:Ha.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:Ha.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:Ha.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:Ha.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:Ha.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],DU={id:Ha.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};uu=[{value:Er.MINIMAL,label:"Minimal"},{value:Er.STANDARD,label:"Standard"},{value:Er.VERBOSE,label:"Verbose"}],Kn={outputDetail:Er.STANDARD,statusThemeId:Ha.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},Et=Rb();Mc={outputDetail:["Output detail","How much a copied run includes."],autoOpenChat:["Open the log automatically","Opens this panel when a session starts."],showTimestamps:["Show timestamps","Shows how long ago each log row happened."],showTally:["Show pass/fail count","A score pill for this session in the toolbar."],reactComponents:["React component names","Adds component names to copied runs."],blockPageInteractions:["Block page while adding notes","Clicks pin a note instead of using the app."],clearOnCopy:["Clear notes after copying","Starts fresh once your notes are copied."],hideUntilRestart:["Hide until reload","Hides the HUD until this page reloads."],harnessEnabled:["Allow Reticle to drive","Off by default. Unlocks at 80% instrumentation; lets Run Harness test this project."],reduceMotion:["Reduce motion","Fewer HUD animations."],ambientGlow:["Page glow","Tints the page edges while a session runs."],workspace:["Workspace","The Reticle account this machine is signed in to."]};Nb="data-reticle-settings-account",m0="data-reticle-settings-account-row",f0="data-reticle-settings-helptext",g0="data-reticle-settings-harness-row",E0="Let Reticle test this app by itself to find defects, from Run Harness or from your coding agent. Off blocks every run. Set here or in your dashboard \u2014 both write to the same place.",b0="The Harness is not available to this workspace right now: see Plan in your Reticle dashboard.";FU=`Whether this machine is signed in to a Reticle workspace. Press ${te.SIGNED_OUT} to sign in through your browser.`;ph={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${k_}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"},Sb="data-reticle-settings-kill",fh={LABEL:"Kill Reticle",ARMED:"Click again to kill Reticle",WARNING:"Disconnects Reticle from this page: no HUD, no agent, nothing recorded. To bring it back, restart your dev server or reload the page."},_0="data-reticle-sdk-version",_b={UNKNOWN:"Reticle SDK version unknown",KNOWN:t=>`Reticle SDK ${t}`};pu=class{constructor(e={}){b(this,be);b(this,Yt);b(this,bt);b(this,zn);b(this,Vr);h(this,Vr,e),Et=Rb()}contains(e){var n;return((n=c(this,bt))==null?void 0:n.contains(e))===!0}mount(e){var a,s,l,d,u,p,f;h(this,Yt,e);let n=e.querySelector(`[${I}]`);h(this,bt,n instanceof HTMLElement?n:void 0),(a=c(this,bt))==null||a.addEventListener("pointerdown",m=>{m.stopPropagation()});let r=e.querySelector(`[${eu}]`);h(this,zn,r instanceof HTMLElement?r:void 0);let o=e.querySelector(`[${ib}]`);if(o instanceof HTMLElement&&qE(o,Y.REMOVE,pe.MIN),c(this,zn)!==void 0){let m=c(this,zn).querySelector(".reticle-nav-label");qE(c(this,zn),Y.GEAR,pe.TOOLBAR),m!==null&&c(this,zn).append(m),c(this,zn).addEventListener("click",g=>{g.stopPropagation(),this.open()})}(s=e.querySelector('[data-reticle-settings-cycle="outputDetail"]'))==null||s.addEventListener("click",m=>{m.stopPropagation();let g=uu.findIndex(_=>_.value===Et.outputDetail),T=uu[(g+1)%uu.length];T!==void 0&&E(this,be,Wn).call(this,{outputDetail:T.value})});for(let m of e.querySelectorAll(".reticle-settings-help"))m.setAttribute("aria-expanded","false"),m.addEventListener("click",g=>{var A;g.stopPropagation();let T=m.closest(".reticle-settings-row");if(T===null)return;let _=T.querySelector(`[${f0}]`);if(_!==null){_.remove(),m.setAttribute("aria-expanded","false");return}let y=document.createElement("p");y.className="reticle-settings-helptext",y.setAttribute(f0,""),y.textContent=(A=m.getAttribute("title"))!=null?A:"",T.appendChild(y),m.setAttribute("aria-expanded","true")});for(let m of e.querySelectorAll(`[${Rc}]`)){let g=()=>{var _,y,A,v;if(!(m instanceof HTMLElement))return;let T=m.getAttribute(Rc);if(T==="harnessEnabled"){if(m.getAttribute("aria-disabled")==="true")return;let O=m.getAttribute("aria-checked")!=="true";m.setAttribute("aria-checked",O?"true":"false"),(y=(_=c(this,Vr)).onHarness)==null||y.call(_,O)}else if(T==="reactComponents")E(this,be,Wn).call(this,{reactComponents:!Et.reactComponents});else if(T==="hideUntilRestart"){let O=!Et.hideUntilRestart;E(this,be,Wn).call(this,{hideUntilRestart:O}),O&&((v=(A=c(this,Vr)).onHideUntilRestart)==null||v.call(A))}else T==="showTally"?E(this,be,Wn).call(this,{showTally:!Et.showTally}):T==="autoOpenChat"?E(this,be,Wn).call(this,{autoOpenChat:!Et.autoOpenChat}):T==="showTimestamps"?E(this,be,Wn).call(this,{showTimestamps:!Et.showTimestamps}):T==="reduceMotion"?E(this,be,Wn).call(this,{reduceMotion:!Et.reduceMotion}):T==="ambientGlow"&&E(this,be,Wn).call(this,{ambientGlow:!Et.ambientGlow})};m.addEventListener("click",T=>{T.stopPropagation(),g()}),m.addEventListener("keydown",T=>{T instanceof KeyboardEvent&&(T.key===" "||T.key==="Enter")&&(T.preventDefault(),T.stopPropagation(),g())})}for(let m of e.querySelectorAll("[data-reticle-check]")){let g=()=>{if(!(m instanceof HTMLElement))return;let _=m.getAttribute("data-reticle-check");_==="clearOnCopy"?E(this,be,Wn).call(this,{clearOnCopy:!Et.clearOnCopy}):_==="blockPageInteractions"&&E(this,be,Wn).call(this,{blockPageInteractions:!Et.blockPageInteractions})},T=m.closest("[data-reticle-check-row]");T==null||T.addEventListener("click",_=>{_.stopPropagation(),!(_.target instanceof HTMLElement&&_.target.classList.contains("reticle-settings-help"))&&g()}),m.addEventListener("keydown",_=>{_ instanceof KeyboardEvent&&(_.key===" "||_.key==="Enter")&&(_.preventDefault(),g())})}(l=e.querySelector("[data-reticle-settings-mcp]"))==null||l.addEventListener("click",m=>{m.stopPropagation(),window.open(Cw,"_blank","noopener,noreferrer")}),(d=e.querySelector("[data-reticle-settings-reset]"))==null||d.addEventListener("click",m=>{m.stopPropagation();let g=e.querySelector(`[${D}]`);g instanceof HTMLElement&&ru(g)}),(u=e.querySelector(`[${Sb}]`))==null||u.addEventListener("click",m=>{var _,y;m.stopPropagation();let g=m.currentTarget;if(!(g instanceof HTMLElement))return;if(g.getAttribute("data-armed")==="1"){(y=(_=c(this,Vr)).onKill)==null||y.call(_);return}g.setAttribute("data-armed","1");let T=g.querySelector("[data-reticle-kill-label]");T!==null&&(T.textContent=fh.ARMED)}),o==null||o.addEventListener("click",m=>{m.stopPropagation(),this.close()}),E(this,be,x0).call(this),E(this,be,Ab).call(this),h0(e,Et),(f=(p=c(this,Vr)).onSettingsChange)==null||f.call(p,Et)}paintHarness(e,n){let r=c(this,bt);r!==void 0&&S0(r,e,n)}teardown(){h(this,Yt,void 0),h(this,bt,void 0),h(this,zn,void 0)}isOpen(){var e;return((e=c(this,Yt))==null?void 0:e.getAttribute(Ye))==="1"}open(){var e,n,r,o;c(this,Yt)!==void 0&&((n=(e=c(this,Vr)).onBeforeOpen)==null||n.call(e),c(this,Yt).setAttribute(Ye,"1"),(r=c(this,bt))==null||r.setAttribute("aria-hidden","false"),(o=c(this,zn))==null||o.setAttribute("data-active","1"),E(this,be,xb).call(this))}close(){var n,r,o;if(c(this,Yt)===void 0)return;let e=(n=c(this,bt))==null?void 0:n.querySelector(`[${Sb}]`);if(e instanceof HTMLElement){e.removeAttribute("data-armed");let a=e.querySelector("[data-reticle-kill-label]");a!==null&&(a.textContent=fh.LABEL)}c(this,Yt).setAttribute(Ye,"0"),(r=c(this,bt))==null||r.setAttribute("aria-hidden","true"),(o=c(this,zn))==null||o.setAttribute("data-active","0"),E(this,be,xb).call(this)}toggle(){this.isOpen()?this.close():this.open()}};Yt=new WeakMap,bt=new WeakMap,zn=new WeakMap,Vr=new WeakMap,be=new WeakSet,xb=function(){if(c(this,Yt)===void 0)return;let e=Ww(c(this,Yt));e!==void 0&&gr(e,c(this,Yt))},Wn=function(e){var r,o;let n=HU(e);c(this,Yt)!==void 0&&h0(c(this,Yt),n),E(this,be,Ab).call(this),(o=(r=c(this,Vr)).onSettingsChange)==null||o.call(r,n)},Ab=function(){var o,a,s,l,d,u;let e=Et,n=(o=c(this,bt))==null?void 0:o.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=(s=(a=uu.find(p=>p.value===e.outputDetail))==null?void 0:a.label)!=null?s:"Standard");let r=(l=c(this,bt))==null?void 0:l.querySelector("[data-reticle-cycle-dots]");r!=null&&r.replaceChildren(...uu.map(p=>{let f=document.createElement("span");return f.className="reticle-settings-dot",f.setAttribute("data-on",p.value===e.outputDetail?"1":"0"),f})),E(this,be,Ri).call(this,"reactComponents",e.reactComponents),E(this,be,Ri).call(this,"hideUntilRestart",e.hideUntilRestart),E(this,be,Ri).call(this,"showTally",e.showTally),E(this,be,Ri).call(this,"autoOpenChat",e.autoOpenChat),E(this,be,Ri).call(this,"showTimestamps",e.showTimestamps),E(this,be,Ri).call(this,"reduceMotion",e.reduceMotion),E(this,be,Ri).call(this,"ambientGlow",e.ambientGlow),E(this,be,yb).call(this,"clearOnCopy",e.clearOnCopy),E(this,be,yb).call(this,"blockPageInteractions",e.blockPageInteractions);for(let p of(u=(d=c(this,bt))==null?void 0:d.querySelectorAll("[data-reticle-theme]"))!=null?u:[])p instanceof HTMLElement&&p.setAttribute("data-on",p.getAttribute("data-reticle-theme")===e.statusThemeId?"1":"0")},Ri=function(e,n){var o;let r=(o=c(this,bt))==null?void 0:o.querySelector(`[${Rc}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},yb=function(e,n){var o;let r=(o=c(this,bt))==null?void 0:o.querySelector(`[data-reticle-check="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"),r.textContent=n?"\u2713":"")},x0=function(){var n;let e=(n=c(this,bt))==null?void 0:n.querySelector("[data-reticle-settings-themes]");e!=null&&e.replaceChildren(...vb.map(r=>{let o=document.createElement("button");o.type="button",o.className="reticle-settings-theme",o.setAttribute("data-reticle-theme",r.id),o.title=r.label,o.setAttribute("aria-label",`${r.label} status theme`);for(let s of[r.active,r.idle,r.ended]){let l=document.createElement("span");l.className="reticle-settings-theme-band",l.style.background=s,o.appendChild(l)}let a=document.createElement("span");return a.className="reticle-settings-theme-name",a.textContent=r.label,o.appendChild(a),o.addEventListener("click",s=>{s.stopPropagation(),E(this,be,Wn).call(this,{statusThemeId:r.id})}),o}))}});function WU(){let t=globalThis[gp];return typeof t=="string"&&t.length>0?t:void 0}function zU(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"").split("/").filter(o=>o.length>0),r=n[n.length-1];return r!==void 0&&r.length>0?r:Mb}function YU(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search).get($n.PROJECT);return t!==null&&t.length>0?t:void 0}function I0(){let t=WU(),e=YU(),n=t!==void 0?zU(t):Mb;if(t===void 0&&e===void 0)return{folder:n};let r={folder:n};return t!==void 0&&(r.root=t),e!==void 0&&(r.projectId=e),r}function C0(){let t=Ee(Y.LAYOUT,pe.HELP),e=Ee(Y.CARET_DOWN,pe.HELP),n=Ee(Y.COPY,pe.HELP);return`<div class="reticle-workspace-wrap">
|
|
379
|
-
<button type="button" class="reticle-workspace" ${
|
|
378
|
+
</div>`}function $I(t,e){let n=Bu(e.statusThemeId);t.style.setProperty("--reticle-mark-accent",n.active),t.style.setProperty("--reticle-accent",n.active),t.style.setProperty("--reticle-c-active",n.active),t.style.setProperty("--reticle-c-idle",n.idle),t.style.setProperty("--reticle-c-ended",n.ended),t.setAttribute(J0,e.ambientGlow?"1":"0"),e.hideUntilRestart?t.setAttribute(Wc,"1"):t.removeAttribute(Wc),t.setAttribute(Kh,e.showTimestamps?"1":"0"),t.setAttribute(Jr,e.reduceMotion?"1":"0");let r=t.querySelector("[data-reticle-tally]");r instanceof HTMLElement&&!e.showTally&&r.setAttribute("hidden","")}function sm(t,e,n){t.setAttribute(eI,e.blockPageInteractions&&n?"1":"0")}function LT(){return'<div data-reticle-blocker aria-hidden="true"></div>'}var vr,oa,RT,wV,Fu,Jn,vt,el,wT,HI,PI,UI,FI,GI,DV,om,_T,im,jI,xT,rn,Rt,tr,to,be,AT,er,yT,Vi,vT,KI,Gu,tl=S(()=>{"use strict";Et();Tr();Ar();uT();Mu();pT();Zc();D();eo();vr={MINIMAL:"minimal",STANDARD:"standard",VERBOSE:"verbose"},oa={SIGNAL:"signal",TRAFFIC:"traffic",MONO:"mono",NEON:"neon",EMBER:"ember"},RT=[{id:oa.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"},{id:oa.TRAFFIC,label:"Traffic",active:"#22c55e",idle:"#eab308",ended:"#ef4444"},{id:oa.MONO,label:"Mono",active:"#fafafa",idle:"#a3a3a3",ended:"#525252"},{id:oa.NEON,label:"Neon",active:"#06b6d4",idle:"#a855f7",ended:"#f43f5e"},{id:oa.EMBER,label:"Ember",active:"#f97316",idle:"#facc15",ended:"#7f1d1d"}],wV={id:oa.SIGNAL,label:"Signal",active:"#3b82f6",idle:"#eab308",ended:"#ef4444"};Fu=[{value:vr.MINIMAL,label:"Minimal"},{value:vr.STANDARD,label:"Standard"},{value:vr.VERBOSE,label:"Verbose"}],Jn={outputDetail:vr.STANDARD,statusThemeId:oa.SIGNAL,ambientGlow:!0,reactComponents:!1,hideUntilRestart:!1,clearOnCopy:!1,blockPageInteractions:!0,showTally:!1,showTimestamps:!0,autoOpenChat:!0,reduceMotion:!1},vt=NT();el={outputDetail:["Output detail","How much a copied run includes."],autoOpenChat:["Open the log automatically","Opens this panel when an agent starts to act in this tab."],showTimestamps:["Show timestamps","Shows how long ago each log row happened."],showTally:["Show pass/fail count","A score pill for this session in the toolbar."],reactComponents:["React component names","Adds component names to copied runs."],blockPageInteractions:["Block page while adding notes","Clicks pin a note instead of using the app."],clearOnCopy:["Clear notes after copying","Starts fresh once your notes are copied."],hideUntilRestart:["Hide until reload","Hides the HUD until this page reloads."],harnessEnabled:["Allow Reticle to drive","Off by default. Lets Run Harness test this project."],reduceMotion:["Reduce motion","Fewer HUD animations."],ambientGlow:["Page glow","Tints the page edges while a session runs."],workspace:["Workspace","The Reticle account this machine is signed in to."]};wT="data-reticle-settings-account",HI="data-reticle-settings-account-row",PI="data-reticle-settings-helptext",UI="data-reticle-settings-harness-row",FI="Let Reticle test this app by itself to find defects, from Run Harness or from your coding agent. Off blocks every run. Set here or in your dashboard \u2014 both write to the same place.",GI="The Harness is not available to this workspace right now: see Plan in your Reticle dashboard.";DV=`Whether this machine is signed in to a Reticle workspace. Press ${ie.SIGNED_OUT} to sign in through your browser.`;om={EMAIL:"Email the founder",EMAIL_TITLE:`Write to ${zx}: a problem, a wish, anything`,CALL:"Book a call",CALL_TITLE:"Pick a time to talk it through"},_T="data-reticle-settings-kill",im={LABEL:"Kill Reticle",ARMED:"Click again to kill Reticle",WARNING:"Disconnects Reticle from this page: no HUD, no agent, nothing recorded. To bring it back, restart your dev server or reload the page."},jI="data-reticle-sdk-version",xT={UNKNOWN:"Reticle SDK version unknown",KNOWN:t=>`Reticle SDK ${t}`};Gu=class{constructor(e={}){b(this,be);b(this,rn);b(this,Rt);b(this,tr);b(this,to);f(this,to,e),vt=NT()}contains(e){var n;return((n=c(this,Rt))==null?void 0:n.contains(e))===!0}mount(e){var s,a,l,d,u,p,h;f(this,rn,e);let n=e.querySelector(`[${C}]`);f(this,Rt,n instanceof HTMLElement?n:void 0),(s=c(this,Rt))==null||s.addEventListener("pointerdown",m=>{m.stopPropagation()});let r=e.querySelector(`[${Ou}]`);f(this,tr,r instanceof HTMLElement?r:void 0);let o=e.querySelector(`[${sT}]`);if(o instanceof HTMLElement&&Qb(o,Q.REMOVE,he.MIN),c(this,tr)!==void 0){let m=c(this,tr).querySelector(".reticle-nav-label");Qb(c(this,tr),Q.GEAR,he.TOOLBAR),m!==null&&c(this,tr).append(m),c(this,tr).addEventListener("click",g=>{g.stopPropagation(),this.open()})}(a=e.querySelector('[data-reticle-settings-cycle="outputDetail"]'))==null||a.addEventListener("click",m=>{m.stopPropagation();let g=Fu.findIndex(_=>_.value===vt.outputDetail),T=Fu[(g+1)%Fu.length];T!==void 0&&E(this,be,er).call(this,{outputDetail:T.value})});for(let m of e.querySelectorAll(".reticle-settings-help"))m.setAttribute("aria-expanded","false"),m.addEventListener("click",g=>{var N;g.stopPropagation();let T=m.closest(".reticle-settings-row");if(T===null)return;let _=T.querySelector(`[${PI}]`);if(_!==null){_.remove(),m.setAttribute("aria-expanded","false");return}let A=document.createElement("p");A.className="reticle-settings-helptext",A.setAttribute(PI,""),A.textContent=(N=m.getAttribute("title"))!=null?N:"",T.appendChild(A),m.setAttribute("aria-expanded","true")});for(let m of e.querySelectorAll(`[${Kc}]`)){let g=()=>{var _,A,N,y;if(!(m instanceof HTMLElement))return;let T=m.getAttribute(Kc);if(T==="harnessEnabled"){if(m.getAttribute("aria-disabled")==="true")return;let v=m.getAttribute("aria-checked")!=="true";m.setAttribute("aria-checked",v?"true":"false"),(A=(_=c(this,to)).onHarness)==null||A.call(_,v)}else if(T==="reactComponents")E(this,be,er).call(this,{reactComponents:!vt.reactComponents});else if(T==="hideUntilRestart"){let v=!vt.hideUntilRestart;E(this,be,er).call(this,{hideUntilRestart:v}),v&&((y=(N=c(this,to)).onHideUntilRestart)==null||y.call(N))}else T==="showTally"?E(this,be,er).call(this,{showTally:!vt.showTally}):T==="autoOpenChat"?E(this,be,er).call(this,{autoOpenChat:!vt.autoOpenChat}):T==="showTimestamps"?E(this,be,er).call(this,{showTimestamps:!vt.showTimestamps}):T==="reduceMotion"?E(this,be,er).call(this,{reduceMotion:!vt.reduceMotion}):T==="ambientGlow"&&E(this,be,er).call(this,{ambientGlow:!vt.ambientGlow})};m.addEventListener("click",T=>{T.stopPropagation(),g()}),m.addEventListener("keydown",T=>{T instanceof KeyboardEvent&&(T.key===" "||T.key==="Enter")&&(T.preventDefault(),T.stopPropagation(),g())})}for(let m of e.querySelectorAll("[data-reticle-check]")){let g=()=>{if(!(m instanceof HTMLElement))return;let _=m.getAttribute("data-reticle-check");_==="clearOnCopy"?E(this,be,er).call(this,{clearOnCopy:!vt.clearOnCopy}):_==="blockPageInteractions"&&E(this,be,er).call(this,{blockPageInteractions:!vt.blockPageInteractions})},T=m.closest("[data-reticle-check-row]");T==null||T.addEventListener("click",_=>{_.stopPropagation(),!(_.target instanceof HTMLElement&&_.target.classList.contains("reticle-settings-help"))&&g()}),m.addEventListener("keydown",_=>{_ instanceof KeyboardEvent&&(_.key===" "||_.key==="Enter")&&(_.preventDefault(),g())})}(l=e.querySelector("[data-reticle-settings-mcp]"))==null||l.addEventListener("click",m=>{m.stopPropagation(),window.open(tI,"_blank","noopener,noreferrer")}),(d=e.querySelector("[data-reticle-settings-reset]"))==null||d.addEventListener("click",m=>{m.stopPropagation();let g=e.querySelector(`[${M}]`);g instanceof HTMLElement&&Lu(g)}),(u=e.querySelector(`[${_T}]`))==null||u.addEventListener("click",m=>{var _,A;m.stopPropagation();let g=m.currentTarget;if(!(g instanceof HTMLElement))return;if(g.getAttribute("data-armed")==="1"){(A=(_=c(this,to)).onKill)==null||A.call(_);return}g.setAttribute("data-armed","1");let T=g.querySelector("[data-reticle-kill-label]");T!==null&&(T.textContent=im.ARMED)}),o==null||o.addEventListener("click",m=>{m.stopPropagation(),this.close()}),E(this,be,KI).call(this),E(this,be,yT).call(this),$I(e,vt),(h=(p=c(this,to)).onSettingsChange)==null||h.call(p,vt)}paintHarness(e){let n=c(this,Rt);n!==void 0&&VI(n,e)}teardown(){f(this,rn,void 0),f(this,Rt,void 0),f(this,tr,void 0)}isOpen(){var e;return((e=c(this,rn))==null?void 0:e.getAttribute(Qe))==="1"}open(){var e,n,r,o;c(this,rn)!==void 0&&((n=(e=c(this,to)).onBeforeOpen)==null||n.call(e),c(this,rn).setAttribute(Qe,"1"),(r=c(this,Rt))==null||r.setAttribute("aria-hidden","false"),(o=c(this,tr))==null||o.setAttribute("data-active","1"),E(this,be,AT).call(this))}close(){var n,r,o;if(c(this,rn)===void 0)return;let e=(n=c(this,Rt))==null?void 0:n.querySelector(`[${_T}]`);if(e instanceof HTMLElement){e.removeAttribute("data-armed");let s=e.querySelector("[data-reticle-kill-label]");s!==null&&(s.textContent=im.LABEL)}c(this,rn).setAttribute(Qe,"0"),(r=c(this,Rt))==null||r.setAttribute("aria-hidden","true"),(o=c(this,tr))==null||o.setAttribute("data-active","0"),E(this,be,AT).call(this)}toggle(){this.isOpen()?this.close():this.open()}};rn=new WeakMap,Rt=new WeakMap,tr=new WeakMap,to=new WeakMap,be=new WeakSet,AT=function(){if(c(this,rn)===void 0)return;let e=gI(c(this,rn));e!==void 0&&yr(e,c(this,rn))},er=function(e){var r,o;let n=LV(e);c(this,rn)!==void 0&&$I(c(this,rn),n),E(this,be,yT).call(this),(o=(r=c(this,to)).onSettingsChange)==null||o.call(r,n)},yT=function(){var o,s,a,l,d,u;let e=vt,n=(o=c(this,Rt))==null?void 0:o.querySelector("[data-reticle-cycle-label]");n!=null&&(n.textContent=(a=(s=Fu.find(p=>p.value===e.outputDetail))==null?void 0:s.label)!=null?a:"Standard");let r=(l=c(this,Rt))==null?void 0:l.querySelector("[data-reticle-cycle-dots]");r!=null&&r.replaceChildren(...Fu.map(p=>{let h=document.createElement("span");return h.className="reticle-settings-dot",h.setAttribute("data-on",p.value===e.outputDetail?"1":"0"),h})),E(this,be,Vi).call(this,"reactComponents",e.reactComponents),E(this,be,Vi).call(this,"hideUntilRestart",e.hideUntilRestart),E(this,be,Vi).call(this,"showTally",e.showTally),E(this,be,Vi).call(this,"autoOpenChat",e.autoOpenChat),E(this,be,Vi).call(this,"showTimestamps",e.showTimestamps),E(this,be,Vi).call(this,"reduceMotion",e.reduceMotion),E(this,be,Vi).call(this,"ambientGlow",e.ambientGlow),E(this,be,vT).call(this,"clearOnCopy",e.clearOnCopy),E(this,be,vT).call(this,"blockPageInteractions",e.blockPageInteractions);for(let p of(u=(d=c(this,Rt))==null?void 0:d.querySelectorAll("[data-reticle-theme]"))!=null?u:[])p instanceof HTMLElement&&p.setAttribute("data-on",p.getAttribute("data-reticle-theme")===e.statusThemeId?"1":"0")},Vi=function(e,n){var o;let r=(o=c(this,Rt))==null?void 0:o.querySelector(`[${Kc}="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"))},vT=function(e,n){var o;let r=(o=c(this,Rt))==null?void 0:o.querySelector(`[data-reticle-check="${e}"]`);r instanceof HTMLElement&&(r.setAttribute("data-on",n?"1":"0"),r.setAttribute("aria-checked",n?"true":"false"),r.textContent=n?"\u2713":"")},KI=function(){var n;let e=(n=c(this,Rt))==null?void 0:n.querySelector("[data-reticle-settings-themes]");e!=null&&e.replaceChildren(...RT.map(r=>{let o=document.createElement("button");o.type="button",o.className="reticle-settings-theme",o.setAttribute("data-reticle-theme",r.id),o.title=r.label,o.setAttribute("aria-label",`${r.label} status theme`);for(let a of[r.active,r.idle,r.ended]){let l=document.createElement("span");l.className="reticle-settings-theme-band",l.style.background=a,o.appendChild(l)}let s=document.createElement("span");return s.className="reticle-settings-theme-name",s.textContent=r.label,o.appendChild(s),o.addEventListener("click",a=>{a.stopPropagation(),E(this,be,er).call(this,{statusThemeId:r.id})}),o}))}});function FV(){let t=globalThis[Zp];return typeof t=="string"&&t.length>0?t:void 0}function GV(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"").split("/").filter(o=>o.length>0),r=n[n.length-1];return r!==void 0&&r.length>0?r:PT}function BV(){if(typeof window=="undefined")return;let t=new URLSearchParams(window.location.search).get(Gn.PROJECT);return t!==null&&t.length>0?t:void 0}function JI(){let t=FV(),e=BV(),n=t!==void 0?GV(t):PT;if(t===void 0&&e===void 0)return{folder:n};let r={folder:n};return t!==void 0&&(r.root=t),e!==void 0&&(r.projectId=e),r}function eC(){let t=Ee(Q.LAYOUT,he.HELP),e=Ee(Q.CARET_DOWN,he.HELP),n=Ee(Q.COPY,he.HELP);return`<div class="reticle-workspace-wrap">
|
|
379
|
+
<button type="button" class="reticle-workspace" ${am} aria-haspopup="true" aria-expanded="false" title="${$V}">
|
|
380
380
|
<span class="reticle-workspace-icon" aria-hidden="true">${t}</span>
|
|
381
|
-
<span class="reticle-workspace-k">${
|
|
382
|
-
<span class="reticle-workspace-name" ${
|
|
381
|
+
<span class="reticle-workspace-k">${PV}</span>
|
|
382
|
+
<span class="reticle-workspace-name" ${qI}>${PT}</span>
|
|
383
383
|
<span class="reticle-workspace-caret" aria-hidden="true">${e}</span>
|
|
384
384
|
</button>
|
|
385
|
-
<div class="reticle-workspace-menu" ${
|
|
385
|
+
<div class="reticle-workspace-menu" ${XI} role="region" aria-label="${kT}" aria-hidden="true" hidden>
|
|
386
386
|
<div class="reticle-workspace-menu-head">
|
|
387
|
-
<div class="reticle-workspace-menu-title">${
|
|
387
|
+
<div class="reticle-workspace-menu-title">${kT}</div>
|
|
388
388
|
<div class="reticle-workspace-menu-actions">
|
|
389
|
-
<button type="button" class="reticle-workspace-copy" ${
|
|
389
|
+
<button type="button" class="reticle-workspace-copy" ${DT} title="${zI}" aria-label="${zI}">${n}</button>
|
|
390
390
|
</div>
|
|
391
391
|
</div>
|
|
392
392
|
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Folder</span><span class="reticle-workspace-menu-v" data-reticle-workspace-folder></span></div>
|
|
393
|
-
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Path</span><span class="reticle-workspace-menu-v reticle-workspace-menu-path" ${
|
|
394
|
-
<div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${
|
|
393
|
+
<div class="reticle-workspace-menu-row"><span class="reticle-workspace-menu-k">Path</span><span class="reticle-workspace-menu-v reticle-workspace-menu-path" ${ZI}></span></div>
|
|
394
|
+
<div class="reticle-workspace-menu-row" data-reticle-workspace-project-row hidden><span class="reticle-workspace-menu-k">${HV}</span><span class="reticle-workspace-menu-v" ${QI}></span></div>
|
|
395
395
|
</div>
|
|
396
|
-
</div>`}function
|
|
396
|
+
</div>`}function YI(t){var p,h;let e=JI(),n=t.querySelector(".reticle-workspace-wrap");if(n instanceof HTMLElement){let m=e.root!==void 0||e.projectId!==void 0;n.toggleAttribute("hidden",!m)}let r=t.querySelector(`[${am}] [${qI}]`);r instanceof HTMLElement&&(r.textContent=e.folder);let o=t.querySelector("[data-reticle-workspace-folder]");o instanceof HTMLElement&&(o.textContent=e.folder);let s=t.querySelector(`[${ZI}]`);s instanceof HTMLElement&&(s.textContent=(p=e.root)!=null?p:"-",s.title=(h=e.root)!=null?h:"");let a=t.querySelector(`[${QI}]`),l=t.querySelector("[data-reticle-workspace-project-row]"),d=t.querySelector(`[${DT}]`);e.projectId!==void 0?(l==null||l.removeAttribute("hidden"),a instanceof HTMLElement&&(a.textContent=e.projectId)):(l==null||l.setAttribute("hidden",""),a instanceof HTMLElement&&(a.textContent="")),d instanceof HTMLButtonElement&&(d.disabled=e.root===void 0);let u=t.querySelector(`[${am}]`);u instanceof HTMLElement&&e.root!==void 0&&(u.title=`${kT}: ${e.root}`)}function tC(t){let e=new AbortController;YI(t);let n=t.querySelector(`[${am}]`),r=t.querySelector(`[${XI}]`),o=t.querySelector(`[${DT}]`);if(!(n instanceof HTMLElement)||!(r instanceof HTMLElement))return()=>{};let s=()=>{r.setAttribute("aria-hidden","true"),r.setAttribute("hidden",""),n.setAttribute("aria-expanded","false")},a=()=>{YI(t),r.removeAttribute("hidden"),r.setAttribute("aria-hidden","false"),n.setAttribute("aria-expanded","true")},l=()=>{r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")?a():s()},d=g=>{g.stopPropagation(),l()},u=g=>{var N;let T=g.target;if(!(T instanceof Element))return;let _=T.closest(`[${Ut}]`);if(_===null)return;g.stopPropagation(),(N=navigator.clipboard)==null||N.writeText(ie.SIGNIN_COMMAND).catch(()=>{});let A=_.textContent;_.textContent=ie.COPIED,setTimeout(()=>{_.textContent=A},MV)};r.addEventListener("click",u);let p=g=>{let T=g.target;T instanceof Node&&(n.contains(T)||r.contains(T)||s())},h=g=>{g.key==="Escape"&&(r.getAttribute("aria-hidden")==="true"||r.hasAttribute("hidden")||(g.preventDefault(),g.stopPropagation(),s()))},m=g=>{var _;g.stopPropagation();let T=JI().root;if(T!==void 0&&((_=navigator.clipboard)==null||_.writeText(T),o instanceof HTMLButtonElement)){let A=o.title;o.title=UV,window.setTimeout(()=>{o.title=A},1200)}};return n.addEventListener("click",d),r.addEventListener("pointerdown",g=>g.stopPropagation()),o==null||o.addEventListener("click",m),document.addEventListener("pointerdown",p,{signal:e.signal}),document.addEventListener("keydown",h,{signal:e.signal}),()=>{n.removeEventListener("click",d),o==null||o.removeEventListener("click",m),e.abort()}}function nC(t,e,n,r={}){let o=t.querySelector(`[${Qc}]`);o instanceof HTMLElement&&Uu(o,kI(e,n));let s=t.querySelector(`[${MT}]`);if(!(s instanceof HTMLElement))return;let a=!(o instanceof HTMLElement);Uu(s,Jc(e,{...r,dashboardUrl:n},a))}var am,XI,qI,ZI,QI,DT,MT,MV,kT,PV,$V,HV,zI,UV,PT,$T=S(()=>{"use strict";D();Tr();eo();am="data-reticle-workspace-btn",XI="data-reticle-workspace-menu",qI="data-reticle-workspace-name",ZI="data-reticle-workspace-path",QI="data-reticle-workspace-project",DT="data-reticle-workspace-copy",MT="data-reticle-toolbar-account",MV=1200,kT="Workspace",PV="Project",$V="The project folder this page is served from, which Reticle reports to. Click for its path.",HV="Project",zI="Copy path",UV="Copied",PT="This page"});function iC(t){return typeof t=="string"&&VV.has(t)?t:dn.PENDING}function Vu(t){return typeof t=="string"?t:""}function UT(t){return Array.isArray(t)?t.filter(e=>typeof e=="object"&&e!==null):[]}function lC(t){let e=UT(t.lanes).map(r=>({id:Vu(r.id),journeys:UT(r.journeys).map(o=>({id:Vu(o.id),title:Vu(o.title),...typeof o.persona=="string"?{persona:o.persona}:{},waitsOn:Array.isArray(o.waitsOn)?o.waitsOn.map(Vu):[],status:iC(o.status),steps:UT(o.steps).map(s=>({label:Vu(s.label),status:iC(s.status)}))}))}));return e.length===0?void 0:{parallel:typeof t.parallel=="number"?t.parallel:1,lanes:e}}function Nt(t,e,n){let r=document.createElement(t);return r.className=e,n!==void 0&&(r.textContent=n),r}var sC,rC,HT,aC,nl,oC,cC,VV,rl,Ku,ia,ol,Xo,ju,dC,cm,lm=S(()=>{"use strict";D();sC="data-reticle-plan",rC="data-reticle-plan-close",HT="data-reticle-plan-journey",aC=`<div ${sC} class="reticle-plan" hidden></div>`,nl={TITLE:"Harness plan",CLOSE:"Hide the plan",WAITS:"waits on",AT_ONCE:"at once",LANE:"Lane"},oC={[dn.PENDING]:"\u25CB",[dn.RUNNING]:"\u25D0",[dn.PASSED]:"\u2713",[dn.FAILED]:"\u2717",[dn.BLOCKED]:"\u2298",[dn.NOT_TAKEN]:"\u2013",[dn.UNDECIDED]:"?"},cC=`
|
|
397
397
|
[data-reticle-page-panel="harness"] .reticle-plan{flex:none;margin:0 10px 8px;padding:8px 10px;border:1px solid var(--reticle-hud-border);border-radius:10px;background:rgba(255,255,255,.03);}
|
|
398
398
|
[data-reticle-page-panel="harness"] .reticle-plan[hidden]{display:none;}
|
|
399
399
|
[data-reticle-page-panel="harness"] .reticle-plan-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
@@ -418,7 +418,7 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
418
418
|
[data-reticle-page-panel="harness"] .reticle-plan-steps{margin:4px 0 0 18px;display:flex;flex-direction:column;gap:2px;}
|
|
419
419
|
[data-reticle-page-panel="harness"] .reticle-plan-step{display:flex;gap:6px;color:var(--reticle-hud-text-muted);font-size:11px;min-width:0;}
|
|
420
420
|
[data-reticle-page-panel="harness"] .reticle-plan-step span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
421
|
-
`,XU=new Set(Object.values(tn));gh=class{constructor(){b(this,ko);b(this,Hc);b(this,gu);b(this,Ua,!1);b(this,Uc,new Map)}mount(e){var n,r;h(this,Hc,(n=e.querySelector(`[${P0}]`))!=null?n:void 0),(r=c(this,Hc))==null||r.addEventListener("click",o=>{let a=o.target;if(!(a instanceof Element))return;if(a.closest(`[${D0}]`)!==null){h(this,Ua,!0),E(this,ko,mu).call(this);return}let s=a.closest(`[${Pb}]`),l=s==null?void 0:s.getAttribute(Pb);l!=null&&(c(this,Uc).set(l,(s==null?void 0:s.getAttribute("aria-expanded"))!=="true"),E(this,ko,mu).call(this))}),E(this,ko,mu).call(this)}paint(e){e.lanes.every(r=>r.journeys.every(o=>tn.PENDING===o.status))&&(h(this,Ua,!1),c(this,Uc).clear()),h(this,gu,e),E(this,ko,mu).call(this)}};Hc=new WeakMap,gu=new WeakMap,Ua=new WeakMap,Uc=new WeakMap,ko=new WeakSet,mu=function(){let e=c(this,Hc),n=c(this,gu);if(e===void 0||(e.replaceChildren(),e.hidden=n===void 0||c(this,Ua),n===void 0||c(this,Ua)))return;let r=n.lanes.flatMap(d=>d.journeys),o=r.filter(d=>tn.PASSED===d.status).length,a=Tt("div","reticle-plan-head");a.append(Tt("strong","",Pc.TITLE),Tt("span","",`${String(o)} of ${String(r.length)} passed \xB7 ${String(n.lanes.length)} lane(s)`+(1<n.parallel?`, ${String(n.parallel)} ${Pc.AT_ONCE}`:"")));let s=Tt("button","reticle-plan-close","\xD7");s.setAttribute("type","button"),s.setAttribute(D0,""),s.setAttribute("aria-label",Pc.CLOSE),s.setAttribute("title",Pc.CLOSE),a.append(s);let l=Tt("div","reticle-plan-lanes");for(let d of n.lanes){let u=Tt("div","reticle-plan-lane"),p=Tt("span","reticle-plan-lane-name",d.id);p.setAttribute("title",`${Pc.LANE} ${d.id}`);let f=Tt("div","reticle-plan-lane-journeys");for(let m of d.journeys)f.append(E(this,ko,G0).call(this,d.id,m));u.append(p,f),l.append(u)}e.append(a,l)},G0=function(e,n){var d;let r=`${e}/${n.id}`,o=(d=c(this,Uc).get(r))!=null?d:tn.RUNNING===n.status||tn.FAILED===n.status,a=Tt("button","reticle-plan-journey");a.setAttribute("type","button"),a.setAttribute(Pb,r),a.setAttribute("data-status",n.status),a.setAttribute("aria-expanded",String(o));let s=Tt("span","reticle-plan-row");s.append(Tt("span","reticle-plan-glyph",M0[n.status]),Tt("b","",n.title)),a.append(s);let l=[n.persona,0<n.waitsOn.length?`${Pc.WAITS} ${n.waitsOn.join(", ")}`:void 0].filter(u=>u!==void 0&&0<u.length);if(0<l.length&&a.append(Tt("span","reticle-plan-meta",l.join(" \xB7 "))),o&&0<n.steps.length){let u=Tt("span","reticle-plan-steps");for(let p of n.steps){let f=Tt("span","reticle-plan-step");f.setAttribute("data-status",p.status),f.append(Tt("span","reticle-plan-glyph",M0[p.status]),Tt("span","",p.label)),u.append(f)}a.append(u)}return a}});function Th(t){return Fb.find(e=>e.id===t)}function B0(t,e){let n=Th(t);if(n!==void 0)return`${n.label}: ${n.hint}`;let r=e.trim();return r.length===0?void 0:r}function Gb(t){var e,n;return(n=(e=Th(t))==null?void 0:e.label)!=null?n:Fa.CUSTOM_SHORT}function V0(t,e=!1){var o,a;let n=[...Fb.map(s=>({id:s.id,label:s.label,hint:s.hint})),{id:Ub,label:Fa.CUSTOM,hint:Fa.CUSTOM_HINT}].map(s=>`<option value="${s.id}" title="${Z(s.hint)}"${s.id===t?" selected":""}>${Z(s.label)}</option>`).join(""),r=Z((a=(o=Th(t))==null?void 0:o.hint)!=null?a:Fa.CUSTOM_HINT);return`<label class="reticle-harness-as" for="${Fc}">${Fa.LABEL}</label><select id="${Fc}" data-reticle-harness-persona-pick class="reticle-harness-persona" title="${r}" aria-describedby="${Fc}-hint"${e?" disabled":""}>${n}</select><span id="${Fc}-hint" class="reticle-sr">${r}</span>`}function Bb(t,e=!1){return Ub===t?`<input type="text" id="${qU}" data-reticle-harness-persona class="reticle-harness-persona" aria-label="${Fa.CUSTOM_HINT}" placeholder="${Fa.CUSTOM_PLACEHOLDER}"${e?" disabled":""}>`:""}function Vb(t){return t!=null&&(Ub===t||Th(t))?t:void 0}function j0(t){var e;try{return(e=Vb(localStorage.getItem(`${Dp}${t!=null?t:""}`)))!=null?e:bh}catch{return bh}}function K0(t,e){try{localStorage.setItem(`${Dp}${t!=null?t:""}`,e)}catch{}}var Ub,Fb,bh,Fa,Fc,qU,jb=S(()=>{"use strict";Lr();Pa();Ub="custom",Fb=[{id:"first-time",label:"First-time visitor",hint:"starts from the first page, reads the labels and follows the obvious path"},{id:"power-user",label:"Returning power user",hint:"goes straight to the main task, takes shortcuts and repeats it quickly"},{id:"phone",label:"On a phone, slow connection",hint:"small-screen habits: taps, waits on loading, retries when nothing seems to happen"},{id:"keyboard",label:"Keyboard only",hint:"Tab, Enter and Escape only: focus order, traps and controls it cannot reach"},{id:"careless",label:"Careless user (bad and unexpected input)",hint:"empty fields, wrong formats, very long text, double submits, going back mid-flow"},{id:"admin",label:"Admin / settings",hint:"changes settings and permissions, then checks they stick after a reload"}],bh=Fb[0].id,Fa={LABEL:"As",CUSTOM:"Custom\u2026",CUSTOM_SHORT:"Custom",CUSTOM_HINT:"Describe who to be or what to try, in your own words.",CUSTOM_PLACEHOLDER:"e.g. a first-time shopper paying by card"},Fc="reticle-harness-persona-pick",qU="reticle-harness-persona"});function z0(t,e){var s,l,d,u;let n=ZU(t),r=e==null?void 0:e.gate;if(r===void 0)return n;let o=(s=r.prompt)!=null?s:n==null?void 0:n.prompt,a=r.unlocked?void 0:(l=r.reason)!=null?l:n==null?void 0:n.reason;return{percent:(u=(d=r.percent)!=null?d:n==null?void 0:n.percent)!=null?u:0,unlocked:r.unlocked,...a===void 0?{}:{reason:a},...o===void 0?{}:{prompt:o}}}function ZU(t){let e=t==null?void 0:t.harnessGate;if(typeof e!="object"||e===null)return;let n=e,r=n.percent,o=n.unlocked;if(typeof r!="number"||typeof o!="boolean")return;let a=n.reason,s=t==null?void 0:t.prompt;return{percent:Math.round(r),unlocked:o,...typeof a=="string"?{reason:a}:{},...typeof s=="string"?{prompt:s}:{}}}function X0(t){return t===void 0||Ai(t)?"":hb(t)}function QU(t,e){if(t.kind===void 0)return Ga(`${Do(re.NO_CREDITS)}${Eu(e,re.MORE)}`);let n=lh(t),r=n.action!==void 0?Eu(e,`${n.action} \u2197`):nt.TRIAL===t.kind?Eu(e,re.PLAN):"";return Sh(`${Do(n.said)}${r}`)}function JU(t){if(t.starting===!0)return re.STARTING;let e=t.gate;if(e!==void 0&&!e.unlocked&&e.reason!==void 0)return re.footSetup(e.percent);let n=t.config;if(n===void 0)return re.FOOT_LINK;if(n.credits!==void 0&&Ai(n.credits))return re.FOOT_NO_CREDITS;if(!n.harnessEntitled)return re.FOOT_NOT_ENTITLED;if(n.providerReady===!1)return re.FOOT_NO_PROVIDER;let r=n.credits;return r===void 0?"":re.creditsLeft(Math.max(0,r.limit-r.used),r.daysLeft)}function eF(t){let e=t.config;return e===void 0||t.gate!==void 0&&!t.gate.unlocked&&t.gate.reason!==void 0||e.credits!==void 0&&Ai(e.credits)?!1:e.harnessEntitled&&e.providerReady!==!1}function q0(t){var a,s;if(t.account===void 0||!t.account.signedIn)return"";if(t.drive!==void 0&&t.canDrive)return Ga(`<button type="button" ${_h} class="reticle-harness-open"><span class="reticle-harness-name">${re.NAME}</span><span class="reticle-harness-state">${Z(re.driving(t.startedAs===void 0?void 0:Gb(t.startedAs),t.drive.steps))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${Y0}`);let e=((a=t.config)==null?void 0:a.harnessEnabled)===!0,n=(s=t.config)==null?void 0:s.credits,r=n===void 0?"":` title="${Z(hb(n))}"`,o=eF(t)?`<button type="button" role="switch" ${Wb} class="reticle-harness-toggle" aria-checked="${String(e)}" aria-label="${re.TOGGLE}"><span class="reticle-harness-knob"></span></button>`:"";return Ga(`<button type="button" ${_h} class="reticle-harness-open"${r}><span class="reticle-harness-name">${re.NAME}</span><span class="reticle-harness-state">${Z(JU(t))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${o}`)}function Z0(t){if(t.account===void 0)return"";if(!t.account.signedIn)return Sh(`${Do(re.SIGNED_OUT)}<button type="button" ${wt} class="reticle-harness-link">${re.SIGN_IN}</button>`);if(t.drive!==void 0&&t.canDrive)return W0(Do(re.driving(t.startedAs===void 0?void 0:Gb(t.startedAs),t.drive.steps)),Y0)+Bb(t.pick,!0);let e=t.gate;if(e!==void 0&&!e.unlocked&&e.reason!==void 0)return Sh(`${Do(Z(e.reason))}${e.prompt===void 0?"":`<button type="button" ${zb} class="reticle-harness-link">${re.COPY_PROMPT}</button>`}`);let n=t.config;if(n===void 0)return Sh(`${Do(re.UNLINKED)}<button type="button" ${bu} class="reticle-harness-run"${t.linking===!0?" disabled":""}>${t.linking===!0?re.LINKING:re.LINK}</button>`);if(n.credits!==void 0&&Ai(n.credits))return QU(n.credits,t.planUrl);if(!n.harnessEntitled)return Ga(`${Do(re.NOT_ENTITLED)}${Eu(t.planUrl,re.PLANS)}`);if(n.providerReady===!1)return Ga(`${Do(re.NO_PROVIDER)}${Eu(t.setupUrl,re.SET_UP)}`);if(!n.harnessEnabled)return Ga(`${Do(e===void 0?re.OFF:re.canSwitchOn(e.percent))}<button type="button" ${Kb} class="reticle-harness-run">${re.TURN_ON}</button>`);if(!t.canDrive)return"";let r=t.starting===!0;return W0(V0(t.pick,r),`<button type="button" data-reticle-harness-run class="reticle-harness-run"${r?" disabled":""}>${r?re.STARTING:re.RUN}</button>`)+Bb(t.pick,r)}var re,Kb,bu,_h,xh,Wb,zb,Ga,Sh,Do,W0,Y0,Eu,Yb,Ah=S(()=>{"use strict";H();Lc();Pa();Br();jb();re={RUN:"Run Harness",STARTING:"Starting\u2026",STOP:"Stop",SIGNED_OUT:n0,SIGN_IN:"Sign in",UNLINKED:"This project is not on your dashboard yet.",LINK:"Link this project",LINKING:"Linking\u2026",NOT_ENTITLED:"Harness is not on your plan",NO_CREDITS:"No Harness credits left",NO_PROVIDER:"No model provider set",OFF:"Harness is off",canSwitchOn:t=>`Setup score ${String(t)}%. Harness is off.`,TURN_ON:"Switch on",COPY_PROMPT:"Copy setup prompt",COPIED:"Copied",SET_UP:"Set up \u2197",PLANS:"See plans \u2197",PLAN:"Plan \u2197",MORE:"Get more \u2197",driving:(t,e)=>`Driving${t===void 0?"":` as ${t}`} \xB7 ${String(e)} step${e===1?"":"s"}`,NAME:"Harness",TOGGLE:"Reticle Harness on this project",creditsLeft:(t,e)=>`${t.toLocaleString("en-US")} credit${t===1?"":"s"}${e===void 0?"":` \xB7 ${String(e)} day${e===1?"":"s"}`}`,FOOT_LINK:"Link project",FOOT_NO_CREDITS:"No credits",FOOT_NOT_ENTITLED:"Not on your plan",FOOT_NO_PROVIDER:"No model provider",footSetup:t=>`Setup ${String(t)}% \xB7 needs 80%`,PAGE_TITLE:"Reticle Harness",LOG_LABEL:"What the Harness did",LOG_EMPTY:"Runs show here, step by step.",PAGE_SUBTITLE:"Tests your app by itself"},Kb="data-reticle-harness-switch",bu="data-reticle-harness-link",_h="data-reticle-harness-open",xh="data-reticle-harness-log",Wb="data-reticle-harness-toggle",zb="data-reticle-harness-copy-prompt";Ga=t=>`<div class="reticle-harness-row">${t}</div>`,Sh=t=>`<div class="reticle-harness-row reticle-harness-row-wrap">${t}</div>`,Do=t=>`<span class="reticle-harness-said">${t}</span>`,W0=(t,e)=>Ga(`<span class="reticle-harness-lead">${t}</span>${e}`),Y0=`<button type="button" data-reticle-harness-stop class="reticle-harness-run reticle-harness-stop">${re.STOP}</button>`,Eu=(t,e)=>`<a class="reticle-harness-link" href="${t}" target="_blank" rel="noopener noreferrer">${e}</a>`;Yb=`
|
|
421
|
+
`,VV=new Set(Object.values(dn));cm=class{constructor(){b(this,Xo);b(this,rl);b(this,Ku);b(this,ia,!1);b(this,ol,new Map)}mount(e){var n,r;f(this,rl,(n=e.querySelector(`[${sC}]`))!=null?n:void 0),(r=c(this,rl))==null||r.addEventListener("click",o=>{let s=o.target;if(!(s instanceof Element))return;if(s.closest(`[${rC}]`)!==null){f(this,ia,!0),E(this,Xo,ju).call(this);return}let a=s.closest(`[${HT}]`),l=a==null?void 0:a.getAttribute(HT);l!=null&&(c(this,ol).set(l,(a==null?void 0:a.getAttribute("aria-expanded"))!=="true"),E(this,Xo,ju).call(this))}),E(this,Xo,ju).call(this)}paint(e){e.lanes.every(r=>r.journeys.every(o=>dn.PENDING===o.status))&&(f(this,ia,!1),c(this,ol).clear()),f(this,Ku,e),E(this,Xo,ju).call(this)}};rl=new WeakMap,Ku=new WeakMap,ia=new WeakMap,ol=new WeakMap,Xo=new WeakSet,ju=function(){let e=c(this,rl),n=c(this,Ku);if(e===void 0||(e.replaceChildren(),e.hidden=n===void 0||c(this,ia),n===void 0||c(this,ia)))return;let r=n.lanes.flatMap(d=>d.journeys),o=r.filter(d=>dn.PASSED===d.status).length,s=Nt("div","reticle-plan-head");s.append(Nt("strong","",nl.TITLE),Nt("span","",`${String(o)} of ${String(r.length)} passed \xB7 ${String(n.lanes.length)} lane(s)`+(1<n.parallel?`, ${String(n.parallel)} ${nl.AT_ONCE}`:"")));let a=Nt("button","reticle-plan-close","\xD7");a.setAttribute("type","button"),a.setAttribute(rC,""),a.setAttribute("aria-label",nl.CLOSE),a.setAttribute("title",nl.CLOSE),s.append(a);let l=Nt("div","reticle-plan-lanes");for(let d of n.lanes){let u=Nt("div","reticle-plan-lane"),p=Nt("span","reticle-plan-lane-name",d.id);p.setAttribute("title",`${nl.LANE} ${d.id}`);let h=Nt("div","reticle-plan-lane-journeys");for(let m of d.journeys)h.append(E(this,Xo,dC).call(this,d.id,m));u.append(p,h),l.append(u)}e.append(s,l)},dC=function(e,n){var d;let r=`${e}/${n.id}`,o=(d=c(this,ol).get(r))!=null?d:dn.RUNNING===n.status||dn.FAILED===n.status,s=Nt("button","reticle-plan-journey");s.setAttribute("type","button"),s.setAttribute(HT,r),s.setAttribute("data-status",n.status),s.setAttribute("aria-expanded",String(o));let a=Nt("span","reticle-plan-row");a.append(Nt("span","reticle-plan-glyph",oC[n.status]),Nt("b","",n.title)),s.append(a);let l=[n.persona,0<n.waitsOn.length?`${nl.WAITS} ${n.waitsOn.join(", ")}`:void 0].filter(u=>u!==void 0&&0<u.length);if(0<l.length&&s.append(Nt("span","reticle-plan-meta",l.join(" \xB7 "))),o&&0<n.steps.length){let u=Nt("span","reticle-plan-steps");for(let p of n.steps){let h=Nt("span","reticle-plan-step");h.setAttribute("data-status",p.status),h.append(Nt("span","reticle-plan-glyph",oC[p.status]),Nt("span","",p.label)),u.append(h)}s.append(u)}return s}});function um(t){return GT.find(e=>e.id===t)}function uC(t,e){let n=um(t);if(n!==void 0)return`${n.label}: ${n.hint}`;let r=e.trim();return r.length===0?void 0:r}function BT(t){var e,n;return(n=(e=um(t))==null?void 0:e.label)!=null?n:sa.CUSTOM_SHORT}function pC(t,e=!1){var o,s;let n=[...GT.map(a=>({id:a.id,label:a.label,hint:a.hint})),{id:FT,label:sa.CUSTOM,hint:sa.CUSTOM_HINT}].map(a=>`<option value="${a.id}" title="${ne(a.hint)}"${a.id===t?" selected":""}>${ne(a.label)}</option>`).join(""),r=ne((s=(o=um(t))==null?void 0:o.hint)!=null?s:sa.CUSTOM_HINT);return`<label class="reticle-harness-as" for="${il}">${sa.LABEL}</label><select id="${il}" data-reticle-harness-persona-pick class="reticle-harness-persona" title="${r}" aria-describedby="${il}-hint"${e?" disabled":""}>${n}</select><span id="${il}-hint" class="reticle-sr">${r}</span>`}function VT(t,e=!1){return FT===t?`<input type="text" id="${jV}" data-reticle-harness-persona class="reticle-harness-persona" aria-label="${sa.CUSTOM_HINT}" placeholder="${sa.CUSTOM_PLACEHOLDER}"${e?" disabled":""}>`:""}function jT(t){return t!=null&&(FT===t||um(t))?t:void 0}function fC(t){var e;try{return(e=jT(localStorage.getItem(`${bf}${t!=null?t:""}`)))!=null?e:dm}catch{return dm}}function hC(t,e){try{localStorage.setItem(`${bf}${t!=null?t:""}`,e)}catch{}}var FT,GT,dm,sa,il,jV,KT=S(()=>{"use strict";Kr();ra();FT="custom",GT=[{id:"first-time",label:"First-time visitor",hint:"starts from the first page, reads the labels and follows the obvious path"},{id:"power-user",label:"Returning power user",hint:"goes straight to the main task, takes shortcuts and repeats it quickly"},{id:"phone",label:"On a phone, slow connection",hint:"small-screen habits: taps, waits on loading, retries when nothing seems to happen"},{id:"keyboard",label:"Keyboard only",hint:"Tab, Enter and Escape only: focus order, traps and controls it cannot reach"},{id:"careless",label:"Careless user (bad and unexpected input)",hint:"empty fields, wrong formats, very long text, double submits, going back mid-flow"},{id:"admin",label:"Admin / settings",hint:"changes settings and permissions, then checks they stick after a reload"}],dm=GT[0].id,sa={LABEL:"As",CUSTOM:"Custom\u2026",CUSTOM_SHORT:"Custom",CUSTOM_HINT:"Describe who to be or what to try, in your own words.",CUSTOM_PLACEHOLDER:"e.g. a first-time shopper paying by card"},il="reticle-harness-persona-pick",jV="reticle-harness-persona"});function EC(t){return t===void 0||Fi(t)?"":mT(t)}function KV(t,e){if(t.kind===void 0)return aa(`${qo(le.NO_CREDITS)}${sl(e,le.MORE)}`);let n=tm(t),r=n.action!==void 0?sl(e,`${n.action} \u2197`):at.TRIAL===t.kind?sl(e,le.PLAN):"";return fm(`${qo(n.said)}${r}`)}function WV(t){if(t.starting===!0)return le.STARTING;let e=t.config;if(e===void 0)return le.FOOT_LINK;if(e.credits!==void 0&&Fi(e.credits))return le.FOOT_NO_CREDITS;if(!e.harnessEntitled)return le.FOOT_NOT_ENTITLED;if(e.providerReady===!1)return le.FOOT_NO_PROVIDER;let n=e.credits;return n===void 0?"":le.creditsLeft(Math.max(0,n.limit-n.used),n.daysLeft)}function zV(t){let e=t.config;return e===void 0||e.credits!==void 0&&Fi(e.credits)?!1:e.harnessEntitled&&e.providerReady!==!1}function bC(t){var s,a;if(t.account===void 0||!t.account.signedIn)return"";if(t.drive!==void 0&&t.canDrive)return aa(`<button type="button" ${pm} class="reticle-harness-open"><span class="reticle-harness-name">${le.NAME}</span><span class="reticle-harness-state">${ne(le.driving(t.startedAs===void 0?void 0:BT(t.startedAs),t.drive.steps))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${gC}`);let e=((s=t.config)==null?void 0:s.harnessEnabled)===!0,n=(a=t.config)==null?void 0:a.credits,r=n===void 0?"":` title="${ne(mT(n))}"`,o=zV(t)?`<button type="button" role="switch" ${zT} class="reticle-harness-toggle" aria-checked="${String(e)}" aria-label="${le.TOGGLE}"><span class="reticle-harness-knob"></span></button>`:"";return aa(`<button type="button" ${pm} class="reticle-harness-open"${r}><span class="reticle-harness-name">${le.NAME}</span><span class="reticle-harness-state">${ne(WV(t))}</span><span class="reticle-harness-chev" aria-hidden="true">\u203A</span></button>${o}`)}function TC(t){if(t.account===void 0)return"";if(!t.account.signedIn)return fm(`${qo(le.SIGNED_OUT)}<button type="button" ${Ut} class="reticle-harness-link">${le.SIGN_IN}</button>`);if(t.drive!==void 0&&t.canDrive)return mC(qo(le.driving(t.startedAs===void 0?void 0:BT(t.startedAs),t.drive.steps)),gC)+VT(t.pick,!0);let e=t.config;if(e===void 0)return fm(`${qo(le.UNLINKED)}<button type="button" ${Wu} class="reticle-harness-run"${t.linking===!0?" disabled":""}>${t.linking===!0?le.LINKING:le.LINK}</button>`);if(e.credits!==void 0&&Fi(e.credits))return KV(e.credits,t.planUrl);if(!e.harnessEntitled)return aa(`${qo(le.NOT_ENTITLED)}${sl(t.planUrl,le.PLANS)}`);if(e.providerReady===!1)return aa(`${qo(le.NO_PROVIDER)}${sl(t.setupUrl,le.SET_UP)}`);if(!e.harnessEnabled)return aa(`${qo(le.OFF)}<button type="button" ${WT} class="reticle-harness-run">${le.TURN_ON}</button>`);if(!t.canDrive)return"";let n=t.starting===!0;return mC(pC(t.pick,n),`<button type="button" data-reticle-harness-run class="reticle-harness-run"${n?" disabled":""}>${n?le.STARTING:le.RUN}</button>`)+VT(t.pick,n)+(n?"":YV(t.last))}function YV(t){return t===void 0||t.said===void 0&&t.runUrl===void 0?"":fm(`${t.said===void 0?"":qo(ne(t.said))}${t.runUrl===void 0?"":sl(t.runUrl,le.RESULT)}`)}var le,WT,Wu,pm,hm,zT,aa,fm,qo,mC,gC,sl,YT,mm=S(()=>{"use strict";D();Zc();ra();eo();KT();le={RUN:"Run Harness",STARTING:"Starting\u2026",STOP:"Stop",SIGNED_OUT:vI,SIGN_IN:"Sign in",UNLINKED:"This project is not on your dashboard yet.",LINK:"Link this project",LINKING:"Linking\u2026",NOT_ENTITLED:"Harness is not on your plan",NO_CREDITS:"No credits left",NO_PROVIDER:"No model provider set",OFF:"Harness is off",TURN_ON:"Switch on",SET_UP:"Set up \u2197",PLANS:"See plans \u2197",PLAN:"Plan \u2197",MORE:"Get more \u2197",driving:(t,e)=>`Driving${t===void 0?"":` as ${t}`} \xB7 ${String(e)} step${e===1?"":"s"}`,NAME:"Harness",TOGGLE:"Reticle Harness on this project",creditsLeft:(t,e)=>`${t.toLocaleString("en-US")} credit${t===1?"":"s"}${e===void 0?"":` \xB7 ${String(e)} day${e===1?"":"s"}`}`,FOOT_LINK:"Link project",FOOT_NO_CREDITS:"No credits",FOOT_NOT_ENTITLED:"Not on your plan",FOOT_NO_PROVIDER:"No model provider",PAGE_TITLE:"Reticle Harness",LOG_LABEL:"What the Harness did",LOG_EMPTY:"Runs show here, step by step.",PAGE_SUBTITLE:"Tests your app by itself",RESULT:"See the result \u2197"},WT="data-reticle-harness-switch",Wu="data-reticle-harness-link",pm="data-reticle-harness-open",hm="data-reticle-harness-log",zT="data-reticle-harness-toggle",aa=t=>`<div class="reticle-harness-row">${t}</div>`,fm=t=>`<div class="reticle-harness-row reticle-harness-row-wrap">${t}</div>`,qo=t=>`<span class="reticle-harness-said">${t}</span>`,mC=(t,e)=>aa(`<span class="reticle-harness-lead">${t}</span>${e}`),gC=`<button type="button" data-reticle-harness-stop class="reticle-harness-run reticle-harness-stop">${le.STOP}</button>`,sl=(t,e)=>`<a class="reticle-harness-link" href="${t}" target="_blank" rel="noopener noreferrer">${e}</a>`;YT=`
|
|
422
422
|
[data-reticle-chat-panel] .reticle-harness-spot{flex:none;display:flex;flex-direction:column;gap:4px;}
|
|
423
423
|
[data-reticle-chat-panel] .reticle-harness-spot[hidden],[data-reticle-chat-panel] .reticle-harness-spot:empty{display:none;}
|
|
424
424
|
[data-reticle-chat-panel] .reticle-harness-row{display:flex;align-items:center;gap:6px;min-height:30px;min-width:0;}
|
|
@@ -457,10 +457,10 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
457
457
|
[data-reticle-chat-panel] .reticle-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
|
|
458
458
|
[data-reticle-chat-panel] .reticle-foot-meta{margin:0;font-size:11px;line-height:1.3;color:var(--reticle-hud-text-muted);overflow-wrap:anywhere;}
|
|
459
459
|
[data-reticle-chat-panel] .reticle-foot-meta:empty{display:none;}
|
|
460
|
-
`});function
|
|
461
|
-
`)}function
|
|
462
|
-
<div class="reticle-agent-row"><span data-reticle-agent-dot class="reticle-agent-dot" aria-hidden="true"></span><span data-reticle-agent-said class="reticle-agent-said">${
|
|
463
|
-
</div>`,
|
|
460
|
+
`});function no(t){return t<1e3?String(Math.round(t)):t<1e6?`${_C(t/1e3)}k`:`${_C(t/1e6)}M`}function _C(t){return t>=10?String(Math.round(t)):String(Math.round(t*10)/10)}function zu(t){let e=Math.floor(t/1e3);if(e<60)return`${String(e)}s`;let n=Math.floor(e/60);if(n<60)return`${String(n)}m`;let r=Math.floor(n/60);return n%60===0?`${String(r)}h`:`${String(r)}h ${String(n%60)}m`}function XT(t,e){let n=t.counts,r=e!==void 0&&e.length>0?` on ${e}`:"",o=[`My agent verified its own work ${String(n.verdicts)} times${r}.`,`${String(n.failed)} checks it refused to pass before I looked at any of them.`];return n.unknown>0&&o.push(`${String(n.unknown)} came back "unknown" - it drove the app and could not tell. That is the number I watch.`),t.records.longestRunMs>0&&o.push(`Longest unattended run: ${zu(t.records.longestRunMs)}.`),o.join(`
|
|
461
|
+
`)}function xC(t){let e=new URLSearchParams({text:t,url:ji.SITE});return SC.length>0&&e.set("via",SC),`https://twitter.com/intent/tweet?${e.toString()}`}function AC(){return`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(ji.SITE)}`}function qT(){return`I have been verifying my agent's work from inside the running app with Reticle - it returns pass/fail with the file:line to fix. ${ji.SITE}`}function yC(t){let e=Oy.safeParse(t);return e.success?e.data:void 0}var ji,SC,W,vC,gm=S(()=>{"use strict";D();ji={DOCS:"https://docs.reticle.sh",SITE:"https://reticle.sh",GITHUB:"https://github.com/reticlehq/reticle",DISCORD:"https://discord.gg/BwAbzv9ZRz"},SC="",W={TITLE:"Impact",COVERAGE:"Reticle Coverage",COVERAGE_HELP:"How much of this app Reticle has reached, touched and proved, from the coverage ledger in .reticle",PROJECT:"This project",GLOBAL:"All projects",GLOBAL_TITLE:"Every project on this computer",SCOPE_LABEL:"Show impact for",heroDefects:t=>`failed check${t===1?"":"s"} caught before you shipped`,VERDICTS:"Verdicts",PASSED:"passed",FAILED:"failed",UNKNOWN:"unknown",UNKNOWN_HELP:"Reticle drove the app and could not tell what happened. Not a pass - shown, not hidden.",CALLS:"Tool calls",TOKENS:"Tokens returned",DRIVING:"Time driving",SESSIONS:"Sessions",STREAK:"day streak",LONGEST:"Longest run",SAVED_TOKENS:"Tokens saved",SAVED_MINUTES:"Time saved",ESTIMATE_TAG:"estimate",CHART:"Verdicts, last 30 days",DEFECTS:"What broke",DEFECTS_MORE:"Manage all of them on the dashboard \u2014 triage, assign, and push to GitHub",DEFECTS_SEE_ALL:"See all on the dashboard",DEFECTS_SEE_ALL_TITLE:"Sign up free, link this project, and see every bug Reticle caught",DEFECT_LINK_TITLE:"Open on the dashboard to triage or push to GitHub",LOCAL_ONLY:"This record stops at this machine.",LOCAL_ONLY_ACTION:"reticle connect",LOCAL_ONLY_TAIL:"keeps it, and lets a team see it.",UNLINKED:"Signed in, but this repo is not linked.",UNLINKED_ACTION:"reticle connect",UNLINKED_TAIL:"sends this record to your workspace.",DEFECTS_NONE:"Nothing has failed a declared consequence yet.",EMPTY:"Nothing recorded yet. Drive the app once and this fills in.",SHARE:"Share",COPY:"Copy",COPIED:"Copied",SEE_RUN:"See it in your dashboard",KEY_REFUSED:"Key refused",NOT_SENT:"not synced",NOT_SENT_HELP:"Runs saved on this machine but not on your dashboard yet. Run reticle connect in this project to send them.",COPY_PROMPT:"Copy prompt for your coding agent",SHARE_LABEL:"Share",POST_X:"X",POST_IN:"LinkedIn",REFER:"Invite a friend"};vC=[{key:"reached",label:"routes reached"},{key:"touched",label:"controls touched"},{key:"proved",label:"controls proved"},{key:"branched",label:"write failures driven"},{key:"executed",label:"code executed"}]});var XV,Yu,RC,NC,al,Em,wC=S(()=>{"use strict";gm();XV=1600,Yu={NONE:"No coding agent connected",named:t=>`${t} connected`,COPY:"Copy prompt",prompt:t=>`Use Reticle to check ${t} in my running app, then tell me the verdict.`},RC=`<div data-reticle-agent-spot class="reticle-agent-spot" hidden>
|
|
462
|
+
<div class="reticle-agent-row"><span data-reticle-agent-dot class="reticle-agent-dot" aria-hidden="true"></span><span data-reticle-agent-said class="reticle-agent-said">${Yu.NONE}</span><button type="button" data-reticle-agent-copy class="reticle-agent-copy" aria-label="${W.COPY_PROMPT}" title="${W.COPY_PROMPT}">${Yu.COPY}</button></div>
|
|
463
|
+
</div>`,NC=`
|
|
464
464
|
[data-reticle-chat-panel] .reticle-agent-spot{flex:none;display:flex;flex-direction:column;gap:3px;}
|
|
465
465
|
[data-reticle-chat-panel] .reticle-agent-spot[hidden]{display:none;}
|
|
466
466
|
[data-reticle-chat-panel] .reticle-agent-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:30px;padding:0 var(--reticle-hud-space-2);}
|
|
@@ -471,40 +471,40 @@ ${ge("pop")} button[data-send]:disabled{opacity:.4;cursor:not-allowed;}
|
|
|
471
471
|
[data-reticle-chat-panel] .reticle-agent-copy{flex:none;height:22px;padding:0 9px;border:1px solid var(--reticle-hud-border-strong);border-radius:11px;background:transparent;color:var(--reticle-hud-text);font:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;}
|
|
472
472
|
[data-reticle-chat-panel] .reticle-agent-copy:hover{border-color:var(--reticle-hud-brand);color:var(--reticle-hud-brand);}
|
|
473
473
|
[data-reticle-chat-panel] .reticle-agent-copy[hidden]{display:none;}
|
|
474
|
-
`,
|
|
475
|
-
<div data-reticle-harness-spot class="reticle-harness-spot" hidden></div>`,
|
|
474
|
+
`,Em=class{constructor(){b(this,al)}mount(e,n){var r;f(this,al,e),(r=e.querySelector("[data-reticle-agent-copy]"))==null||r.addEventListener("click",o=>{var a;let s=o.currentTarget;(a=navigator.clipboard)==null||a.writeText(Yu.prompt(location.href)).catch(()=>{}).finally(()=>{s instanceof HTMLElement&&(s.textContent=W.COPIED,window.setTimeout(()=>s.textContent=W.COPY_PROMPT,XV))})},{signal:n})}teardown(){f(this,al,void 0)}paint(e){var l;let n=c(this,al),r=n==null?void 0:n.querySelector("[data-reticle-agent-spot]");if(n===void 0||r===null||r===void 0||(r.hidden=e===void 0,e===void 0))return;let o=0<e.agents.length;(l=r.querySelector(".reticle-agent-row"))==null||l.setAttribute("data-connected",o?"1":"0");let s=r.querySelector("[data-reticle-agent-said]");s!==null&&(s.textContent=o?Yu.named(e.agents.join(", ")):Yu.NONE);let a=r.querySelector("[data-reticle-agent-copy]");a!==null&&(a.hidden=o)}};al=new WeakMap});function iS(t,e){let n=[JV(t==null?void 0:t.planUrl),t==null?void 0:t.platformUrl,e.host].find(r=>r!==void 0&&Qn(r));return ne((n!=null?n:Up).replace(/\/+$/,""))}function JV(t){if(!(t===void 0||!Qn(t)))try{return new URL(t).origin}catch{return}}function e4(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.id=="string"&&typeof e.note=="string"&&typeof e.label=="string"&&typeof e.anchor=="string"&&typeof e.route=="string"&&typeof e.createdAt=="number"&&typeof e.pageUrl=="string"}function t4(){var t;try{let e=JSON.parse((t=localStorage.getItem(PC))!=null?t:"[]");return Array.isArray(e)?e.filter(e4).slice(0,oS):[]}catch{return[]}}function n4(t){var e;try{return Number((e=localStorage.getItem(`${Tf}${t!=null?t:""}`))!=null?e:0)||0}catch{return}}function IC(t,e){try{localStorage.setItem(`${Tf}${t!=null?t:""}`,String(e))}catch{}}function r4(t){try{localStorage.setItem(PC,JSON.stringify(t.slice(0,oS)))}catch{}}function DC(){var t,e;try{let n=JSON.parse((t=globalThis.sessionStorage.getItem(ct.PRESENTER_VIEW))!=null?t:"{}"),r=n!==null&&typeof n=="object"?n:{};return{view:(e=MC.find(s=>s===r.view))!=null?e:"activity",runFocused:r.runFocused===!0}}catch{return{view:"activity",runFocused:!1}}}function JT(t){try{globalThis.sessionStorage.setItem(ct.PRESENTER_VIEW,JSON.stringify(t))}catch{}}var MC,PC,oS,qV,ZV,QV,OC,$C,HC,Xu,Ki,eS,ca,UC,ZT,CC,LC,kC,cl,FC,GC,BC,QT,on,Zo,Zu,ll,ro,Qu,la,dl,ul,Wi,pl,Ju,fl,da,oo,ua,io,zi,pa,hl,ml,fa,so,gl,ha,El,ao,ep,tp,se,tS,bm,Tm,Rr,nS,Sm,qu,VC,rS,_m,xm=S(()=>{"use strict";D();lm();Fb();Et();Tr();Ar();Ko();mm();ra();gT();Kr();KT();wC();eo();MC=["flows","annotations","harness"],PC=ct.ANNOTATION_HISTORY,oS=200,qV="/settings?group=project",ZV="#model",QV="/settings?group=billing",OC=2e4;$C=`${RC}
|
|
475
|
+
<div data-reticle-harness-spot class="reticle-harness-spot" hidden></div>`,HC=`<section data-reticle-page-panel="flows" class="reticle-page-panel reticle-flows-view" role="region" aria-label="Saved Flows" hidden>
|
|
476
476
|
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Saved flows</strong><span class="reticle-page-subtitle">Journeys your agent verified, replayable here</span></span><button type="button" data-reticle-page-close aria-label="Close Saved Flows" title="Close">\xD7</button></div>
|
|
477
477
|
<div data-reticle-all-flows class="reticle-all-flows"></div>
|
|
478
|
-
</section>`,
|
|
479
|
-
<button type="button" ${
|
|
480
|
-
<button type="button" data-reticle-chat-view-btn="harness" aria-label="${
|
|
481
|
-
<button type="button" data-reticle-chat-view-btn="flows" aria-label="Saved flows" title="Saved flows">${Ee(
|
|
482
|
-
<button type="button" data-reticle-chat-view-btn="annotations" aria-label="Notes" title="Notes">${Ee(
|
|
483
|
-
<button type="button" data-reticle-chat-impact class="reticle-chat-impact" aria-label="${
|
|
484
|
-
</nav>`,
|
|
485
|
-
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>${
|
|
478
|
+
</section>`,Xu=he.NAV,Ki={LOG:"Log",FLOWS:"Flows",NOTES:"Notes",IMPACT:"Impact",HARNESS:"Harness",SETTINGS:"Settings",HIDE:"Hide"},eS={SEEN:"Open Impact",NEW:"Open Impact, new results"},ca=t=>`<span class="reticle-nav-label">${t}</span>`,UC=`<nav class="reticle-chat-nav" aria-label="Reticle views">
|
|
479
|
+
<button type="button" ${$h} data-reticle-chat-view-btn="activity" aria-label="Agent log" title="Agent log" aria-current="page">${Ee(Q.MESSAGE,Xu)}${ca(Ki.LOG)}</button>
|
|
480
|
+
<button type="button" data-reticle-chat-view-btn="harness" aria-label="${le.PAGE_TITLE}" title="${le.PAGE_TITLE}" hidden>${Ee(Q.PLAY,Xu)}${ca(Ki.HARNESS)}</button>
|
|
481
|
+
<button type="button" data-reticle-chat-view-btn="flows" aria-label="Saved flows" title="Saved flows">${Ee(Q.LAYOUT,Xu)}${ca(Ki.FLOWS)}</button>
|
|
482
|
+
<button type="button" data-reticle-chat-view-btn="annotations" aria-label="Notes" title="Notes">${Ee(Q.NOTES,Xu)}<span class="reticle-nav-label">${Ki.NOTES}<span data-reticle-note-count class="reticle-nav-count" hidden></span></span></button>
|
|
483
|
+
<button type="button" data-reticle-chat-impact class="reticle-chat-impact" aria-label="${eS.SEEN}" title="Impact">${Ee(Q.CHART,Xu)}${ca(Ki.IMPACT)}<span data-reticle-impact-dot class="reticle-nav-dot" aria-hidden="true" hidden></span></button>
|
|
484
|
+
</nav>`,ZT=he.TOOLBAR,CC="Show note markers on the page",LC="Clear notes from this page",kC="Copy all notes",cl={SUBTITLE:"Feedback for your agent",SUBTITLE_FULL:"Pin feedback on the page for your agent",PAGE_EMPTY:"No notes on this page",PAGE_HINT:"Select Add notes, then click anything on the page to pin feedback for your agent.",HISTORY_EMPTY:"No saved notes yet",HISTORY_HINT:"Notes from every page you annotate are kept here."},FC=`<section data-reticle-page-panel="harness" class="reticle-page-panel reticle-harness-page" role="region" aria-label="${le.PAGE_TITLE}" hidden>
|
|
485
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>${le.PAGE_TITLE}</strong><span class="reticle-page-subtitle">${le.PAGE_SUBTITLE}</span></span><button type="button" data-reticle-page-close aria-label="Close ${le.PAGE_TITLE}" title="Close">\xD7</button></div>
|
|
486
486
|
<div data-reticle-harness-page class="reticle-harness-body"></div>
|
|
487
|
-
${
|
|
488
|
-
<div ${
|
|
487
|
+
${aC}
|
|
488
|
+
<div ${hm} ${Oh}="${Jt.HARNESS}" class="reticle-harness-log" aria-live="polite" aria-label="${le.LOG_LABEL}"></div>
|
|
489
489
|
<p data-reticle-harness-page-meta class="reticle-foot-meta"></p>
|
|
490
|
-
</section>`,
|
|
491
|
-
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Notes</strong><span class="reticle-page-subtitle" title="${
|
|
490
|
+
</section>`,GC=`<section data-reticle-page-panel="annotations" class="reticle-page-panel reticle-annotations-view" role="region" aria-label="Notes" hidden>
|
|
491
|
+
<div class="reticle-page-heading"><span class="reticle-page-titles"><strong>Notes</strong><span class="reticle-page-subtitle" title="${cl.SUBTITLE_FULL}">${cl.SUBTITLE}</span></span><button type="button" ${Bh} class="reticle-add-notes reticle-primary-btn" title="Add notes" aria-label="Add notes" aria-pressed="false" data-active="0"><span class="reticle-add-notes-icon">${Ee(Q.ANNOTATE,he.TOOLBAR)}</span><span data-reticle-notes-toggle-label>Add notes</span></button><button type="button" data-reticle-page-close aria-label="Close Notes" title="Close">\xD7</button></div>
|
|
492
492
|
<div class="reticle-annotations-tabs" role="group" aria-label="Notes lists">
|
|
493
493
|
<span class="reticle-segmented"><button type="button" data-reticle-annotation-tab="current" aria-pressed="true">This page</button><button type="button" data-reticle-annotation-tab="history" aria-pressed="false">History</button></span>
|
|
494
494
|
<div data-reticle-current-annotation-actions class="reticle-annotation-actions" aria-label="Current page note actions">
|
|
495
|
-
<button type="button" ${
|
|
496
|
-
<button type="button" ${
|
|
495
|
+
<button type="button" ${Hh} class="reticle-annotation-icon-btn reticle-annotation-marker-toggle" title="${CC}" aria-label="${CC}" aria-pressed="false" data-active="0" disabled>${Rh(Q.VIEW,ZT)}</button>
|
|
496
|
+
<button type="button" ${Uh} class="reticle-annotation-icon-btn" title="${LC}" aria-label="${LC}" disabled>${Ee(Q.TRASH,ZT)}</button>
|
|
497
497
|
</div>
|
|
498
|
-
<button type="button" data-reticle-copy-all-notes class="reticle-annotation-icon-btn reticle-copy-all" title="${
|
|
498
|
+
<button type="button" data-reticle-copy-all-notes class="reticle-annotation-icon-btn reticle-copy-all" title="${kC}" aria-label="${kC}">${Ee(Q.COPY,ZT)}</button>
|
|
499
499
|
</div>
|
|
500
500
|
<div data-reticle-annotation-list class="reticle-annotation-list"></div>
|
|
501
|
-
</section>`,
|
|
502
|
-
${
|
|
503
|
-
${
|
|
501
|
+
</section>`,BC=`
|
|
502
|
+
${YT}
|
|
503
|
+
${YT.replaceAll("[data-reticle-chat-panel]",'[data-reticle-page-panel="harness"]')}
|
|
504
504
|
[data-reticle-page-panel="harness"] .reticle-harness-body{flex:none;display:flex;flex-direction:column;gap:var(--reticle-hud-space-2);padding:var(--reticle-hud-space-3);}
|
|
505
505
|
/* The run as it happens, then its result: the Harness's rows only, scrolling under the controls. */
|
|
506
506
|
[data-reticle-page-panel="harness"] .reticle-harness-log{flex:1;min-height:0;overflow-y:auto;padding:0 var(--reticle-hud-space-3) var(--reticle-hud-space-2);}
|
|
507
|
-
[data-reticle-page-panel="harness"] .reticle-harness-log:empty::before{content:"${
|
|
507
|
+
[data-reticle-page-panel="harness"] .reticle-harness-log:empty::before{content:"${le.LOG_EMPTY}";display:block;padding:var(--reticle-hud-space-2) 0;color:var(--reticle-hud-text-faint);font-size:11px;}
|
|
508
508
|
[data-reticle-page-panel="harness"] .reticle-foot-meta{flex:none;padding:0 var(--reticle-hud-space-3) var(--reticle-hud-space-3);}
|
|
509
509
|
[data-reticle-page-open="harness"] [data-reticle-page-panel="harness"]{display:flex;}
|
|
510
510
|
[data-reticle-page-open="harness"] [data-reticle-chat-panel]{display:none!important;}
|
|
@@ -525,7 +525,7 @@ ${Yb.replaceAll("[data-reticle-chat-panel]",'[data-reticle-page-panel="harness"]
|
|
|
525
525
|
/* New results since Impact was last opened: a dot on the icon's corner, out of the flow, so no number can push the label. */
|
|
526
526
|
[data-reticle-hud] .reticle-chat-nav .reticle-nav-dot{position:absolute;top:4px;left:calc(50% + 5px);width:7px;height:7px;border-radius:50%;background:var(--reticle-hud-brand);box-shadow:0 0 0 2px var(--reticle-hud-surface);pointer-events:none;}
|
|
527
527
|
[data-reticle-hud] .reticle-chat-nav .reticle-nav-dot[hidden]{display:none;}
|
|
528
|
-
[data-reticle-page-panel]{position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:6;box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));max-height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));flex-direction:column;overflow:hidden;border-radius:var(--reticle-hud-radius-lg);${
|
|
528
|
+
[data-reticle-page-panel]{position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:6;box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));max-height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));flex-direction:column;overflow:hidden;border-radius:var(--reticle-hud-radius-lg);${zc}color:var(--reticle-hud-text);font-size:13px;line-height:1.5;pointer-events:auto;text-align:left;}
|
|
529
529
|
[data-reticle-page-panel][hidden]{display:none!important;}
|
|
530
530
|
[data-reticle-page-open="annotations"] [data-reticle-page-panel="annotations"],[data-reticle-page-open="flows"] [data-reticle-page-panel="flows"]{display:flex;}
|
|
531
531
|
[data-reticle-page-open="annotations"] [data-reticle-chat-panel],[data-reticle-page-open="flows"] [data-reticle-chat-panel]{display:none!important;}
|
|
@@ -560,7 +560,7 @@ ${Yb.replaceAll("[data-reticle-chat-panel]",'[data-reticle-page-panel="harness"]
|
|
|
560
560
|
[data-reticle-page-panel="annotations"] .reticle-annotation-content span{display:block;margin-top:3px;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);overflow-wrap:anywhere;}
|
|
561
561
|
[data-reticle-page-panel="annotations"] .reticle-annotation-item button{flex:none;border:1px solid var(--reticle-line);border-radius:6px;background:rgba(255,255,255,.04);color:var(--reticle-muted);font:inherit;font-size:11px;padding:4px 6px;cursor:pointer;}
|
|
562
562
|
[data-reticle-page-panel="annotations"] .reticle-annotation-item button:hover{color:#fff;background:rgba(255,255,255,.1);}
|
|
563
|
-
${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reticle-harness-stop])";Oh=class{constructor(e,n,r){b(this,ae);b(this,Xt);b(this,Mo,pO().view);b(this,Au,pO().runFocused);b(this,Vc,!1);b(this,Wr,"current");b(this,yu,[]);b(this,Va,sF());b(this,jc);b(this,Kc);b(this,Wc);b(this,Oi,0);b(this,zc,!1);b(this,vu);b(this,Yc);b(this,ja);b(this,zr);b(this,Ka);b(this,Yr);b(this,Ii,bh);b(this,Wa,"");b(this,Xc,"");b(this,qc,"");b(this,Zc,!1);b(this,Qc,new vh);b(this,za);b(this,$o);h(this,vu,e),h(this,Yc,n),h(this,zr,r)}mount(e){var a,s,l,d,u,p,f;h(this,Xt,e),h(this,ja,new AbortController);let n=c(this,ja).signal;e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(m=>m.addEventListener("click",()=>{let g=m.getAttribute("data-reticle-chat-view-btn");c(this,Yc).call(this,g),this.open(g)},{signal:n})),(a=e.querySelector("[data-reticle-chat-impact]"))==null||a.addEventListener("click",()=>c(this,vu).call(this),{signal:n});let r=m=>{var v,O,B,oe,ce,he,Ie;let g=m.target;if(!(g instanceof Element))return;if(g.closest(`[${_h}]`)!==null){c(this,Yc).call(this,"harness"),this.open("harness");return}if(g.closest(`[${Kb}]`)!==null){(v=c(this,zr))==null||v.setHarness(!0);return}let T=g.closest(`[${Wb}]`);if(T!==null){let Ge=T.getAttribute("aria-checked")!=="true";T.setAttribute("aria-checked",String(Ge)),(O=c(this,zr))==null||O.setHarness(Ge);return}let _=g.closest(`[${bu}],[${lu}]:not([${wt}])`);if(_!==null){if(_.disabled)return;h(this,Zc,!0),(B=c(this,zr))==null||B.link(),E(this,ae,Kr).call(this);return}let y=g.closest("[data-reticle-harness-run]");if(y!==null){if(y.disabled)return;h(this,za,c(this,Ii)),E(this,ae,Rh).call(this,!0),(oe=c(this,zr))==null||oe.run(B0(c(this,Ii),c(this,Wa)));return}if(g.closest("[data-reticle-harness-stop]")!==null){(ce=c(this,zr))==null||ce.stop();return}let A=g.closest(`[${zb}]`);if(A!==null){let Ge=(he=c(this,Wc))==null?void 0:he.prompt;Ge!==void 0&&((Ie=navigator.clipboard)==null||Ie.writeText(Ge).then(()=>A.textContent=re.COPIED).catch(()=>{}))}};(s=e.querySelector("[data-reticle-harness-spot]"))==null||s.addEventListener("click",r,{signal:n}),(l=e.querySelector("[data-reticle-harness-page]"))==null||l.addEventListener("click",r,{signal:n}),(d=e.querySelector(`[${kc}]`))==null||d.addEventListener("click",r,{signal:n});let o=e.querySelector("[data-reticle-harness-page]");o==null||o.addEventListener("change",m=>{var _,y;let g=m.target;if(!(g instanceof HTMLSelectElement))return;let T=Vb(g.value);T!==void 0&&(h(this,Ii,T),K0(c(this,Yr),T),E(this,ae,Kr).call(this),(y=(_=c(this,Xt))==null?void 0:_.querySelector(`#${Fc}`))==null||y.focus())},{signal:n}),o==null||o.addEventListener("input",m=>{m.target instanceof HTMLInputElement&&h(this,Wa,m.target.value)},{signal:n}),c(this,Qc).mount(e,n),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(m=>m.addEventListener("click",()=>{h(this,Wr,m.getAttribute("data-reticle-annotation-tab")==="history"?"history":"current"),E(this,ae,xu).call(this)},{signal:n})),(u=e.querySelector("[data-reticle-annotate-btn]"))==null||u.addEventListener("click",()=>{h(this,Wr,"current"),E(this,ae,xu).call(this)},{signal:n}),(p=e.querySelector("[data-reticle-copy-all-notes]"))==null||p.addEventListener("click",()=>E(this,ae,_O).call(this),{signal:n}),e.querySelectorAll("[data-reticle-page-close]").forEach(m=>m.addEventListener("click",()=>this.closePage(),{signal:n})),(f=e.querySelector("[data-reticle-annotation-list]"))==null||f.addEventListener("click",m=>{let g=m.target;if(!(g instanceof Element))return;let T=g.closest("[data-reticle-copy-note]");if(T===null)return;let _=Number(T.getAttribute("data-reticle-copy-note"));if(!Number.isInteger(_))return;let y=E(this,ae,wh).call(this)[_];y!==void 0&&E(this,ae,rT).call(this,[y],"pageUrl"in y?y.pageUrl:location.href)},{signal:n}),e.addEventListener("focusin",m=>E(this,ae,tT).call(this,m.target instanceof Element&&m.target.matches(Qb)),{signal:n}),e.addEventListener("focusout",m=>{let g=m.relatedTarget;E(this,ae,tT).call(this,g instanceof Element&&g.matches(Qb))},{signal:n}),this.open(c(this,Mo)),E(this,ae,Kr).call(this),this.paintImpact(c(this,Oi)),E(this,ae,xu).call(this)}teardown(){var e;E(this,ae,Rh).call(this,!1),(e=c(this,ja))==null||e.abort(),h(this,ja,void 0),h(this,Xt,void 0),h(this,Xc,""),h(this,qc,""),c(this,Qc).teardown()}open(e){var o;if(e!=="activity"&&!fO.includes(e))return;h(this,Mo,e),Jb({view:e,runFocused:c(this,Vc)});let n=c(this,Xt);if(n===void 0)return;e==="activity"?n.removeAttribute("data-reticle-page-open"):n.setAttribute("data-reticle-page-open",e);let r=n.querySelector("[data-reticle-chat-panel]");r!==null&&(r.hidden=e!=="activity"),n.querySelectorAll("[data-reticle-page-panel]").forEach(a=>{a.hidden=a.getAttribute("data-reticle-page-panel")!==e}),(o=c(this,Xt))==null||o.querySelectorAll("[data-reticle-chat-view-btn]").forEach(a=>{a.getAttribute("data-reticle-chat-view-btn")===e?a.setAttribute("aria-current","page"):a.removeAttribute("aria-current")})}closePage(){let e=c(this,Xt);e!==void 0&&(e.removeAttribute("data-reticle-page-open"),e.querySelectorAll("[data-reticle-page-panel]").forEach(n=>{n.hidden=!0}),h(this,Mo,"activity"),Jb({view:"activity",runFocused:!1}),e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(n=>{n.removeAttribute("aria-current")}))}setProjectId(e){h(this,Yr,e),h(this,Ii,j0(e)),E(this,ae,Kr).call(this),E(this,ae,Nh).call(this)}paintAgent(e){c(this,Qc).paint(e),E(this,ae,nT).call(this)}paintAccount(e){var r;h(this,jc,e);let n=(r=c(this,Xt))==null?void 0:r.querySelector('[data-reticle-chat-view-btn="harness"]');n!=null&&(n.hidden=(e==null?void 0:e.signedIn)!==!0),E(this,ae,Kr).call(this)}paintDrive(e){h(this,Ka,e),e!==void 0?E(this,ae,Rh).call(this,!1):c(this,$o)===void 0&&h(this,za,void 0),E(this,ae,Kr).call(this)}paintHarness(e,n){e!==void 0&&h(this,Zc,!1),h(this,Kc,e),h(this,Wc,n),E(this,ae,Kr).call(this)}paintImpact(e){h(this,Oi,e),c(this,zc)&&cO(c(this,Yr),e),E(this,ae,Nh).call(this)}setImpactOpen(e){h(this,zc,e),e&&cO(c(this,Yr),c(this,Oi)),E(this,ae,Nh).call(this)}paintAnnotations(e){var a;h(this,yu,[...e]);let n=location.href,r=new Map(c(this,Va).map(s=>[s.id,s]));for(let s of e)r.set(s.id,{...s,pageUrl:n});h(this,Va,[...r.values()].sort((s,l)=>l.createdAt-s.createdAt).slice(0,oT)),lF(c(this,Va));let o=(a=c(this,Xt))==null?void 0:a.querySelector("[data-reticle-note-count]");o!=null&&(o.hidden=e.length===0,o.textContent=String(e.length)),E(this,ae,xu).call(this)}};Xt=new WeakMap,Mo=new WeakMap,Au=new WeakMap,Vc=new WeakMap,Wr=new WeakMap,yu=new WeakMap,Va=new WeakMap,jc=new WeakMap,Kc=new WeakMap,Wc=new WeakMap,Oi=new WeakMap,zc=new WeakMap,vu=new WeakMap,Yc=new WeakMap,ja=new WeakMap,zr=new WeakMap,Ka=new WeakMap,Yr=new WeakMap,Ii=new WeakMap,Wa=new WeakMap,Xc=new WeakMap,qc=new WeakMap,Zc=new WeakMap,Qc=new WeakMap,za=new WeakMap,$o=new WeakMap,ae=new WeakSet,tT=function(e){e!==c(this,Vc)&&(h(this,Vc,e),Jb({view:c(this,Mo),runFocused:e}))},Rh=function(e){c(this,$o)!==void 0&&clearTimeout(c(this,$o)),h(this,$o,e?setTimeout(()=>{h(this,$o,void 0),c(this,Ka)===void 0&&h(this,za,void 0),E(this,ae,Kr).call(this)},iF):void 0),e&&E(this,ae,Kr).call(this)},Nh=function(){var a;let e=(a=c(this,Xt))==null?void 0:a.querySelector("[data-reticle-chat-impact]"),n=e==null?void 0:e.querySelector("[data-reticle-impact-dot]");if(e==null||n===void 0||n===null)return;let r=c(this,zc)?c(this,Oi):cF(c(this,Yr)),o=r!==void 0&&c(this,Oi)>r;n.hidden=!o,e.setAttribute("aria-label",o?eT.NEW:eT.SEEN)},Kr=function(){let e=c(this,Xt),n=e==null?void 0:e.querySelector("[data-reticle-harness-spot]");if(e===void 0||n===null||n===void 0)return;let r=c(this,jc),o=c(this,Kc);n.hidden=!1;let a=iT(o,r!=null?r:{signedIn:!1}),s=c(this,Yr)===void 0?"":`&project=${encodeURIComponent(c(this,Yr))}`,l={account:r,config:o,gate:c(this,Wc),drive:c(this,Ka),canDrive:c(this,zr)!==void 0,pick:c(this,Ii),startedAs:c(this,za),setupUrl:`${a}${nF}${s}${rF}`,planUrl:`${a}${oF}`,linking:c(this,Zc),starting:c(this,$o)!==void 0&&c(this,Ka)===void 0},d=q0(l);d!==c(this,Xc)&&(cu(n,d),h(this,Xc,d)),r!==void 0&&!r.signedIn&&c(this,Mo)==="harness"&&this.closePage();let u=e.querySelector("[data-reticle-harness-page]");if(u!==null){let p=Z0(l);p!==c(this,qc)&&(cu(u,p),h(this,qc,p));let f=c(this,Au)?u.querySelector(Qb):null;f!==null&&c(this,Mo)==="harness"&&(h(this,Au,!1),f.focus());let m=u.querySelector("[data-reticle-harness-persona]");m!==null&&m.value!==c(this,Wa)&&(m.value=c(this,Wa))}E(this,ae,nT).call(this)},nT=function(){var r,o,a;let e=((r=c(this,jc))==null?void 0:r.signedIn)===!0,n=(o=c(this,Xt))==null?void 0:o.querySelector("[data-reticle-harness-page-meta]");n!=null&&(n.textContent=e?X0((a=c(this,Kc))==null?void 0:a.credits):"")},wh=function(){return c(this,Wr)==="history"?c(this,Va):c(this,yu)},xu=function(){let e=c(this,Xt);if(e===void 0)return;let n=e.querySelector("[data-reticle-current-annotation-actions]");n!==null&&(n.hidden=c(this,Wr)==="history"),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(a=>a.setAttribute("aria-pressed",String(a.getAttribute("data-reticle-annotation-tab")===c(this,Wr))));let r=e.querySelector("[data-reticle-annotation-list]");if(r===null)return;r.replaceChildren();let o=E(this,ae,wh).call(this);if(o.length===0){let a=document.createElement("div");a.className="reticle-annotation-empty";let s=document.createElement("strong"),l=document.createElement("span"),d=c(this,Wr)==="history";s.textContent=d?Bc.HISTORY_EMPTY:Bc.PAGE_EMPTY,l.textContent=d?Bc.HISTORY_HINT:Bc.PAGE_HINT,a.append(s,l),r.appendChild(a);return}o.forEach((a,s)=>{let l=document.createElement("div");l.className="reticle-annotation-item";let d=document.createElement("div");d.className="reticle-annotation-content";let u=document.createElement("strong");u.textContent=a.note;let p=document.createElement("span");p.textContent=`${a.label} \xB7 ${a.route}${a.source===void 0?"":` \xB7 ${a.source}`}`,d.append(u,p);let f=document.createElement("button");f.type="button",f.textContent="Copy",f.setAttribute("data-reticle-copy-note",String(s)),l.append(d,f),r.appendChild(l)})},_O=function(){let e=E(this,ae,wh).call(this);e.length>0&&E(this,ae,rT).call(this,e,c(this,Wr)==="history"?location.origin:location.href)},rT=function(e,n){var r;(r=navigator.clipboard)==null||r.writeText(If(e,n)).catch(()=>{})}});function gF(t){let{name:e,done:n,total:r,status:o}=t;if(!(typeof e!="string"||typeof n!="number"||typeof r!="number")&&Object.values($s).includes(o))return{name:e,done:n,total:r,status:o}}function TF(t){let e=t.replace(/[-_]+/g," ").trim();return e.length===0?t:e.charAt(0).toUpperCase()+e.slice(1)}function vO(t,e){let n=e?Y.PLAY:Y.PAUSE,r=e?Jc.RESUME:Jc.PAUSE;t.setAttribute("aria-label",r),t.setAttribute("title",r),t.replaceChildren(Fr(n,pe.TOOLBAR)),t.classList.toggle("reticle-tb-btn--primary",e),t.setAttribute("data-active",e?"1":"0")}function SF(t){var e,n,r,o,a,s,l;return{pauseBtn:(e=t.querySelector("[data-reticle-pause]"))!=null?e:void 0,endBtn:(n=t.querySelector("[data-reticle-end]"))!=null?n:void 0,banner:(r=t.querySelector("[data-reticle-banner]"))!=null?r:void 0,copyBtn:(o=t.querySelector("[data-reticle-copy]"))!=null?o:void 0,exportBtn:(a=t.querySelector("[data-reticle-export]"))!=null?a:void 0,exportMsg:(s=t.querySelector("[data-reticle-export-msg]"))!=null?s:void 0,allFlows:(l=t.querySelector("[data-reticle-all-flows]"))!=null?l:void 0}}var dF,xO,uF,pF,Jc,fF,NO,AO,yO,hF,mF,EF,bF,wO,Ch,OO,RO,Lh,IO,CO,LO,kO,pn,Po,Xr,Ya,Ru,el,tl,nl,rl,Xa,vn,Xe,aT,DO,MO,$O,PO,kh,Dh,Mh,sT=S(()=>{"use strict";on();H();lt();ut();ur();$c();$b();Ih();dF="data-reticle-state",xO="data-reticle-tone",uF="data-on",pF="0",Jc={PAUSE:"Pause",RESUME:"Resume",END:"End",SEND:"Send"},fF="PAUSED",NO="Session ended",AO="Copy run",yO="Export",hF=6e3,mF={[$s.PLAYING]:"\u23F5",[$s.PASSED]:"\u2713",[$s.FAILED]:"\u2717"};EF="Copied \u2713",bF="reticle-run.json",wO=4e3,Ch={REPLAYABLE:"Replay without an agent",ELSEWHERE:"Starts on another page",EMPTY_TITLE:"No saved flows yet",EMPTY_HINT:"Every journey your agent verifies is saved here, ready to replay in one click."};OO=`
|
|
563
|
+
${NC}`,QT="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reticle-harness-stop])";_m=class{constructor(e,n,r){b(this,se);b(this,on);b(this,Zo,DC().view);b(this,Zu,DC().runFocused);b(this,ll,!1);b(this,ro,"current");b(this,Qu,[]);b(this,la,t4());b(this,dl);b(this,ul);b(this,Wi,0);b(this,pl,!1);b(this,Ju);b(this,fl);b(this,da);b(this,oo);b(this,ua);b(this,io);b(this,zi,dm);b(this,pa,"");b(this,hl,"");b(this,ml,"");b(this,fa,!1);b(this,so);b(this,gl,new Em);b(this,ha);b(this,El);b(this,ao);b(this,ep);b(this,tp);f(this,Ju,e),f(this,fl,n),f(this,oo,r)}mount(e){var s,a,l,d,u,p,h;f(this,on,e),f(this,da,new AbortController);let n=c(this,da).signal;e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(m=>m.addEventListener("click",()=>{let g=m.getAttribute("data-reticle-chat-view-btn");c(this,fl).call(this,g),this.open(g)},{signal:n})),(s=e.querySelector("[data-reticle-chat-impact]"))==null||s.addEventListener("click",()=>c(this,Ju).call(this),{signal:n});let r=m=>{var N,y,v,O,j;let g=m.target;if(!(g instanceof Element))return;if(g.closest(`[${pm}]`)!==null){c(this,fl).call(this,"harness"),this.open("harness");return}if(g.closest(`[${WT}]`)!==null){(N=c(this,oo))==null||N.setHarness(!0);return}let T=g.closest(`[${zT}]`);if(T!==null){let Y=T.getAttribute("aria-checked")!=="true";T.setAttribute("aria-checked",String(Y)),(y=c(this,oo))==null||y.setHarness(Y);return}let _=g.closest(`[${Wu}],[${Hu}]:not([${Ut}])`);if(_!==null){if(_.disabled)return;f(this,fa,!0),c(this,so)!==void 0&&clearTimeout(c(this,so)),f(this,so,setTimeout(()=>{f(this,so,void 0),f(this,fa,!1),E(this,se,Rr).call(this)},OC)),(v=c(this,oo))==null||v.link(),E(this,se,Rr).call(this);return}let A=g.closest("[data-reticle-harness-run]");if(A!==null){if(A.disabled)return;f(this,ha,c(this,zi)),f(this,tp,c(this,ep)),E(this,se,bm).call(this,!0),(O=c(this,oo))==null||O.run(uC(c(this,zi),c(this,pa)));return}if(g.closest("[data-reticle-harness-stop]")!==null){(j=c(this,oo))==null||j.stop();return}};(a=e.querySelector("[data-reticle-harness-spot]"))==null||a.addEventListener("click",r,{signal:n}),(l=e.querySelector("[data-reticle-harness-page]"))==null||l.addEventListener("click",r,{signal:n}),(d=e.querySelector(`[${Qc}]`))==null||d.addEventListener("click",r,{signal:n});let o=e.querySelector("[data-reticle-harness-page]");o==null||o.addEventListener("change",m=>{var _,A;let g=m.target;if(!(g instanceof HTMLSelectElement))return;let T=jT(g.value);T!==void 0&&(f(this,zi,T),hC(c(this,io),T),E(this,se,Rr).call(this),(A=(_=c(this,on))==null?void 0:_.querySelector(`#${il}`))==null||A.focus())},{signal:n}),o==null||o.addEventListener("input",m=>{m.target instanceof HTMLInputElement&&f(this,pa,m.target.value)},{signal:n}),c(this,gl).mount(e,n),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(m=>m.addEventListener("click",()=>{f(this,ro,m.getAttribute("data-reticle-annotation-tab")==="history"?"history":"current"),E(this,se,qu).call(this)},{signal:n})),(u=e.querySelector("[data-reticle-annotate-btn]"))==null||u.addEventListener("click",()=>{f(this,ro,"current"),E(this,se,qu).call(this)},{signal:n}),(p=e.querySelector("[data-reticle-copy-all-notes]"))==null||p.addEventListener("click",()=>E(this,se,VC).call(this),{signal:n}),e.querySelectorAll("[data-reticle-page-close]").forEach(m=>m.addEventListener("click",()=>this.closePage(),{signal:n})),(h=e.querySelector("[data-reticle-annotation-list]"))==null||h.addEventListener("click",m=>{let g=m.target;if(!(g instanceof Element))return;let T=g.closest("[data-reticle-copy-note]");if(T===null)return;let _=Number(T.getAttribute("data-reticle-copy-note"));if(!Number.isInteger(_))return;let A=E(this,se,Sm).call(this)[_];A!==void 0&&E(this,se,rS).call(this,[A],"pageUrl"in A?A.pageUrl:location.href)},{signal:n}),e.addEventListener("focusin",m=>E(this,se,tS).call(this,m.target instanceof Element&&m.target.matches(QT)),{signal:n}),e.addEventListener("focusout",m=>{let g=m.relatedTarget;E(this,se,tS).call(this,g instanceof Element&&g.matches(QT))},{signal:n}),this.open(c(this,Zo)),E(this,se,Rr).call(this),this.paintImpact(c(this,Wi)),E(this,se,qu).call(this)}teardown(){var e;E(this,se,bm).call(this,!1),(e=c(this,da))==null||e.abort(),f(this,da,void 0),f(this,on,void 0),f(this,hl,""),f(this,ml,""),c(this,gl).teardown()}open(e){var o;if(e!=="activity"&&!MC.includes(e))return;f(this,Zo,e),JT({view:e,runFocused:c(this,ll)});let n=c(this,on);if(n===void 0)return;e==="activity"?n.removeAttribute("data-reticle-page-open"):n.setAttribute("data-reticle-page-open",e);let r=n.querySelector("[data-reticle-chat-panel]");r!==null&&(r.hidden=e!=="activity"),n.querySelectorAll("[data-reticle-page-panel]").forEach(s=>{s.hidden=s.getAttribute("data-reticle-page-panel")!==e}),(o=c(this,on))==null||o.querySelectorAll("[data-reticle-chat-view-btn]").forEach(s=>{s.getAttribute("data-reticle-chat-view-btn")===e?s.setAttribute("aria-current","page"):s.removeAttribute("aria-current")})}closePage(){let e=c(this,on);e!==void 0&&(e.removeAttribute("data-reticle-page-open"),e.querySelectorAll("[data-reticle-page-panel]").forEach(n=>{n.hidden=!0}),f(this,Zo,"activity"),JT({view:"activity",runFocused:!1}),e.querySelectorAll("[data-reticle-chat-view-btn]").forEach(n=>{n.removeAttribute("aria-current")}))}setProjectId(e){f(this,io,e),f(this,zi,fC(e)),E(this,se,Rr).call(this),E(this,se,Tm).call(this)}paintAgent(e){c(this,gl).paint(e),E(this,se,nS).call(this)}paintAccount(e){var r;f(this,dl,e);let n=(r=c(this,on))==null?void 0:r.querySelector('[data-reticle-chat-view-btn="harness"]');n!=null&&(n.hidden=(e==null?void 0:e.signedIn)!==!0),E(this,se,Rr).call(this)}paintDrive(e,n){f(this,ua,e);let r=(n==null?void 0:n.runUrl)!==void 0&&Qn(n.runUrl)?ne(n.runUrl):void 0;f(this,El,n===void 0?void 0:{...r===void 0?{}:{runUrl:r},...n.said===void 0?{}:{said:n.said}}),f(this,ep,n==null?void 0:n.seq);let o=(n==null?void 0:n.seq)!==void 0&&n.seq!==c(this,tp)&&c(this,ao)!==void 0;(e!==void 0||o)&&E(this,se,bm).call(this,!1),e===void 0&&c(this,ao)===void 0&&f(this,ha,void 0),E(this,se,Rr).call(this)}paintHarness(e){e!==void 0&&(f(this,fa,!1),c(this,so)!==void 0&&clearTimeout(c(this,so)),f(this,so,void 0)),f(this,ul,e),E(this,se,Rr).call(this)}paintImpact(e){f(this,Wi,e),c(this,pl)&&IC(c(this,io),e),E(this,se,Tm).call(this)}setImpactOpen(e){f(this,pl,e),e&&IC(c(this,io),c(this,Wi)),E(this,se,Tm).call(this)}paintAnnotations(e){var s;f(this,Qu,[...e]);let n=location.href,r=new Map(c(this,la).map(a=>[a.id,a]));for(let a of e)r.set(a.id,{...a,pageUrl:n});f(this,la,[...r.values()].sort((a,l)=>l.createdAt-a.createdAt).slice(0,oS)),r4(c(this,la));let o=(s=c(this,on))==null?void 0:s.querySelector("[data-reticle-note-count]");o!=null&&(o.hidden=e.length===0,o.textContent=String(e.length)),E(this,se,qu).call(this)}};on=new WeakMap,Zo=new WeakMap,Zu=new WeakMap,ll=new WeakMap,ro=new WeakMap,Qu=new WeakMap,la=new WeakMap,dl=new WeakMap,ul=new WeakMap,Wi=new WeakMap,pl=new WeakMap,Ju=new WeakMap,fl=new WeakMap,da=new WeakMap,oo=new WeakMap,ua=new WeakMap,io=new WeakMap,zi=new WeakMap,pa=new WeakMap,hl=new WeakMap,ml=new WeakMap,fa=new WeakMap,so=new WeakMap,gl=new WeakMap,ha=new WeakMap,El=new WeakMap,ao=new WeakMap,ep=new WeakMap,tp=new WeakMap,se=new WeakSet,tS=function(e){e!==c(this,ll)&&(f(this,ll,e),JT({view:c(this,Zo),runFocused:e}))},bm=function(e){c(this,ao)!==void 0&&clearTimeout(c(this,ao)),f(this,ao,e?setTimeout(()=>{f(this,ao,void 0),c(this,ua)===void 0&&f(this,ha,void 0),E(this,se,Rr).call(this)},OC):void 0),e&&E(this,se,Rr).call(this)},Tm=function(){var s;let e=(s=c(this,on))==null?void 0:s.querySelector("[data-reticle-chat-impact]"),n=e==null?void 0:e.querySelector("[data-reticle-impact-dot]");if(e==null||n===void 0||n===null)return;let r=c(this,pl)?c(this,Wi):n4(c(this,io)),o=r!==void 0&&c(this,Wi)>r;n.hidden=!o,e.setAttribute("aria-label",o?eS.NEW:eS.SEEN)},Rr=function(){let e=c(this,on),n=e==null?void 0:e.querySelector("[data-reticle-harness-spot]");if(e===void 0||n===null||n===void 0)return;let r=c(this,dl),o=c(this,ul);n.hidden=!1;let s=iS(o,r!=null?r:{signedIn:!1}),a=c(this,io)===void 0?"":`&project=${encodeURIComponent(c(this,io))}`,l={account:r,config:o,drive:c(this,ua),canDrive:c(this,oo)!==void 0,pick:c(this,zi),startedAs:c(this,ha),setupUrl:`${s}${qV}${a}${ZV}`,planUrl:(o==null?void 0:o.planUrl)!==void 0&&Qn(o.planUrl)?ne(o.planUrl):`${s}${QV}`,linking:c(this,fa),starting:c(this,ao)!==void 0&&c(this,ua)===void 0,...c(this,El)===void 0?{}:{last:c(this,El)}},d=bC(l);d!==c(this,hl)&&($u(n,d),f(this,hl,d)),r!==void 0&&!r.signedIn&&c(this,Zo)==="harness"&&this.closePage();let u=e.querySelector("[data-reticle-harness-page]");if(u!==null){let p=TC(l);p!==c(this,ml)&&($u(u,p),f(this,ml,p));let h=c(this,Zu)?u.querySelector(QT):null;h!==null&&c(this,Zo)==="harness"&&(f(this,Zu,!1),h.focus());let m=u.querySelector("[data-reticle-harness-persona]");m!==null&&m.value!==c(this,pa)&&(m.value=c(this,pa))}E(this,se,nS).call(this)},nS=function(){var r,o,s;let e=((r=c(this,dl))==null?void 0:r.signedIn)===!0,n=(o=c(this,on))==null?void 0:o.querySelector("[data-reticle-harness-page-meta]");n!=null&&(n.textContent=e?EC((s=c(this,ul))==null?void 0:s.credits):"")},Sm=function(){return c(this,ro)==="history"?c(this,la):c(this,Qu)},qu=function(){let e=c(this,on);if(e===void 0)return;let n=e.querySelector("[data-reticle-current-annotation-actions]");n!==null&&(n.hidden=c(this,ro)==="history"),e.querySelectorAll("[data-reticle-annotation-tab]").forEach(s=>s.setAttribute("aria-pressed",String(s.getAttribute("data-reticle-annotation-tab")===c(this,ro))));let r=e.querySelector("[data-reticle-annotation-list]");if(r===null)return;r.replaceChildren();let o=E(this,se,Sm).call(this);if(o.length===0){let s=document.createElement("div");s.className="reticle-annotation-empty";let a=document.createElement("strong"),l=document.createElement("span"),d=c(this,ro)==="history";a.textContent=d?cl.HISTORY_EMPTY:cl.PAGE_EMPTY,l.textContent=d?cl.HISTORY_HINT:cl.PAGE_HINT,s.append(a,l),r.appendChild(s);return}o.forEach((s,a)=>{let l=document.createElement("div");l.className="reticle-annotation-item";let d=document.createElement("div");d.className="reticle-annotation-content";let u=document.createElement("strong");u.textContent=s.note;let p=document.createElement("span");p.textContent=`${s.label} \xB7 ${s.route}${s.source===void 0?"":` \xB7 ${s.source}`}`,d.append(u,p);let h=document.createElement("button");h.type="button",h.textContent="Copy",h.setAttribute("data-reticle-copy-note",String(a)),l.append(d,h),r.appendChild(l)})},VC=function(){let e=E(this,se,Sm).call(this);e.length>0&&E(this,se,rS).call(this,e,c(this,ro)==="history"?location.origin:location.href)},rS=function(e,n){var r;(r=navigator.clipboard)==null||r.writeText(Sh(e,n)).catch(()=>{})}});function d4(t){let{name:e,done:n,total:r,status:o}=t;if(!(typeof e!="string"||typeof n!="number"||typeof r!="number")&&Object.values(rc).includes(o))return{name:e,done:n,total:r,status:o}}function f4(t){let e=t.replace(/[-_]+/g," ").trim();return e.length===0?t:e.charAt(0).toUpperCase()+e.slice(1)}function zC(t,e){let n=e?Q.PLAY:Q.PAUSE,r=e?bl.RESUME:bl.PAUSE;t.setAttribute("aria-label",r),t.setAttribute("title",r),t.replaceChildren(Qr(n,he.TOOLBAR)),t.classList.toggle("reticle-tb-btn--primary",e),t.setAttribute("data-active",e?"1":"0")}function h4(t){var e,n,r,o,s,a,l;return{pauseBtn:(e=t.querySelector("[data-reticle-pause]"))!=null?e:void 0,endBtn:(n=t.querySelector("[data-reticle-end]"))!=null?n:void 0,banner:(r=t.querySelector("[data-reticle-banner]"))!=null?r:void 0,copyBtn:(o=t.querySelector("[data-reticle-copy]"))!=null?o:void 0,exportBtn:(s=t.querySelector("[data-reticle-export]"))!=null?s:void 0,exportMsg:(a=t.querySelector("[data-reticle-export-msg]"))!=null?a:void 0,allFlows:(l=t.querySelector("[data-reticle-all-flows]"))!=null?l:void 0}}var o4,jC,i4,s4,bl,a4,XC,KC,WC,c4,l4,u4,p4,qC,Am,ZC,YC,ym,QC,JC,eL,tL,En,Qo,co,ma,np,Tl,Sl,_l,xl,ga,Ln,Je,sS,nL,rL,oL,iL,vm,Rm,Nm,aS=S(()=>{"use strict";xt();D();dt();Et();Tr();tl();$T();xm();o4="data-reticle-state",jC="data-reticle-tone",i4="data-on",s4="0",bl={PAUSE:"Pause",RESUME:"Resume",END:"End",SEND:"Send"},a4="PAUSED",XC="Session ended",KC="Copy run",WC="Export",c4=6e3,l4={[rc.PLAYING]:"\u23F5",[rc.PASSED]:"\u2713",[rc.FAILED]:"\u2717"};u4="Copied \u2713",p4="reticle-run.json",qC=4e3,Am={REPLAYABLE:"Replay without an agent",ELSEWHERE:"Starts on another page",EMPTY_TITLE:"No saved flows yet",EMPTY_HINT:"Every journey your agent verifies is saved here, ready to replay in one click."};ZC=`
|
|
564
564
|
[data-reticle-chat-panel] [data-reticle-foot]{flex:none;padding:6px 10px 8px;border-top:1px solid rgba(255,255,255,.07);
|
|
565
565
|
background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.55) 100%);pointer-events:auto;}
|
|
566
566
|
[data-reticle-chat-panel] .reticle-foot-workspace-row{display:flex;flex-wrap:wrap;align-items:center;min-width:0;}
|
|
@@ -663,7 +663,7 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
663
663
|
[data-reticle-chat-panel] .reticle-marks-copy[data-copied="1"]{color:#22c55e;border-color:#22c55e;}
|
|
664
664
|
[data-reticle-hud] .reticle-export-msg{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
|
|
665
665
|
overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
|
|
666
|
-
`;
|
|
666
|
+
`;YC="Copy for your agent",ym=he.TOOLBAR,QC=`<button type="button" data-reticle-pause class="reticle-status-btn" title="${bl.PAUSE}" aria-label="${bl.PAUSE}">${Ee(Q.PAUSE,ym)}</button><span data-reticle-badge class="reticle-pause-badge">${a4}</span><button type="button" data-reticle-end class="reticle-status-btn reticle-status-stop" title="${bl.END}" aria-label="${bl.END}">${Ee(Q.STOP,ym)}</button><button type="button" data-reticle-copy class="reticle-status-btn" title="${KC}" aria-label="${KC}" hidden>${Ee(Q.COPY,ym)}</button><button type="button" data-reticle-export class="reticle-status-btn" title="${WC}" aria-label="${WC}" hidden>${Ee(Q.DOWNLOAD,ym)}</button><span data-reticle-export-msg class="reticle-export-msg" aria-live="polite"></span>`,JC=`<div data-reticle-banner class="reticle-banner">${XC}</div>`,eL=`<div ${Gh} class="reticle-marks-row" hidden><span data-reticle-marks-text class="reticle-marks-text"></span><button type="button" ${Fh} class="reticle-marks-copy" title="${YC}">${Ee(Q.COPY,he.HELP)}<span>${YC}</span></button></div>`,tL=`<div data-reticle-foot><div class="reticle-foot-stack">${$C}<div class="reticle-foot-workspace-row">${eC()}</div></div></div>`;Nm=class{constructor(e){b(this,Je);b(this,En,{pauseBtn:void 0,endBtn:void 0,banner:void 0,copyBtn:void 0,exportBtn:void 0,exportMsg:void 0,allFlows:void 0});b(this,Qo,$e.ACTIVE);b(this,co);b(this,ma);b(this,np);b(this,Tl,[]);b(this,Sl);b(this,_l);b(this,xl);b(this,ga);b(this,Ln);f(this,Ln,e)}get state(){return c(this,Qo)}mount(e,n){var a,l,d,u,p;f(this,ga,new AbortController);let{signal:r}=c(this,ga);f(this,ma,e),f(this,np,n),f(this,En,h4(e));let o=c(this,En).pauseBtn;o!==void 0&&zC(o,c(this,Qo)===$e.PAUSED),(a=c(this,En).pauseBtn)==null||a.addEventListener("click",()=>E(this,Je,oL).call(this),{signal:r}),(l=c(this,En).endBtn)==null||l.addEventListener("click",()=>E(this,Je,iL).call(this),{signal:r});let s=h=>{let m=h.target;if(!(m instanceof HTMLElement))return;let g=m.closest("[data-reticle-replay]");if(g===null||g.disabled)return;let T=g.getAttribute("data-reticle-replay");T!==null&&T.length>0&&c(this,Ln).emit(Xt.REPLAY,T)};(d=c(this,En).allFlows)==null||d.addEventListener("click",s,{signal:r}),(u=c(this,En).copyBtn)==null||u.addEventListener("click",()=>E(this,Je,nL).call(this),{signal:r}),(p=c(this,En).exportBtn)==null||p.addEventListener("click",()=>E(this,Je,rL).call(this),{signal:r}),f(this,xl,tC(e)),E(this,Je,Rm).call(this),this.setState($e.ACTIVE)}teardown(){var e,n;(e=c(this,ga))==null||e.abort(),f(this,ga,void 0),(n=c(this,xl))==null||n.call(this),f(this,xl,void 0),c(this,co)!==void 0&&_e(c(this,co)),f(this,co,void 0)}setFlowProgress(e){let n=d4(e);n!==void 0&&(f(this,Sl,n),c(this,_l)!==void 0&&_e(c(this,_l)),f(this,_l,rc.PLAYING===n.status?void 0:oe(()=>{f(this,Sl,void 0),E(this,Je,vm).call(this)},c4)),E(this,Je,vm).call(this))}setFlows(e){let n=Array.isArray(e)?e:[];f(this,Tl,n.map(r=>{if(typeof r=="string")return r.length>0?{name:r}:null;if(typeof r=="object"&&r!==null){let o=r,s=o.name;if(typeof s!="string"||s.length===0)return null;let a=o.start,l=o.createdAt;return{name:s,...typeof a=="string"&&a.length>0?{start:a}:{},...typeof l=="number"&&Number.isFinite(l)?{createdAt:l}:{}}}return null}).filter(r=>r!==null)),E(this,Je,Rm).call(this)}refilterFlows(){E(this,Je,Rm).call(this)}setState(e,n,r){var l,d,u,p,h;f(this,Qo,e),(l=c(this,ma))==null||l.setAttribute(o4,e);let o=r!==void 0&&r!==ic.CALM;o?(d=c(this,ma))==null||d.setAttribute(jC,r):(u=c(this,ma))==null||u.removeAttribute(jC),c(this,co)!==void 0&&(_e(c(this,co)),f(this,co,void 0));let s=c(this,En),a=e===$e.ENDED;if(s.pauseBtn!==void 0&&(zC(s.pauseBtn,e===$e.PAUSED),s.pauseBtn.hidden=a),s.endBtn!==void 0&&(s.endBtn.hidden=a),s.copyBtn!==void 0&&(a?s.copyBtn.removeAttribute("hidden"):s.copyBtn.setAttribute("hidden","")),s.exportBtn!==void 0&&(a?s.exportBtn.removeAttribute("hidden"):s.exportBtn.setAttribute("hidden","")),s.banner!==void 0){let m=n!==void 0&&n.trim().length>0?n.trim():"";s.banner.textContent=o&&m.length>0?m:`${XC}${m.length>0?` \xB7 ${m}`:""}`}if(a){let m=c(this,np);f(this,co,oe(()=>{m==null||m.setAttribute(i4,s4)},c(this,Ln).endedFadeMs))}(h=(p=c(this,Ln)).onStateChange)==null||h.call(p,e)}};En=new WeakMap,Qo=new WeakMap,co=new WeakMap,ma=new WeakMap,np=new WeakMap,Tl=new WeakMap,Sl=new WeakMap,_l=new WeakMap,xl=new WeakMap,ga=new WeakMap,Ln=new WeakMap,Je=new WeakSet,sS=function(){return JSON.stringify(c(this,Ln).runState(),null,2)},nL=function(){var n,r,o;(n=navigator.clipboard)==null||n.writeText(E(this,Je,sS).call(this)),nr().clearOnCopy&&((o=(r=c(this,Ln)).clearRunLog)==null||o.call(r));let e=c(this,En).exportMsg;e!==void 0&&(e.textContent=u4,e.setAttribute("data-show","1"),oe(()=>e.setAttribute("data-show","0"),1600))},rL=function(){var o,s;let e=new Blob([E(this,Je,sS).call(this)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=p4,r.click(),URL.revokeObjectURL(n),nr().clearOnCopy&&((s=(o=c(this,Ln)).clearRunLog)==null||s.call(o))},oL=function(){c(this,Qo)===$e.PAUSED?(c(this,Ln).emit(Xt.RESUME),this.setState($e.ACTIVE)):c(this,Qo)===$e.ACTIVE&&(c(this,Ln).emit(Xt.PAUSE),this.setState($e.PAUSED))},iL=function(){c(this,Qo)!==$e.ENDED&&(c(this,Ln).emit(Xt.END),this.setState($e.ENDED))},vm=function(){var n,r,o;let e=c(this,Sl);for(let s of(r=(n=c(this,En).allFlows)==null?void 0:n.querySelectorAll("[data-reticle-replay]"))!=null?r:[]){let a=(o=s.getAttribute("data-reticle-replay"))!=null?o:"";if(!(e!==void 0&&e.name===a)){s.removeAttribute("data-state"),s.style.removeProperty("--reticle-flow-progress"),s.classList.contains("reticle-flow")&&(s.textContent=`\u25B6 ${a}`);continue}let d=0<e.total?Math.round(100*e.done/e.total):4;s.setAttribute("data-state",e.status),s.style.setProperty("--reticle-flow-progress",`${String(Math.max(4,d))}%`);let u=l4[e.status];s.classList.contains("reticle-flow")&&(s.textContent=`${u} ${a}`);let p=s.querySelector(".reticle-flow-play");p!==null&&(p.textContent=u);let h=s.querySelector(".reticle-flow-meta");h!==null&&0<e.total&&(h.textContent=`Step ${String(e.done)} of ${String(e.total)}`)}},Rm=function(){let e=c(this,En).allFlows;if(e===void 0)return;let n=e.ownerDocument,r=new Set(Array.from(n.querySelectorAll(Kn())).map(a=>Te(a))),o=a=>a.start===void 0||r.has(a.start);e.replaceChildren();let s=(a,l,d)=>{let u=n.createElement("button");u.type="button",u.className="reticle-flow-row",u.setAttribute("data-reticle-replay",l.name),u.title=l.name,u.disabled=!d;let p=n.createElement("span");p.className="reticle-flow-play",p.setAttribute("aria-hidden","true"),p.textContent="\u25B6";let h=n.createElement("span");h.className="reticle-flow-text";let m=n.createElement("span");m.className="reticle-flow-name",m.textContent=f4(l.name);let g=n.createElement("span");g.className="reticle-flow-meta",g.textContent=d?Am.REPLAYABLE:Am.ELSEWHERE,h.append(m,g),u.append(p,h),a.appendChild(u)};if(c(this,Tl).length===0){let a=n.createElement("div");a.className="reticle-flows-empty";let l=n.createElement("strong");l.textContent=Am.EMPTY_TITLE;let d=n.createElement("span");d.textContent=Am.EMPTY_HINT,a.append(l,d),e.appendChild(a)}else for(let a of[...c(this,Tl)].sort((l,d)=>{var u,p;return((u=d.createdAt)!=null?u:0)-((p=l.createdAt)!=null?p:0)}))s(e,a,o(a));E(this,Je,vm).call(this)}});var ce,F,ee,Nr,cS,sL,aL=S(()=>{"use strict";Ko();Et();Et();Ar();ce="data-reticle-overlay",F="data-reticle-hud",ee="data-reticle-chat-panel",Nr="data-reticle-state",cS="data-reticle-tone",sL=`
|
|
667
667
|
/**
|
|
668
668
|
* ONE colour says what the session is doing, and the user picks all three.
|
|
669
669
|
*
|
|
@@ -672,13 +672,13 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
672
672
|
* The defaults are blue / amber / red; the settings panel writes --reticle-c-* from the swatches,
|
|
673
673
|
* because a signal colour that disappears into the user's own palette is not a signal.
|
|
674
674
|
*/
|
|
675
|
-
[${
|
|
675
|
+
[${ce}]{
|
|
676
676
|
--reticle-c-active:#3b82f6;--reticle-c-idle:#eab308;--reticle-c-ended:#ef4444;
|
|
677
677
|
--reticle-state:var(--reticle-c-idle);}
|
|
678
|
-
[${
|
|
679
|
-
[${
|
|
680
|
-
[${
|
|
681
|
-
[${
|
|
678
|
+
[${ce}][${Iu}="active"]{--reticle-state:var(--reticle-c-active);}
|
|
679
|
+
[${ce}][${Nr}="paused"]{--reticle-state:var(--reticle-c-idle);}
|
|
680
|
+
[${ce}][${Nr}="ended"]{--reticle-state:var(--reticle-c-ended);}
|
|
681
|
+
[${M}]{
|
|
682
682
|
--reticle-surface:color-mix(in srgb,var(--reticle-hud-surface) 78%,transparent);
|
|
683
683
|
/* No literal here: --reticle-accent is published on the overlay from the chosen status theme.
|
|
684
684
|
Redefining it on the dock made every accented control - toolbar toggles, focus rings, the send
|
|
@@ -703,17 +703,17 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
703
703
|
/* The log is the reason the panel exists, so it gets the height rather than the chrome. */
|
|
704
704
|
--reticle-chat-h:var(--reticle-hud-panel-height,440px);
|
|
705
705
|
opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--reticle-shell-fast),transform var(--reticle-shell-fast);}
|
|
706
|
-
[${
|
|
707
|
-
[${
|
|
708
|
-
[${
|
|
709
|
-
[${
|
|
706
|
+
[${M}][data-dragged="1"]{left:var(--reticle-hud-x);top:var(--reticle-hud-y);bottom:auto;right:auto;transform:none;}
|
|
707
|
+
[${M}][data-dragged="1"][data-on="1"]{transform:none;}
|
|
708
|
+
[${M}][data-on="1"]{opacity:1;transform:translate3d(0,0,0);pointer-events:none;}
|
|
709
|
+
[${M}][data-on="0"]{opacity:0;pointer-events:none;}
|
|
710
710
|
/**
|
|
711
711
|
* The panel is painted by HUD_GLASS_PAINT: an opaque navy fill, lit by the state colour, with that
|
|
712
712
|
* colour glowing behind it. No backdrop-filter: blur(24px) here was measured as the single most
|
|
713
713
|
* expensive thing in the whole SDK.
|
|
714
714
|
*/
|
|
715
|
-
[${
|
|
716
|
-
${
|
|
715
|
+
[${ee}]{
|
|
716
|
+
${zc}
|
|
717
717
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);top:auto;z-index:5;
|
|
718
718
|
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
719
719
|
height:min(var(--reticle-chat-max-h,var(--reticle-chat-h)),calc(100vh - 120px));
|
|
@@ -724,15 +724,15 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
724
724
|
contain:layout style paint;
|
|
725
725
|
transform:translateZ(0);
|
|
726
726
|
pointer-events:none;}
|
|
727
|
-
[${
|
|
727
|
+
[${M}][${zo}="below"] [${ee}]{
|
|
728
728
|
bottom:auto;top:calc(100% + 8px);}
|
|
729
|
-
[${
|
|
729
|
+
[${M}][${Ht}="start"] [${ee}]{
|
|
730
730
|
right:auto;left:0;}
|
|
731
|
-
[${
|
|
731
|
+
[${ce}][${ut}="1"] [${ee}]{
|
|
732
732
|
display:flex;pointer-events:auto;}
|
|
733
|
-
[${
|
|
734
|
-
[${
|
|
735
|
-
[${
|
|
733
|
+
[${ee}][hidden]{display:none!important;}
|
|
734
|
+
[${M}][${zo}="below"] [data-reticle-page-panel]{bottom:auto;top:calc(100% + 8px);}
|
|
735
|
+
[${M}][${Ht}="start"] [data-reticle-page-panel]{right:auto;left:0;}
|
|
736
736
|
/**
|
|
737
737
|
* Idle, and not blocking the page: the card is not in use.
|
|
738
738
|
*
|
|
@@ -740,13 +740,13 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
740
740
|
* under the card landed on an empty transcript. Playwright named that div. The card passes the
|
|
741
741
|
* event through. The buttons stay clickable, which is the chrome a person still needs (#992).
|
|
742
742
|
*/
|
|
743
|
-
[${
|
|
744
|
-
[${
|
|
743
|
+
[${ce}][data-reticle-mode="idle"][data-reticle-block="0"] [${ee}],
|
|
744
|
+
[${ce}][data-reticle-mode="idle"][data-reticle-block="0"] [${ee}] [data-reticle-log]{
|
|
745
745
|
pointer-events:none;}
|
|
746
746
|
/* ...except a log with more than it shows: a feed nobody can scroll back through is not a log. */
|
|
747
|
-
[${
|
|
747
|
+
[${ce}][data-reticle-mode="idle"][data-reticle-block="0"] [${ee}] [data-reticle-log][data-reticle-log-scrollable]{
|
|
748
748
|
pointer-events:auto;}
|
|
749
|
-
[${
|
|
749
|
+
[${ce}][data-reticle-mode="idle"][data-reticle-block="0"] [${ee}] :is(button,a,input,select,textarea){
|
|
750
750
|
pointer-events:auto;}
|
|
751
751
|
/**
|
|
752
752
|
* Minimising the chat leaves a CAPSULE, not a hole: the same glass, the same state dot, the last
|
|
@@ -754,7 +754,7 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
754
754
|
* clicked. Leaving the toolbar alone above an empty gap would make a minimised session look
|
|
755
755
|
* identical to no session at all.
|
|
756
756
|
*/
|
|
757
|
-
[${
|
|
757
|
+
[${yt}]{
|
|
758
758
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:5;
|
|
759
759
|
box-sizing:border-box;width:var(--reticle-dock-w);
|
|
760
760
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));
|
|
@@ -763,101 +763,101 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
763
763
|
radial-gradient(120% 160% at 50% 0%,color-mix(in srgb,var(--reticle-state) 18%,transparent),transparent 70%),
|
|
764
764
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
765
765
|
border:1px solid color-mix(in srgb,var(--reticle-state) 26%,rgba(255,255,255,.1));
|
|
766
|
-
box-shadow:${
|
|
766
|
+
box-shadow:${xr},0 0 34px -14px var(--reticle-state);
|
|
767
767
|
color:var(--reticle-muted);font-family:var(--reticle-font);font-size:11px;line-height:1;
|
|
768
768
|
transition:transform .1s ease,border-color .2s ease;}
|
|
769
|
-
[${
|
|
770
|
-
[${
|
|
771
|
-
[${
|
|
769
|
+
[${M}][${zo}="below"] [${yt}]{bottom:auto;top:calc(100% + 8px);}
|
|
770
|
+
[${M}][${Ht}="start"] [${yt}]{right:auto;left:0;}
|
|
771
|
+
[${ce}][${Me}="0"]:not([${ut}="1"]) [${yt}]{
|
|
772
772
|
display:inline-flex;pointer-events:auto;}
|
|
773
|
-
[${
|
|
774
|
-
[${
|
|
773
|
+
[${yt}]:hover{border-color:color-mix(in srgb,var(--reticle-c-active) 45%,transparent);}
|
|
774
|
+
[${yt}]:active{transform:scale(.98);}
|
|
775
775
|
/* No dot in the capsule: the mark, the border and the glow already carry the state colour, and a
|
|
776
776
|
pulsing dot next to a line of text that changes on its own was two things moving for one fact. */
|
|
777
|
-
[${
|
|
777
|
+
[${yt}] .reticle-mark{flex:none;height:14px;width:auto;color:var(--reticle-fg);opacity:.9;}
|
|
778
778
|
/* Header: who this panel belongs to, and what the session is doing right now. */
|
|
779
|
-
[${
|
|
779
|
+
[${ee}] .reticle-chat-head{
|
|
780
780
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 44px 9px 14px;
|
|
781
781
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
782
|
-
[${
|
|
782
|
+
[${ee}] .reticle-chat-brand{display:inline-flex;align-items:center;gap:7px;color:var(--reticle-fg);}
|
|
783
783
|
/* The account capsule lives in the header, not the toolbar. The toolbar row is already 13px over its
|
|
784
784
|
own width, so a 20px avatar there pushed the close button outside the panel. The header has the
|
|
785
785
|
space, is visible under exactly the same condition, and is where an account avatar belongs anyway.
|
|
786
786
|
margin-left:auto right-aligns it; the head reserves 44px of right padding for the caret above it,
|
|
787
787
|
so the two never overlap. The :empty rule keeps the gap closed when no account state was sent. */
|
|
788
|
-
[${
|
|
789
|
-
[${
|
|
788
|
+
[${ee}] .reticle-head-account{margin-left:auto;display:inline-flex;align-items:center;}
|
|
789
|
+
[${ee}] .reticle-head-account:empty{display:none;}
|
|
790
790
|
/* The quiet way to the platform: one line of small text before the avatar, cut short before it pushes. */
|
|
791
|
-
[${
|
|
792
|
-
[${
|
|
793
|
-
[${
|
|
794
|
-
[${
|
|
795
|
-
[${
|
|
796
|
-
[${
|
|
797
|
-
[${
|
|
798
|
-
[${
|
|
799
|
-
[${
|
|
800
|
-
[${
|
|
801
|
-
[${
|
|
791
|
+
[${ee}] .reticle-head-team{margin-left:auto;min-width:0;display:inline-flex;}
|
|
792
|
+
[${ee}] .reticle-head-team:empty{display:none;}
|
|
793
|
+
[${ee}] .reticle-head-team:not(:empty) + .reticle-head-account{margin-left:0;}
|
|
794
|
+
[${ee}] .reticle-team-link{min-width:0;max-width:100%;overflow:hidden;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--reticle-hud-size-xs);font-weight:500;color:var(--reticle-hud-text-muted);text-decoration:none;white-space:nowrap;text-overflow:ellipsis;}
|
|
795
|
+
[${ee}] .reticle-team-link span{display:block;overflow:hidden;text-overflow:ellipsis;}
|
|
796
|
+
[${ee}] .reticle-team-link:hover{color:var(--reticle-hud-brand);}
|
|
797
|
+
[${ee}] .reticle-team-link:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:2px;border-radius:var(--reticle-hud-radius-sm);}
|
|
798
|
+
[${ee}] .reticle-chat-brand .reticle-mark{height:14px;width:auto;}
|
|
799
|
+
[${ee}] .reticle-chat-brandname{font-size:12.5px;font-weight:600;letter-spacing:.01em;}
|
|
800
|
+
[${ee}] .reticle-view-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-height:28px;box-sizing:border-box;padding:6px 12px 4px;border-bottom:1px solid var(--reticle-hud-border);}
|
|
801
|
+
[${ee}] .reticle-view-heading strong{font-size:11px;font-weight:600;}
|
|
802
802
|
/* No state word here: the activity strip immediately below already says "idle \xB7 21s", and the
|
|
803
803
|
dot in front of it carries the same colour. One fact, one place. */
|
|
804
|
-
[${
|
|
804
|
+
[${yt}] .reticle-chat-pill-text{
|
|
805
805
|
flex:1;text-align:left;
|
|
806
806
|
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
807
807
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;}
|
|
808
|
-
[${
|
|
808
|
+
[${yt}] .reticle-chat-pill-time{
|
|
809
809
|
flex:none;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
|
|
810
|
-
[${
|
|
810
|
+
[${yt}] .reticle-chat-pill-caret{
|
|
811
811
|
flex:none;display:inline-flex;color:var(--reticle-faint);line-height:0;transform:rotate(180deg);}
|
|
812
|
-
[${
|
|
812
|
+
[${yt}] .reticle-chat-pill-caret svg{
|
|
813
813
|
display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
814
814
|
/* Minimise the chat without collapsing the whole HUD \u2014 sits over the panel's top-right corner. */
|
|
815
|
-
[${
|
|
815
|
+
[${M}] .reticle-chat-min{
|
|
816
816
|
position:absolute;top:6px;right:6px;z-index:4;
|
|
817
817
|
width:26px;height:26px;padding:0;border:none;border-radius:50%;cursor:pointer;
|
|
818
818
|
display:inline-flex;align-items:center;justify-content:center;
|
|
819
819
|
background:transparent;color:rgba(255,255,255,.6);line-height:0;}
|
|
820
|
-
[${
|
|
821
|
-
[${
|
|
820
|
+
[${M}] .reticle-chat-min:hover{background:rgba(255,255,255,.07);color:var(--reticle-fg);}
|
|
821
|
+
[${M}] .reticle-chat-min svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;
|
|
822
822
|
stroke-linecap:round;stroke-linejoin:round;}
|
|
823
|
-
[${
|
|
824
|
-
[${
|
|
825
|
-
[${
|
|
826
|
-
[${
|
|
823
|
+
[${ce}][${Kh}="0"] [${Ru}]{display:none;}
|
|
824
|
+
[${ce}][${Jr}="1"] [${F}],
|
|
825
|
+
[${ce}][${Jr}="1"] [${ee}],
|
|
826
|
+
[${ce}][${Jr}="1"] [data-reticle-settings-panel]{
|
|
827
827
|
transition-duration:.01ms !important;}
|
|
828
|
-
[${
|
|
829
|
-
[${
|
|
830
|
-
[${
|
|
831
|
-
[${
|
|
828
|
+
[${ce}][${Jr}="1"] .reticle-fab-pulse,
|
|
829
|
+
[${ce}][${Jr}="1"] .reticle-act-dot,
|
|
830
|
+
[${ce}][${Jr}="1"] [data-bump="1"]{animation:none !important;}
|
|
831
|
+
[${F}]{
|
|
832
832
|
/* Centre the toolbar in the pill. The toolbar is 32px inside a 36px content box and, as a plain
|
|
833
833
|
block child, sat flush against padding-top - every icon rode 2px high in a rounded bar, which
|
|
834
834
|
is exactly the offset the eye picks up on a pill. */
|
|
835
835
|
position:relative;box-sizing:border-box;pointer-events:auto;flex:none;
|
|
836
836
|
display:flex;align-items:center;
|
|
837
837
|
width:44px;height:44px;min-height:44px;max-height:44px;overflow:visible;
|
|
838
|
-
background:${
|
|
838
|
+
background:${dT};
|
|
839
839
|
color:#fff;border:none;border-radius:22px;
|
|
840
840
|
box-shadow:0 2px 12px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.1);
|
|
841
841
|
contain:layout style;
|
|
842
842
|
transition:width .26s var(--reticle-shell-ease),border-radius .26s var(--reticle-shell-ease),
|
|
843
843
|
transform var(--reticle-shell-fast),opacity .18s ease;
|
|
844
844
|
will-change:width,border-radius,transform;}
|
|
845
|
-
[${
|
|
845
|
+
[${ce}][${Me}="0"] [${F}]{
|
|
846
846
|
box-shadow:0 4px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.12);}
|
|
847
|
-
[${
|
|
847
|
+
[${F}] .reticle-hud-deco{
|
|
848
848
|
position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
|
|
849
849
|
opacity:0;visibility:hidden;}
|
|
850
|
-
[${
|
|
850
|
+
[${ce}][${Me}="0"] [${F}] .reticle-hud-deco{
|
|
851
851
|
opacity:1;visibility:visible;}
|
|
852
|
-
[${
|
|
853
|
-
[${
|
|
852
|
+
[${F}][data-on="0"]{opacity:0;transform:scale(.8);pointer-events:none;}
|
|
853
|
+
[${F}][data-on="1"]{opacity:1;transform:scale(1);}
|
|
854
854
|
/* The expanded HUD IS the shared column width; the toolbar fills its content box. Sizing the
|
|
855
855
|
toolbar to the dock width instead pushed it past the HUD's padding, and the last button - Exit -
|
|
856
856
|
rendered outside the rounded box it belongs to. */
|
|
857
|
-
[${
|
|
857
|
+
[${ce}][${Me}="0"] [${F}]{
|
|
858
858
|
width:min(calc(100vw - 24px),var(--reticle-dock-w));height:44px;min-height:44px;max-height:44px;
|
|
859
859
|
min-width:44px;border-radius:24px;padding:4px 6px;}
|
|
860
|
-
[${
|
|
860
|
+
[${F}] .reticle-fab{
|
|
861
861
|
position:absolute;inset:0;z-index:2;display:inline-flex;align-items:center;justify-content:center;
|
|
862
862
|
width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;cursor:pointer;
|
|
863
863
|
background:transparent;color:var(--reticle-fg);line-height:0;
|
|
@@ -867,116 +867,116 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
867
867
|
* waiting or done. It carries the state colour as a halo: breathing while the agent drives, a
|
|
868
868
|
* steady soft ring while idle, and a flat dim ring once the session has ended.
|
|
869
869
|
*/
|
|
870
|
-
[${
|
|
870
|
+
[${ce}][${Me}="1"] [${F}] .reticle-fab{
|
|
871
871
|
cursor:grab;touch-action:none;user-select:none;
|
|
872
872
|
box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 55%,transparent),
|
|
873
873
|
0 0 14px -2px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
874
|
-
[${
|
|
874
|
+
[${ce}][${Me}="1"][${Iu}="active"] [${F}] .reticle-fab{
|
|
875
875
|
animation:reticle-fab-breathe 1.6s ease-in-out infinite;}
|
|
876
|
-
[${
|
|
876
|
+
[${ce}][${Me}="1"][${Nr}="ended"] [${F}] .reticle-fab{
|
|
877
877
|
animation:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 40%,transparent);}
|
|
878
878
|
@keyframes reticle-fab-breathe{
|
|
879
879
|
0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--reticle-state) 70%,transparent),
|
|
880
880
|
0 0 16px -2px color-mix(in srgb,var(--reticle-state) 55%,transparent)}
|
|
881
881
|
50%{box-shadow:0 0 0 2px var(--reticle-state),
|
|
882
882
|
0 0 28px 2px color-mix(in srgb,var(--reticle-state) 70%,transparent)}}
|
|
883
|
-
[${
|
|
884
|
-
[${
|
|
883
|
+
[${ce}][${Jr}="1"] [${F}] .reticle-fab{animation:none;}
|
|
884
|
+
[${ce}][${Me}="1"] [${F}] .reticle-fab.reticle-drag-handle--dragging{
|
|
885
885
|
cursor:grabbing;}
|
|
886
|
-
[${
|
|
887
|
-
[${
|
|
888
|
-
[${
|
|
889
|
-
[${
|
|
890
|
-
[${
|
|
886
|
+
[${F}] .reticle-fab-mark{height:22px;width:auto;pointer-events:none;}
|
|
887
|
+
[${F}] .reticle-fab:hover{background:rgba(255,255,255,.08);}
|
|
888
|
+
[${F}] .reticle-fab:active{transform:scale(.95);}
|
|
889
|
+
[${F}] .reticle-fab:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 75%,transparent);outline-offset:2px;}
|
|
890
|
+
[${F}] .reticle-fab-pulse{
|
|
891
891
|
position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;
|
|
892
892
|
background:var(--reticle-accent);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;}
|
|
893
|
-
[${
|
|
894
|
-
[${
|
|
893
|
+
[${F}] .reticle-fab[data-pulse="1"] .reticle-fab-pulse{opacity:1;transform:scale(1);}
|
|
894
|
+
[${F}] .reticle-fab-badge{
|
|
895
895
|
position:absolute;top:-13px;right:-13px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
|
|
896
896
|
background:var(--reticle-accent);color:#fff;font-size:10px;font-weight:600;
|
|
897
897
|
display:flex;align-items:center;justify-content:center;pointer-events:none;
|
|
898
898
|
box-shadow:0 1px 3px rgba(0,0,0,.15);}
|
|
899
|
-
[${
|
|
900
|
-
[${
|
|
899
|
+
[${F}] .reticle-fab-badge[hidden]{display:none;}
|
|
900
|
+
[${ce}][${Me}="0"] [${F}] .reticle-fab{
|
|
901
901
|
opacity:0;pointer-events:none;visibility:hidden;}
|
|
902
902
|
/* The toolbar is the third element in the same column, so it carries the same width as the chat
|
|
903
903
|
and the capsule above it and spreads its groups across it, rather than hugging its icons. */
|
|
904
|
-
[${
|
|
904
|
+
[${F}] .reticle-toolbar{
|
|
905
905
|
position:relative;z-index:1;display:none;align-items:center;justify-content:space-between;
|
|
906
906
|
box-sizing:border-box;width:100%;
|
|
907
907
|
gap:4px;height:32px;padding:0 2px;
|
|
908
908
|
overflow:visible;opacity:0;transform:scale(.94);pointer-events:none;
|
|
909
909
|
transition:opacity .2s var(--reticle-shell-ease),transform .18s var(--reticle-shell-ease);}
|
|
910
|
-
[${
|
|
910
|
+
[${ce}][${Me}="0"] [${F}] .reticle-toolbar{
|
|
911
911
|
display:flex;opacity:1;transform:scale(1);pointer-events:auto;}
|
|
912
912
|
/* The HUD block is transformed, which makes it a stacking context at level 0 inside the dock, so a
|
|
913
913
|
tooltip's z-index only ranked it within the block and it drew behind the chat and settings panels,
|
|
914
914
|
its siblings. Lift the block while a tooltip can show. */
|
|
915
|
-
[${
|
|
916
|
-
[${
|
|
917
|
-
[${
|
|
918
|
-
[${
|
|
915
|
+
[${F}]:hover,[${F}]:focus-within{z-index:${String(lT)};}
|
|
916
|
+
[${F}] .reticle-toolbar-drag{cursor:grab;touch-action:none;user-select:none;}
|
|
917
|
+
[${F}] .reticle-toolbar-drag.reticle-drag-handle--dragging{cursor:grabbing;}
|
|
918
|
+
[${F}] .reticle-toolbar-actions{
|
|
919
919
|
display:inline-flex;align-items:center;gap:2px;flex:none;
|
|
920
920
|
padding:2px;border-radius:999px;background:rgba(0,0,0,.2);}
|
|
921
|
-
[${
|
|
922
|
-
[${
|
|
921
|
+
[${F}] .reticle-toolbar-chrome{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:var(--reticle-hud-space-1);flex:1;min-width:0;}
|
|
922
|
+
[${F}] .reticle-tb-sep{width:1px;height:14px;background:rgba(255,255,255,.12);margin:0 4px;flex:none;align-self:center;}
|
|
923
923
|
|
|
924
|
-
[${
|
|
925
|
-
[${
|
|
924
|
+
[${F}] .reticle-tb-wrap{position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;}
|
|
925
|
+
[${F}] .reticle-tb-btn{
|
|
926
926
|
flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
927
927
|
width:var(--reticle-hud-control-size);height:var(--reticle-hud-control-size);padding:0;border:none;border-radius:var(--reticle-hud-radius-pill);cursor:pointer;
|
|
928
928
|
background:transparent;color:rgba(255,255,255,.85);line-height:0;
|
|
929
929
|
transition:background-color .15s ease,color .15s ease,transform .1s ease,opacity .2s ease;}
|
|
930
|
-
[${
|
|
931
|
-
[${
|
|
932
|
-
[${
|
|
933
|
-
[${
|
|
934
|
-
[${
|
|
930
|
+
[${F}] .reticle-tb-btn:hover{background:rgba(255,255,255,.12);color:#fff;}
|
|
931
|
+
[${F}] .reticle-tb-btn:active{transform:scale(.92);}
|
|
932
|
+
[${F}] .reticle-tb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--reticle-accent) 65%,transparent);outline-offset:1px;}
|
|
933
|
+
[${F}] .reticle-tb-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;}
|
|
934
|
+
[${F}] .reticle-tb-btn[data-active="1"]{color:var(--reticle-accent);
|
|
935
935
|
background:color-mix(in srgb, var(--reticle-accent) 25%, transparent);}
|
|
936
|
-
[${
|
|
936
|
+
[${F}] .reticle-tb-btn--toggle[data-active="1"]{
|
|
937
937
|
color:var(--reticle-accent);background:transparent;}
|
|
938
|
-
[${
|
|
939
|
-
[${
|
|
938
|
+
[${F}] .reticle-tb-btn--toggle[data-active="1"]:hover{background:rgba(255,255,255,.06);color:var(--reticle-accent);}
|
|
939
|
+
[${F}] .reticle-hi-toggle{
|
|
940
940
|
position:relative;display:inline-flex;align-items:center;justify-content:center;
|
|
941
941
|
width:18px;height:18px;line-height:0;flex:none;}
|
|
942
|
-
[${
|
|
942
|
+
[${F}] .reticle-hi-toggle .reticle-hi-icon{
|
|
943
943
|
position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;
|
|
944
944
|
transition:opacity .14s ease;}
|
|
945
|
-
[${
|
|
946
|
-
[${
|
|
945
|
+
[${F}] .reticle-hi-toggle .reticle-hi-icon--solid{opacity:0;}
|
|
946
|
+
[${F}] .reticle-hi-toggle .reticle-hi-icon--solid svg{
|
|
947
947
|
transform:scale(1.12);transform-origin:center;}
|
|
948
948
|
/*
|
|
949
949
|
* Active toggles keep the OUTLINE icon. The solid heroicon is a filled glyph next to 1.5px strokes
|
|
950
950
|
* everywhere else, so a pressed button reads as a heavier typeface rather than as a state. Accent
|
|
951
951
|
* colour and the background above already carry the state without changing the icon's weight.
|
|
952
952
|
*/
|
|
953
|
-
[${
|
|
954
|
-
[${
|
|
955
|
-
[${
|
|
956
|
-
[${
|
|
953
|
+
[${F}] .reticle-tb-btn--toggle[data-active="1"] .reticle-hi-icon--outline{opacity:1;}
|
|
954
|
+
[${F}] .reticle-tb-btn--toggle .reticle-hi-icon--solid{opacity:0;}
|
|
955
|
+
[${F}] .reticle-tb-btn--toggle .reticle-hi-icon--solid svg{color:inherit;}
|
|
956
|
+
[${F}] .reticle-tb-btn--primary[data-active="1"]{
|
|
957
957
|
color:#fff;background:rgba(255,255,255,.14);}
|
|
958
|
-
[${
|
|
958
|
+
[${F}] .reticle-tb-btn[data-danger]:hover:not(:disabled){color:#ff383c;
|
|
959
959
|
background:color-mix(in srgb, #ff383c 25%, transparent);}
|
|
960
|
-
[${
|
|
960
|
+
[${F}] .reticle-tb-tip{
|
|
961
961
|
position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) scale(.95);
|
|
962
962
|
padding:6px 10px;background:#1a1a1a;color:rgba(255,255,255,.9);font-size:12px;font-weight:500;
|
|
963
|
-
border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:${String(
|
|
963
|
+
border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:${String(lT)};
|
|
964
964
|
box-shadow:0 2px 8px rgba(0,0,0,.3);transition:opacity .135s ease,transform .135s ease,visibility .135s;}
|
|
965
|
-
[${
|
|
965
|
+
[${F}] .reticle-tb-tip::after{
|
|
966
966
|
content:"";position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%) rotate(45deg);
|
|
967
967
|
width:8px;height:8px;background:#1a1a1a;border-radius:0 0 2px 0;}
|
|
968
|
-
[${
|
|
968
|
+
[${F}] .reticle-tb-wrap:hover .reticle-tb-tip{
|
|
969
969
|
opacity:1;visibility:visible;transform:translateX(-50%) scale(1);transition-delay:.3s;}
|
|
970
|
-
[${
|
|
971
|
-
[${
|
|
972
|
-
[${
|
|
973
|
-
[${
|
|
970
|
+
[${F}] .reticle-tb-wrap:has(.reticle-tb-btn:disabled):hover .reticle-tb-tip{opacity:0;visibility:hidden;}
|
|
971
|
+
[${F}] .reticle-tb-wrap--pause:hover .reticle-pause-badge{opacity:0;}
|
|
972
|
+
[${F}] .reticle-tb-kbd{margin-left:4px;opacity:.5;}
|
|
973
|
+
[${F}] .reticle-pause-badge{
|
|
974
974
|
display:none;position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);
|
|
975
975
|
align-items:center;flex:none;font-weight:600;letter-spacing:.08em;font-size:7px;
|
|
976
976
|
color:var(--reticle-fg);border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.55);
|
|
977
977
|
padding:2px 6px;border-radius:999px;white-space:nowrap;pointer-events:none;z-index:2;
|
|
978
978
|
transition:opacity .12s ease;}
|
|
979
|
-
[${
|
|
979
|
+
[${ce}][${Nr}="paused"] [data-reticle-badge]{display:inline-flex;}
|
|
980
980
|
/**
|
|
981
981
|
* The mode, ON the status row rather than under it.
|
|
982
982
|
*
|
|
@@ -984,46 +984,46 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
984
984
|
* from the elided action text. Nothing above or below moves: growing and shrinking by the height of
|
|
985
985
|
* this pill on every tool call makes one status line look like a second UI appearing and leaving.
|
|
986
986
|
*/
|
|
987
|
-
[${
|
|
987
|
+
[${M}] .reticle-chip{display:none;flex:none;align-items:center;gap:4px;font-size:8px;font-weight:600;letter-spacing:.06em;
|
|
988
988
|
height:16px;padding:0 7px;line-height:1;border-radius:999px;text-transform:uppercase;
|
|
989
989
|
background:rgba(255,255,255,.06);opacity:0;transition:opacity .12s ease;}
|
|
990
|
-
[${
|
|
991
|
-
[${
|
|
992
|
-
[${
|
|
993
|
-
[${
|
|
994
|
-
[${
|
|
995
|
-
[${
|
|
996
|
-
[${
|
|
990
|
+
[${M}] .reticle-chip[data-mode="reading"],
|
|
991
|
+
[${M}] .reticle-chip[data-mode="acting"]{opacity:1;}
|
|
992
|
+
[${M}] .reticle-chip[data-mode="reading"],
|
|
993
|
+
[${M}] .reticle-chip[data-mode="acting"]{display:inline-flex;color:var(--reticle-fg);}
|
|
994
|
+
[${M}] .reticle-tally[hidden]{display:none;}
|
|
995
|
+
[${M}] .reticle-tally{align-self:center;flex:none;}
|
|
996
|
+
[${M}] .reticle-pill-group{
|
|
997
997
|
display:inline-flex;align-items:stretch;flex:none;border-radius:999px;overflow:hidden;
|
|
998
998
|
background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}
|
|
999
|
-
[${
|
|
999
|
+
[${M}] .reticle-pill-segment{
|
|
1000
1000
|
display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;
|
|
1001
1001
|
font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--reticle-fg);}
|
|
1002
|
-
[${
|
|
1003
|
-
[${
|
|
1004
|
-
[${
|
|
1005
|
-
[${
|
|
1006
|
-
[${
|
|
1007
|
-
[${
|
|
1002
|
+
[${M}] .reticle-pill-segment[data-z="1"]{opacity:.4;}
|
|
1003
|
+
[${M}] .reticle-t-pass.reticle-pill-segment{background:rgba(34,197,94,.14);color:#bbf7d0;}
|
|
1004
|
+
[${M}] .reticle-t-fail.reticle-pill-segment{background:rgba(239,68,68,.14);color:#fecaca;}
|
|
1005
|
+
[${M}] .reticle-pill-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.12);flex:none;margin:0;}
|
|
1006
|
+
[${M}] .reticle-pill-count{min-width:1ch;}
|
|
1007
|
+
[${M}] .reticle-tally .reticle-hi-icon{opacity:.92;}
|
|
1008
1008
|
@keyframes reticle-tally-pop{0%{transform:scale(1)}38%{transform:scale(1.3)}100%{transform:scale(1)}}
|
|
1009
|
-
[${
|
|
1010
|
-
[${
|
|
1011
|
-
[${
|
|
1012
|
-
[${
|
|
1013
|
-
[${
|
|
1009
|
+
[${M}] .reticle-tally [data-bump="1"]{display:inline-flex;animation:reticle-tally-pop .36s cubic-bezier(.16,1,.3,1);}
|
|
1010
|
+
[${F}] .reticle-hi-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;}
|
|
1011
|
+
[${F}] .reticle-hi-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
|
|
1012
|
+
[${F}] .reticle-live{display:none;}
|
|
1013
|
+
[${ee}] .reticle-act-strip{flex:none;display:flex;align-items:center;gap:7px;min-height:36px;box-sizing:border-box;padding:4px 12px;
|
|
1014
1014
|
border-bottom:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.22);}
|
|
1015
|
-
[${
|
|
1015
|
+
[${ee}] .reticle-act-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--reticle-faint);
|
|
1016
1016
|
box-shadow:0 0 0 2px rgba(255,255,255,.04);transition:background .2s,box-shadow .2s;}
|
|
1017
1017
|
/**
|
|
1018
1018
|
* The status dot carries the session state in COLOUR, not only in the word next to it - and in the
|
|
1019
1019
|
* user's own colour for that state, so it reads against their app rather than ours.
|
|
1020
1020
|
*/
|
|
1021
|
-
[${
|
|
1022
|
-
[${
|
|
1021
|
+
[${ee}] .reticle-act-strip[data-liveness="active"] .reticle-act-dot,
|
|
1022
|
+
[${ee}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
1023
1023
|
background:var(--reticle-state);
|
|
1024
1024
|
box-shadow:0 0 0 2px color-mix(in srgb,var(--reticle-state) 18%,transparent),
|
|
1025
1025
|
0 0 8px color-mix(in srgb,var(--reticle-state) 45%,transparent);}
|
|
1026
|
-
[${
|
|
1026
|
+
[${ee}] .reticle-act-strip[data-liveness="idle"] .reticle-act-dot{
|
|
1027
1027
|
animation:reticle-idle-pulse 2.4s ease-in-out infinite;}
|
|
1028
1028
|
/**
|
|
1029
1029
|
* Unreachable: present, and plainly not working.
|
|
@@ -1031,26 +1031,26 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1031
1031
|
* Muted rather than alarming. Nothing is broken in the user's app \u2014 Reticle simply has nobody to
|
|
1032
1032
|
* talk to \u2014 and a dev overlay that shouts about its own plumbing is one the user turns off.
|
|
1033
1033
|
*/
|
|
1034
|
-
[${
|
|
1035
|
-
[${
|
|
1034
|
+
[${ce}][${Nr}="unreachable"]{--reticle-state:var(--reticle-faint);}
|
|
1035
|
+
[${ce}][${Nr}="unreachable"] [${ee}] .reticle-act-dot{animation:none;}
|
|
1036
1036
|
/* The one status that is a sentence to act on: two lines, full contrast, the detail on hover. */
|
|
1037
|
-
[${
|
|
1038
|
-
[${
|
|
1039
|
-
[${
|
|
1037
|
+
[${ce}][${Nr}="unreachable"] [${ee}] .reticle-act{white-space:normal;line-height:1.35;color:var(--reticle-fg);cursor:help;}
|
|
1038
|
+
[${ce}][${Nr}="paused"] [${ee}] .reticle-act-dot,
|
|
1039
|
+
[${ce}][${Nr}="ended"] [${ee}] .reticle-act-dot{animation:none;}
|
|
1040
1040
|
@keyframes reticle-idle-pulse{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
|
|
1041
|
-
[${
|
|
1041
|
+
[${ee}] .reticle-act{display:block;flex:1;min-width:0;color:var(--reticle-muted);font-size:11px;
|
|
1042
1042
|
font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
|
|
1043
|
-
[${
|
|
1044
|
-
[${
|
|
1043
|
+
[${ee}] .reticle-act-actions{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto;}
|
|
1044
|
+
[${ee}] .reticle-status-btn{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
|
|
1045
1045
|
border:1px solid var(--reticle-line);border-radius:var(--reticle-hud-radius-sm);background:transparent;color:var(--reticle-muted);cursor:pointer;}
|
|
1046
|
-
[${
|
|
1047
|
-
[${
|
|
1048
|
-
[${
|
|
1049
|
-
[${
|
|
1050
|
-
[${
|
|
1051
|
-
[${
|
|
1052
|
-
[${
|
|
1053
|
-
[${
|
|
1046
|
+
[${ee}] .reticle-status-btn[hidden]{display:none;}
|
|
1047
|
+
[${ee}] .reticle-status-btn:hover:not(:disabled){background:var(--reticle-hud-hover);color:var(--reticle-fg);}
|
|
1048
|
+
[${ee}] .reticle-status-btn:focus-visible{outline:2px solid var(--reticle-accent);outline-offset:2px;}
|
|
1049
|
+
[${ee}] .reticle-status-btn:disabled{opacity:.35;cursor:not-allowed;}
|
|
1050
|
+
[${ee}] .reticle-status-stop:hover:not(:disabled){color:var(--reticle-state);border-color:var(--reticle-state);}
|
|
1051
|
+
[${ee}] .reticle-act-actions .reticle-pause-badge{display:none;position:static;transform:none;padding:2px 5px;font-size:8px;}
|
|
1052
|
+
[${ee}] .reticle-act-strip[data-liveness="active"] .reticle-act{color:var(--reticle-fg);}
|
|
1053
|
+
[${F}] .reticle-pass{color:var(--reticle-ok);}[${F}] .reticle-fail{color:var(--reticle-bad);}
|
|
1054
1054
|
/**
|
|
1055
1055
|
* Paused and ended keep the STATE colour rather than washing out to grey.
|
|
1056
1056
|
*
|
|
@@ -1060,19 +1060,19 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1060
1060
|
* the theme's own paused/ended colour now, so "which state am I in" is answered by the same hue
|
|
1061
1061
|
* everywhere: the dot, the glow, the FAB halo, and the toolbar.
|
|
1062
1062
|
*/
|
|
1063
|
-
[${
|
|
1064
|
-
[${
|
|
1065
|
-
[${
|
|
1063
|
+
[${ce}][${Nr}="paused"] [${F}],
|
|
1064
|
+
[${ce}][${Nr}="ended"] [${F}],
|
|
1065
|
+
[${ce}][${cS}="waiting"] [${F}]{
|
|
1066
1066
|
--reticle-accent:var(--reticle-state);
|
|
1067
1067
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
1068
|
-
[${
|
|
1069
|
-
[${
|
|
1068
|
+
[${ce}][${cS}="ask"] [${F}],
|
|
1069
|
+
[${ce}][${cS}="warn"] [${F}]{
|
|
1070
1070
|
--reticle-accent:var(--reticle-state);
|
|
1071
1071
|
--reticle-accent-soft:color-mix(in srgb,var(--reticle-state) 18%,transparent);}
|
|
1072
1072
|
@media (max-width:480px){
|
|
1073
|
-
[${
|
|
1074
|
-
[${
|
|
1075
|
-
}`});var
|
|
1073
|
+
[${ee}]{width:min(100vw - 24px,320px);max-height:min(440px,calc(100vh - 100px));}
|
|
1074
|
+
[${ce}][${Me}="0"] [${F}]{max-width:calc(100vw - 24px);}
|
|
1075
|
+
}`});var cL,lL,dL,uL=S(()=>{"use strict";Ar();cL=20,lL=28,dL=`
|
|
1076
1076
|
/* The control establishes its own stacking context, and a high one.
|
|
1077
1077
|
Its menu is absolutely positioned inside a panel whose other children (the log well, the act strip)
|
|
1078
1078
|
are themselves positioned with their own z-index, so a z-index on the MENU alone was being compared
|
|
@@ -1090,11 +1090,11 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1090
1090
|
.reticle-account{position:relative;z-index:9;display:inline-flex;align-items:center;gap:6px;flex:none;}
|
|
1091
1091
|
.reticle-account-avatar{
|
|
1092
1092
|
display:inline-flex;align-items:center;justify-content:center;
|
|
1093
|
-
width:${String(
|
|
1093
|
+
width:${String(cL)}px;height:${String(cL)}px;border-radius:999px;
|
|
1094
1094
|
font-size:9px;font-weight:600;letter-spacing:.02em;
|
|
1095
1095
|
background:rgba(255,255,255,.12);color:rgba(255,255,255,.92);user-select:none;}
|
|
1096
1096
|
.reticle-account-avatar--lg{
|
|
1097
|
-
width:${String(
|
|
1097
|
+
width:${String(lL)}px;height:${String(lL)}px;font-size:11px;}
|
|
1098
1098
|
|
|
1099
1099
|
/* The trigger is the avatar plus a hit area, never a second visual element: an avatar that looks
|
|
1100
1100
|
like a button reads as an action, and this one opens a menu about a state. */
|
|
@@ -1124,8 +1124,8 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1124
1124
|
/* The HUD's own surface tokens, not a colour invented here. A menu with its own near-black is a
|
|
1125
1125
|
second design language in the same panel, and a translucent one lets the panel's empty-state text
|
|
1126
1126
|
read straight through the rows -- which is what the first version did. */
|
|
1127
|
-
${
|
|
1128
|
-
box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${
|
|
1127
|
+
${Cu}
|
|
1128
|
+
box-shadow:inset 0 1px 0 rgba(255,255,255,.09),${xr};
|
|
1129
1129
|
font-size:11px;color:rgba(255,255,255,.78);text-align:left;}
|
|
1130
1130
|
.reticle-account-menu[hidden]{display:none;}
|
|
1131
1131
|
|
|
@@ -1167,8 +1167,8 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1167
1167
|
display:inline-flex;align-items:center;justify-content:center;
|
|
1168
1168
|
border:none;background:transparent;color:rgba(255,255,255,.6);cursor:pointer;line-height:0;padding:2px;}
|
|
1169
1169
|
.reticle-account-dashboard:hover{color:#fff;}
|
|
1170
|
-
`});var
|
|
1171
|
-
[${
|
|
1170
|
+
`});var m4,pL,fL=S(()=>{"use strict";Ar();Et();m4="data-reticle-overlay",pL=`
|
|
1171
|
+
[${$}]{
|
|
1172
1172
|
position:absolute;right:0;left:auto;bottom:calc(100% + 12px);z-index:31;
|
|
1173
1173
|
box-sizing:border-box;display:flex;flex-direction:column;width:var(--reticle-dock-w);
|
|
1174
1174
|
max-width:min(var(--reticle-dock-w),calc(100vw - 16px));max-height:calc(100vh - 140px);
|
|
@@ -1177,101 +1177,84 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1177
1177
|
background:
|
|
1178
1178
|
radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--reticle-c-active) 18%,transparent),transparent 62%),
|
|
1179
1179
|
linear-gradient(180deg,rgba(13,15,22,.96),rgba(19,22,32,.94));
|
|
1180
|
-
box-shadow:${
|
|
1180
|
+
box-shadow:${xr},0 0 54px -18px var(--reticle-c-active);
|
|
1181
1181
|
color:var(--reticle-fg);font-family:var(--reticle-font);
|
|
1182
1182
|
transition:opacity .18s ease,transform .18s ease,visibility .18s;}
|
|
1183
|
-
[${
|
|
1184
|
-
[${
|
|
1183
|
+
[${M}][${Ht}="start"] [${$}]{right:auto;left:0;}
|
|
1184
|
+
[${m4}][${gn}="1"] [${$}]{
|
|
1185
1185
|
opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);pointer-events:auto;}
|
|
1186
|
-
[${
|
|
1186
|
+
[${$}] .reticle-report-inner{
|
|
1187
1187
|
display:flex;flex-direction:column;min-height:0;overflow:hidden;}
|
|
1188
|
-
[${
|
|
1188
|
+
[${$}] .reticle-report-head{
|
|
1189
1189
|
flex:none;display:flex;align-items:center;gap:8px;padding:11px 12px 9px 14px;
|
|
1190
1190
|
border-bottom:1px solid rgba(255,255,255,.06);}
|
|
1191
|
-
[${
|
|
1192
|
-
[${
|
|
1191
|
+
[${$}] .reticle-report-title{font-size:12.5px;font-weight:600;}
|
|
1192
|
+
[${$}] .reticle-report-scope{
|
|
1193
1193
|
margin-left:auto;padding:3px 9px;border-radius:999px;cursor:pointer;
|
|
1194
1194
|
border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
|
|
1195
1195
|
color:var(--reticle-muted);font:inherit;font-size:11px;}
|
|
1196
|
-
[${
|
|
1197
|
-
[${
|
|
1196
|
+
[${$}] .reticle-report-scope:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
|
|
1197
|
+
[${$}] .reticle-report-close{
|
|
1198
1198
|
flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
|
|
1199
1199
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;}
|
|
1200
|
-
[${
|
|
1201
|
-
[${
|
|
1200
|
+
[${$}] .reticle-report-close svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6;}
|
|
1201
|
+
[${$}] .reticle-report-body{
|
|
1202
1202
|
flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 6px;
|
|
1203
1203
|
scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;}
|
|
1204
|
-
[${
|
|
1204
|
+
[${$}] .reticle-report-empty{
|
|
1205
1205
|
margin:0;padding:22px 6px;text-align:center;color:var(--reticle-faint);font-size:12px;}
|
|
1206
1206
|
/* The streak sits above the hero, as a flame and a number: it is the one stat that is about
|
|
1207
1207
|
TODAY, so it reads first and never competes with the count it sits over. */
|
|
1208
|
-
[${
|
|
1208
|
+
[${$}] .reticle-report-streak{
|
|
1209
1209
|
display:inline-flex;align-items:baseline;gap:5px;margin-bottom:8px;padding:3px 9px;
|
|
1210
1210
|
border-radius:999px;background:rgba(255,255,255,.05);
|
|
1211
1211
|
border:1px solid color-mix(in srgb,var(--reticle-c-active) 22%,transparent);
|
|
1212
1212
|
font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
1213
|
-
[${
|
|
1213
|
+
[${$}] .reticle-report-streak-label{
|
|
1214
1214
|
color:var(--reticle-faint);font-size:11px;font-weight:400;}
|
|
1215
|
-
[${
|
|
1216
|
-
[${
|
|
1215
|
+
[${$}] .reticle-report-hero{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;}
|
|
1216
|
+
[${$}] .reticle-report-hero-value{
|
|
1217
1217
|
font-size:34px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--reticle-c-active);}
|
|
1218
|
-
[${
|
|
1219
|
-
[${
|
|
1220
|
-
[${
|
|
1221
|
-
[${
|
|
1222
|
-
[${
|
|
1223
|
-
[${
|
|
1224
|
-
[${
|
|
1225
|
-
[${
|
|
1226
|
-
[${w}] .reticle-report-instrumentation-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
|
|
1227
|
-
[${w}] .reticle-report-instrumentation-head .reticle-report-section{margin-bottom:0;}
|
|
1228
|
-
[${w}] .reticle-report-instrumentation-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--reticle-hud-text);}
|
|
1229
|
-
[${w}] .reticle-report-caps{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:8px 0 0;padding:0;list-style:none;}
|
|
1230
|
-
[${w}] .reticle-report-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0;font-size:11px;line-height:1.4;color:var(--reticle-muted);}
|
|
1231
|
-
[${w}] .reticle-report-cap-mark{flex:none;width:10px;text-align:center;}
|
|
1232
|
-
[${w}] .reticle-report-cap-name{flex:1;min-width:0;}
|
|
1233
|
-
[${w}] .reticle-report-cap[data-state="seen"] .reticle-report-cap-mark{color:#86efac;}
|
|
1234
|
-
[${w}] .reticle-report-cap[data-state="missing"]{grid-column:1/-1;color:var(--reticle-hud-text);}
|
|
1235
|
-
[${w}] .reticle-report-cap[data-state="missing"] .reticle-report-cap-mark{color:#fca5a5;}
|
|
1236
|
-
[${w}] .reticle-report-cap[data-state="unseen"]{color:var(--reticle-faint);}
|
|
1237
|
-
[${w}] .reticle-report-cap-cost{flex-basis:100%;padding-left:16px;color:var(--reticle-faint);}
|
|
1238
|
-
[${w}] .reticle-report-caps-note{display:block;margin-top:6px;color:var(--reticle-faint);font-size:11px;}
|
|
1239
|
-
[${w}] .reticle-report-copy-prompt{display:block;width:100%;margin-top:10px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 50%,transparent);
|
|
1240
|
-
border-radius:var(--reticle-hud-radius-sm);background:var(--reticle-hud-brand-soft);color:var(--reticle-hud-brand);font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
|
|
1241
|
-
[${w}] .reticle-report-copy-prompt:hover{filter:brightness(1.15);}
|
|
1242
|
-
[${w}] .reticle-report-verdict{
|
|
1218
|
+
[${$}] .reticle-report-hero-label{color:var(--reticle-muted);font-size:12px;}
|
|
1219
|
+
[${$}] .reticle-report-verdicts{display:flex;gap:6px;margin-bottom:12px;}
|
|
1220
|
+
[${$}] .reticle-sync-status{font-size:11px;color:var(--reticle-faint);font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1221
|
+
[${$}] .reticle-sync-status[data-reticle-sync-status="refused"]{color:var(--reticle-c-error,#f87171);}
|
|
1222
|
+
[${$}] .reticle-report-coverage{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--reticle-hud-border);border-radius:var(--reticle-hud-radius-sm,8px);}
|
|
1223
|
+
[${$}] .reticle-report-coverage-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--reticle-hud-text);}
|
|
1224
|
+
[${$}] .reticle-report-coverage-levels{display:flex;flex-wrap:wrap;gap:4px 10px;width:100%;font-size:11px;color:var(--reticle-faint);font-variant-numeric:tabular-nums;}
|
|
1225
|
+
[${$}] .reticle-report-verdict{
|
|
1243
1226
|
flex:1;padding:5px 8px;border-radius:8px;font-size:11px;text-align:center;
|
|
1244
1227
|
background:rgba(255,255,255,.05);color:var(--reticle-muted);}
|
|
1245
|
-
[${
|
|
1246
|
-
[${
|
|
1247
|
-
[${
|
|
1228
|
+
[${$}] .reticle-report-verdict[data-kind="fail"]{color:#fca5a5;}
|
|
1229
|
+
[${$}] .reticle-report-verdict[data-kind="unknown"]{color:#fcd34d;}
|
|
1230
|
+
[${$}] .reticle-report-grid{
|
|
1248
1231
|
display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
|
|
1249
|
-
[${
|
|
1232
|
+
[${$}] .reticle-report-card{
|
|
1250
1233
|
display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:10px;
|
|
1251
1234
|
background:rgba(255,255,255,.04);}
|
|
1252
|
-
[${
|
|
1253
|
-
[${
|
|
1235
|
+
[${$}] .reticle-report-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
|
|
1236
|
+
[${$}] .reticle-report-label{color:var(--reticle-faint);font-size:11px;line-height:1.3;}
|
|
1254
1237
|
/* An estimate is labelled as one, and its label carries what it is measured against. */
|
|
1255
|
-
[${
|
|
1238
|
+
[${$}] .reticle-report-basis{
|
|
1256
1239
|
display:block;margin-top:2px;color:var(--reticle-c-active);opacity:.8;
|
|
1257
1240
|
font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:help;}
|
|
1258
|
-
[${
|
|
1241
|
+
[${$}] .reticle-report-defects-wrap{margin-top:14px;}
|
|
1259
1242
|
/* The heading and its push control on one line, so the button reads as belonging to this section
|
|
1260
1243
|
rather than floating above the list. */
|
|
1261
|
-
[${
|
|
1244
|
+
[${$}] .reticle-report-defects-head{
|
|
1262
1245
|
display:flex;align-items:center;justify-content:space-between;gap:8px;}
|
|
1263
|
-
[${
|
|
1246
|
+
[${$}] .reticle-report-defects{
|
|
1264
1247
|
display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
|
|
1265
1248
|
/* A left rule rather than a card per row: ten cards in a 320px panel is a wall, and the rule keeps
|
|
1266
1249
|
the list scannable as a list \u2014 which is what a person is doing when they open this. */
|
|
1267
|
-
[${
|
|
1250
|
+
[${$}] .reticle-report-defect{
|
|
1268
1251
|
display:flex;flex-direction:column;gap:1px;padding:4px 0 4px 8px;
|
|
1269
1252
|
border-left:2px solid color-mix(in srgb,#f87171 70%,transparent);}
|
|
1270
|
-
[${
|
|
1253
|
+
[${$}] .reticle-report-defect-title{
|
|
1271
1254
|
font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1272
|
-
[${
|
|
1255
|
+
[${$}] .reticle-report-defect-detail{
|
|
1273
1256
|
color:var(--reticle-faint);font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
|
|
1274
|
-
[${
|
|
1257
|
+
[${$}] .reticle-report-defect-source{
|
|
1275
1258
|
color:var(--reticle-faint);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
|
|
1276
1259
|
overflow-wrap:anywhere;}
|
|
1277
1260
|
.reticle-report-defect-link{flex:none;display:inline-flex;align-items:center;justify-content:center;
|
|
@@ -1280,68 +1263,68 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1280
1263
|
.reticle-report-defect:hover .reticle-report-defect-link,
|
|
1281
1264
|
.reticle-report-defect-link:focus-visible{opacity:1;}
|
|
1282
1265
|
.reticle-report-defect-link:hover{color:var(--reticle-fg);background:rgba(255,255,255,.07);}
|
|
1283
|
-
[${
|
|
1266
|
+
[${$}] .reticle-report-defects-more{
|
|
1284
1267
|
display:inline-block;margin-top:8px;font-size:11px;color:var(--reticle-c-active);
|
|
1285
1268
|
text-decoration:none;}
|
|
1286
|
-
[${
|
|
1287
|
-
[${
|
|
1288
|
-
[${
|
|
1289
|
-
[${
|
|
1269
|
+
[${$}] .reticle-report-defects-more:hover{text-decoration:underline;}
|
|
1270
|
+
[${$}] .reticle-report-defects-all{display:inline-block;margin-top:8px;border:0;padding:0;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:500;color:var(--reticle-c-active);}
|
|
1271
|
+
[${$}] .reticle-report-defects-all:hover{text-decoration:underline;}
|
|
1272
|
+
[${$}] .reticle-report-local-only{
|
|
1290
1273
|
margin:14px 0 0;padding-top:10px;border-top:1px solid var(--reticle-line);
|
|
1291
1274
|
color:var(--reticle-faint);font-size:11px;line-height:1.45;}
|
|
1292
|
-
[${
|
|
1275
|
+
[${$}] .reticle-report-local-only code{
|
|
1293
1276
|
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--reticle-c-active);}
|
|
1294
|
-
[${
|
|
1295
|
-
[${
|
|
1277
|
+
[${$}] .reticle-report-chart-wrap{margin-top:12px;}
|
|
1278
|
+
[${$}] .reticle-report-section{
|
|
1296
1279
|
display:block;margin-bottom:6px;color:var(--reticle-faint);font-size:11px;
|
|
1297
1280
|
letter-spacing:.06em;text-transform:uppercase;}
|
|
1298
1281
|
/* Thirty fixed slots, not a flex row: one recorded day is one thin bar on a month's axis, and a
|
|
1299
1282
|
single stretched block would read as "a month of solid work" on the day you install it. */
|
|
1300
|
-
[${
|
|
1283
|
+
[${$}] .reticle-report-chart{
|
|
1301
1284
|
display:grid;grid-template-columns:repeat(30,1fr);align-items:end;gap:2px;height:44px;padding:0 1px;}
|
|
1302
|
-
[${
|
|
1285
|
+
[${$}] .reticle-report-bar{
|
|
1303
1286
|
min-width:2px;border-radius:2px 2px 0 0;
|
|
1304
1287
|
background:color-mix(in srgb,var(--reticle-c-active) 55%,transparent);}
|
|
1305
|
-
[${
|
|
1288
|
+
[${$}] .reticle-report-bar[data-hot="1"]{background:#f87171;}
|
|
1306
1289
|
/* Sharing is a quiet row under the record, never the loudest thing on the panel. */
|
|
1307
|
-
[${
|
|
1290
|
+
[${$}] .reticle-report-foot{
|
|
1308
1291
|
flex:none;display:flex;flex-wrap:nowrap;align-items:center;gap:2px;padding:6px 10px 2px 14px;
|
|
1309
1292
|
border-top:1px solid rgba(255,255,255,.06);}
|
|
1310
|
-
[${
|
|
1311
|
-
[${
|
|
1293
|
+
[${$}] .reticle-report-share-label{margin-right:4px;color:var(--reticle-faint);font-size:11px;}
|
|
1294
|
+
[${$}] .reticle-report-share{
|
|
1312
1295
|
flex:none;padding:3px 6px;border:0;border-radius:6px;cursor:pointer;font:inherit;font-size:11px;
|
|
1313
1296
|
background:transparent;color:var(--reticle-muted);white-space:nowrap;}
|
|
1314
|
-
[${
|
|
1315
|
-
[${
|
|
1316
|
-
[${
|
|
1297
|
+
[${$}] .reticle-report-share:hover{background:rgba(255,255,255,.08);color:var(--reticle-fg);}
|
|
1298
|
+
[${$}] .reticle-report-refer{margin-left:auto;color:var(--reticle-hud-brand);}
|
|
1299
|
+
[${$}] .reticle-report-links{
|
|
1317
1300
|
flex:none;display:flex;gap:12px;padding:2px 14px 10px;}
|
|
1318
|
-
[${
|
|
1301
|
+
[${$}] .reticle-report-links a{
|
|
1319
1302
|
color:var(--reticle-faint);font-size:11px;text-decoration:none;}
|
|
1320
|
-
[${
|
|
1303
|
+
[${$}] .reticle-report-links a:hover{color:var(--reticle-fg);text-decoration:underline;}
|
|
1321
1304
|
|
|
1322
1305
|
/* Who this record belongs to, and the push-now control. Tokens only \u2014 no literal colours. */
|
|
1323
|
-
[${
|
|
1306
|
+
[${$}] .reticle-report-identity{
|
|
1324
1307
|
display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 14px 0;min-height:0;}
|
|
1325
|
-
[${
|
|
1326
|
-
[${
|
|
1308
|
+
[${$}] .reticle-report-identity:empty{display:none;}
|
|
1309
|
+
[${$}] .reticle-sync-now{
|
|
1327
1310
|
display:inline-flex;align-items:center;justify-content:center;
|
|
1328
1311
|
border:none;background:transparent;color:var(--reticle-faint);cursor:pointer;line-height:0;padding:2px;}
|
|
1329
|
-
[${
|
|
1312
|
+
[${$}] .reticle-sync-now:hover{color:var(--reticle-fg);}
|
|
1330
1313
|
/* The one moment this control has an opinion: it says it is going, not that it has arrived. */
|
|
1331
|
-
[${
|
|
1314
|
+
[${$}] .reticle-sync-now[data-syncing="1"]{
|
|
1332
1315
|
color:var(--reticle-c-active);animation:reticle-sync-spin 900ms linear infinite;}
|
|
1333
1316
|
@keyframes reticle-sync-spin{to{transform:rotate(360deg);}}
|
|
1334
1317
|
@media (prefers-reduced-motion:reduce){
|
|
1335
|
-
[${
|
|
1336
|
-
`});var
|
|
1318
|
+
[${$}] .reticle-sync-now[data-syncing="1"]{animation:none;}}
|
|
1319
|
+
`});var hL,mL=S(()=>{"use strict";hL=`
|
|
1337
1320
|
.reticle-talk-title{display:block;font-weight:600;font-size:12px;padding-right:18px;}
|
|
1338
1321
|
.reticle-talk-body{margin:6px 0 8px;font-size:11px;line-height:1.45;opacity:.8;}
|
|
1339
1322
|
.reticle-talk-book{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--reticle-accent,#4f7cff);color:#fff;text-decoration:none;}
|
|
1340
|
-
`});function
|
|
1341
|
-
<button type="button" ${
|
|
1323
|
+
`});function dS(t){let e=lS.get(t);e!==void 0&&clearInterval(e),lS.delete(t)}function E4(){var t;try{return((t=globalThis.matchMedia)==null?void 0:t.call(globalThis,"(prefers-reduced-motion: reduce)").matches)===!0}catch{return!1}}function wm(t,e){t.setAttribute("data-active",String(e));let n=t.querySelectorAll(`[${rp}]`),r=t.querySelector(`[${_L}]`);r!==null&&(r.textContent=`${String(e+1)} / ${String(n.length)}`),n.forEach((o,s)=>{o.hidden=s!==e}),t.querySelectorAll(`[${Om}]`).forEach((o,s)=>{o.setAttribute("aria-current",String(s===e))})}function T4(t,e){if(t.length===0)return"";let n=b4(e,t.length),r=t.map((s,a)=>`<div ${rp}="${s.id}" class="reticle-carousel-slide"${a===n?"":" hidden"}>${s.html}</div>`).join(""),o=t.length===1?"":`<div class="reticle-carousel-controls"><button type="button" ${TL} aria-label="Previous message" class="reticle-carousel-arrow">\u2039</button><div class="reticle-carousel-dots">${t.map((s,a)=>`<button type="button" ${Om}="${String(a)}" class="reticle-carousel-dot" aria-label="Show ${s.id}" aria-current="${String(a===n)}"></button>`).join("")}</div><span ${_L} aria-live="polite">${String(n+1)} / ${String(t.length)}</span><button type="button" ${SL} aria-label="Next message" class="reticle-carousel-arrow">\u203A</button></div>`;return`<div ${EL} class="reticle-carousel" role="region" aria-label="Reticle" data-active="${String(n)}">
|
|
1324
|
+
<button type="button" ${bL} class="reticle-carousel-close" aria-label="${gL}" title="${gL}">\xD7</button>
|
|
1342
1325
|
<div class="reticle-carousel-track">${r}</div>
|
|
1343
1326
|
${o}
|
|
1344
|
-
</div>`}function
|
|
1327
|
+
</div>`}function S4(t){try{return(t==null?void 0:t.getItem(xL))==="1"}catch{return!1}}function AL(t,e,n){var l,d,u,p;let r=t.querySelector(`:scope > [${EL}]`),o=Number((l=r==null?void 0:r.getAttribute("data-active"))!=null?l:"0");if(r==null||r.remove(),dS(t),S4(n))return;let s=T4(e,o);if(s==="")return;t.insertAdjacentHTML("afterbegin",s);let a=t.firstElementChild;if(a instanceof HTMLElement){(d=a.querySelector(`[${bL}]`))==null||d.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation();try{n==null||n.setItem(xL,"1")}catch{}dS(t),a.remove()});for(let h of a.querySelectorAll(`[${Om}]`))h.addEventListener("click",m=>{m.preventDefault(),m.stopPropagation(),wm(a,Number(h.getAttribute(Om)))});(u=a.querySelector(`[${TL}]`))==null||u.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),wm(a,(Number(a.getAttribute("data-active"))+e.length-1)%e.length)}),(p=a.querySelector(`[${SL}]`))==null||p.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),wm(a,(Number(a.getAttribute("data-active"))+1)%e.length)}),_4(t,a,e.length)}}function _4(t,e,n){if(n<2||E4())return;let r=!1,o=()=>{r=!0},s=()=>{r=!1};e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",s),e.addEventListener("focusin",o),e.addEventListener("focusout",s),lS.set(t,setInterval(()=>{if(!e.isConnected){dS(t);return}r||wm(e,(Number(e.getAttribute("data-active"))+1)%n)},g4))}var EL,rp,Om,bL,TL,SL,_L,xL,gL,g4,lS,b4,yL,Im=S(()=>{"use strict";Kr();EL="data-reticle-carousel",rp="data-reticle-carousel-slide",Om="data-reticle-carousel-dot",bL="data-reticle-carousel-close",TL="data-reticle-carousel-prev",SL="data-reticle-carousel-next",_L="data-reticle-carousel-position",xL=ct.CAROUSEL_DISMISSED,gL="Close",g4=6e3,lS=new WeakMap;b4=(t,e)=>Number.isInteger(t)&&t>=0&&t<e?t:0;yL=`
|
|
1345
1328
|
.reticle-carousel{position:relative;margin:8px 10px;padding:10px 12px 8px;border:1px solid var(--reticle-line,#2a2f3a);border-radius:10px;background:var(--reticle-surface-inset,rgba(255,255,255,.03));}
|
|
1346
1329
|
.reticle-carousel-track{height:100px;overflow:hidden;}
|
|
1347
1330
|
.reticle-carousel-slide .reticle-talk{margin:0;padding:0;border:0;background:none;}
|
|
@@ -1354,120 +1337,119 @@ ${aO}`,Qb="[data-reticle-harness-page] :is([data-reticle-harness-run],[data-reti
|
|
|
1354
1337
|
.reticle-carousel-arrow{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--reticle-line);border-radius:6px;background:rgba(255,255,255,.04);color:var(--reticle-fg);font:inherit;font-size:18px;line-height:1;cursor:pointer;}
|
|
1355
1338
|
.reticle-carousel-arrow:hover{border-color:var(--reticle-accent);background:var(--reticle-accent-soft);}
|
|
1356
1339
|
.reticle-carousel-position{margin-left:auto;color:var(--reticle-muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;}
|
|
1357
|
-
`});function
|
|
1358
|
-
|
|
1359
|
-
<
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
[${D}]{
|
|
1340
|
+
`});function wL(t,e){let n=t.querySelector(`[${rr}]`),r=t.querySelector(`[${Be}]`),o=e!==void 0&&!e.signedIn;n!==null&&(n.hidden=!o),r!==null&&(r.hidden=o)}var Be,rr,hS,x4,Ft,Cm,uS,RL,NL,pS,fS,vL,OL,Lm=S(()=>{"use strict";eo();Et();Ar();Be="data-reticle-rail",rr="data-reticle-rail-signin",hS="data-reticle-rail-promo",x4="data-reticle-page-open",Ft="data-reticle-page-panel",Cm="data-reticle-overlay",uS={TITLE:"Sign in to try Reticle Harness",DETAIL:"Free credits to start.",CTA:"Sign in"},RL=`<div ${rr} class="reticle-rail-signin" hidden>
|
|
1341
|
+
<span class="reticle-rail-copy"><strong>${uS.TITLE}</strong><span>${uS.DETAIL}</span></span>
|
|
1342
|
+
<button type="button" ${Ut} class="reticle-rail-cta" title="${ie.SIGNIN_TITLE}">${uS.CTA}</button>
|
|
1343
|
+
</div>`,NL=`<div ${Be} class="reticle-rail" role="complementary" aria-label="Reticle">
|
|
1344
|
+
<div ${hS} class="reticle-rail-promo"></div>
|
|
1345
|
+
</div>`;pS=`:is([${nn}],[${Ft}],[${$}],[${C}])`,fS=`[${Cm}][${Me}="0"]:is([${ut}="1"],[${x4}],[${gn}="1"],[${Qe}="1"])`,vL=`[${M}]:is([${zo}="below"],[${Hi}="below"])`,OL=`
|
|
1346
|
+
[${M}]{
|
|
1365
1347
|
/* Short enough to leave most of a laptop screen to the app; the log scrolls inside it. */
|
|
1366
1348
|
--reticle-frame-h:min(440px,60vh,calc(100vh - 190px));
|
|
1367
1349
|
--reticle-rail-h:52px;--reticle-frame-gap:6px;}
|
|
1368
|
-
[${
|
|
1350
|
+
[${M}] ${pS}{
|
|
1369
1351
|
right:0;left:auto;top:auto;
|
|
1370
1352
|
bottom:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));
|
|
1371
1353
|
width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1372
1354
|
height:var(--reticle-frame-h);max-height:var(--reticle-frame-h);
|
|
1373
1355
|
border-radius:var(--reticle-hud-radius-lg);
|
|
1374
|
-
${
|
|
1375
|
-
[${
|
|
1376
|
-
[${
|
|
1377
|
-
[${
|
|
1378
|
-
[${
|
|
1356
|
+
${zc}}
|
|
1357
|
+
[${M}] [${C}]::after{display:none;}
|
|
1358
|
+
[${M}] [${C}] .reticle-settings-inner{height:100%;}
|
|
1359
|
+
[${M}] [${C}] :is(.reticle-settings-body,.reticle-settings-foot){background:transparent;}
|
|
1360
|
+
[${M}] [${$}] .reticle-report-inner{height:100%;}
|
|
1379
1361
|
/* The Agent Log section fills the frame, so the footer sits on the bottom edge, not mid-panel. */
|
|
1380
|
-
[${
|
|
1381
|
-
[${
|
|
1362
|
+
[${nn}] .reticle-chat-view{flex:1;min-height:0;display:flex;flex-direction:column;}
|
|
1363
|
+
[${nn}] .reticle-chat-view > .reticle-hud-log-well{flex:1;min-height:0;}
|
|
1382
1364
|
/*
|
|
1383
1365
|
* Two rows above the log in every state: the header and the status row. "Session ended" (or the
|
|
1384
1366
|
* handoff notice) takes the status text's place instead of arriving as a row of its own, and the
|
|
1385
1367
|
* Harness block sits in the footer above the project capsule.
|
|
1386
1368
|
*/
|
|
1387
|
-
[${
|
|
1369
|
+
[${Cm}] [${nn}] .reticle-act-strip .reticle-banner{display:none;flex:1;min-width:0;min-height:0;padding:0;border:0;background:none;
|
|
1388
1370
|
font-size:11px;font-weight:600;line-height:1.3;color:var(--reticle-hud-text);
|
|
1389
1371
|
overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
|
|
1390
|
-
[${
|
|
1391
|
-
[${
|
|
1392
|
-
[${
|
|
1372
|
+
[${Cm}][data-reticle-state="ended"] [${nn}] .reticle-act-strip .reticle-banner{display:-webkit-box;}
|
|
1373
|
+
[${Cm}][data-reticle-state="ended"] [${nn}] .reticle-act-strip .reticle-act{display:none;}
|
|
1374
|
+
[${nn}] .reticle-foot-workspace-row{gap:var(--reticle-hud-space-2);}
|
|
1393
1375
|
/* The Harness block sits above the project capsule, full width: one clear thing to press. */
|
|
1394
|
-
[${
|
|
1395
|
-
[${
|
|
1396
|
-
${
|
|
1397
|
-
[${
|
|
1376
|
+
[${nn}] [data-reticle-foot] .reticle-foot-stack{display:flex;flex-direction:column;gap:var(--reticle-hud-space-2);}
|
|
1377
|
+
[${nn}] [data-reticle-foot] .reticle-foot-workspace-row:has(> .reticle-workspace-wrap[hidden]){display:none;}
|
|
1378
|
+
${vL} ${pS}{bottom:auto;top:calc(100% + 8px + var(--reticle-rail-h) + var(--reticle-frame-gap));}
|
|
1379
|
+
[${M}][${Ht}="start"] :is(${pS},[${Be}]){right:auto;left:0;}
|
|
1398
1380
|
|
|
1399
1381
|
/* \u2500\u2500 Every page's header: title over a one-line subtitle, its actions, then close. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1400
|
-
[${
|
|
1382
|
+
[${M}] :is(.reticle-page-heading,.reticle-report-head,.reticle-settings-head){
|
|
1401
1383
|
flex:none;display:flex;align-items:center;gap:var(--reticle-hud-space-2);min-height:52px;box-sizing:border-box;
|
|
1402
1384
|
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-2) var(--reticle-hud-space-3);
|
|
1403
1385
|
border-bottom:1px solid var(--reticle-hud-border);background:none;}
|
|
1404
|
-
[${
|
|
1405
|
-
[${
|
|
1386
|
+
[${M}] .reticle-page-titles{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1387
|
+
[${M}] :is(.reticle-page-heading strong,.reticle-report-title,.reticle-settings-title){
|
|
1406
1388
|
font-size:var(--reticle-hud-size-base);font-weight:600;letter-spacing:0;text-transform:none;color:var(--reticle-hud-text);}
|
|
1407
|
-
[${
|
|
1408
|
-
[${
|
|
1389
|
+
[${M}] .reticle-settings-title{flex:1;}
|
|
1390
|
+
[${M}] .reticle-page-heading .reticle-page-subtitle{padding:0;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
|
|
1409
1391
|
font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1410
|
-
[${
|
|
1392
|
+
[${M}] .reticle-primary-btn{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 var(--reticle-hud-space-3);
|
|
1411
1393
|
border:0;border-radius:var(--reticle-hud-radius-pill);background:var(--reticle-hud-brand);color:#160b02;
|
|
1412
1394
|
font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;white-space:nowrap;cursor:pointer;}
|
|
1413
|
-
[${
|
|
1414
|
-
[${
|
|
1395
|
+
[${M}] .reticle-primary-btn:hover{filter:brightness(1.08);}
|
|
1396
|
+
[${M}] .reticle-page-heading .reticle-primary-btn{width:auto;height:28px;border-radius:var(--reticle-hud-radius-pill);background:var(--reticle-hud-brand);color:#160b02;font-size:var(--reticle-hud-size-sm);}
|
|
1415
1397
|
/* One close control everywhere: a quiet 28px square, the same glyph weight on every page. */
|
|
1416
|
-
[${
|
|
1398
|
+
[${M}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close){flex:none;width:28px;height:28px;
|
|
1417
1399
|
display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--reticle-hud-radius-sm);
|
|
1418
1400
|
background:transparent;color:var(--reticle-hud-text-muted);font-size:18px;line-height:1;cursor:pointer;}
|
|
1419
|
-
[${
|
|
1420
|
-
[${
|
|
1421
|
-
[${
|
|
1401
|
+
[${M}] :is([data-reticle-page-close],.reticle-report-close,.reticle-settings-close):hover{background:var(--reticle-hud-hover);color:var(--reticle-hud-text);}
|
|
1402
|
+
[${M}] .reticle-primary-btn[data-active="1"]{background:var(--reticle-hud-text);color:var(--reticle-hud-ground);}
|
|
1403
|
+
[${M}] .reticle-primary-btn svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;}
|
|
1422
1404
|
/* One empty state for every page: what is missing, then how it gets filled. */
|
|
1423
|
-
[${
|
|
1405
|
+
[${M}] :is(.reticle-flows-empty,.reticle-annotation-empty){display:flex;flex-direction:column;align-items:center;gap:6px;
|
|
1424
1406
|
margin:auto 0;padding:40px var(--reticle-hud-space-4);text-align:center;}
|
|
1425
|
-
[${
|
|
1426
|
-
[${
|
|
1407
|
+
[${M}] :is(.reticle-flows-empty,.reticle-annotation-empty) strong{font-size:var(--reticle-hud-size-base);font-weight:600;color:var(--reticle-hud-text);}
|
|
1408
|
+
[${M}] :is(.reticle-flows-empty,.reticle-annotation-empty) span{max-width:260px;font-size:var(--reticle-hud-size-sm);line-height:1.45;color:var(--reticle-hud-text-muted);}
|
|
1427
1409
|
|
|
1428
1410
|
/* \u2500\u2500 Saved flows: one row per journey. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1429
|
-
[${
|
|
1430
|
-
[${
|
|
1411
|
+
[${Ft}="flows"] .reticle-all-flows{display:flex;flex-direction:column;gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2);}
|
|
1412
|
+
[${Ft}="flows"] .reticle-flow-row{display:flex;align-items:center;gap:var(--reticle-hud-space-3);width:100%;min-height:48px;
|
|
1431
1413
|
padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);border:1px solid transparent;border-radius:var(--reticle-hud-radius-md);
|
|
1432
1414
|
background:transparent;color:var(--reticle-hud-text);font:inherit;text-align:left;cursor:pointer;}
|
|
1433
|
-
[${
|
|
1434
|
-
[${
|
|
1435
|
-
[${
|
|
1436
|
-
[${
|
|
1415
|
+
[${Ft}="flows"] .reticle-flow-row:hover:not(:disabled){background:var(--reticle-hud-hover);border-color:var(--reticle-hud-border);}
|
|
1416
|
+
[${Ft}="flows"] .reticle-flow-row:focus-visible{outline:2px solid var(--reticle-hud-brand);outline-offset:1px;}
|
|
1417
|
+
[${Ft}="flows"] .reticle-flow-row:disabled{cursor:not-allowed;opacity:.5;}
|
|
1418
|
+
[${Ft}="flows"] .reticle-flow-play{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
|
|
1437
1419
|
border-radius:50%;background:var(--reticle-hud-brand-soft);color:var(--reticle-hud-brand);font-size:11px;}
|
|
1438
|
-
[${
|
|
1439
|
-
[${
|
|
1440
|
-
[${
|
|
1441
|
-
[${
|
|
1420
|
+
[${Ft}="flows"] .reticle-flow-row:disabled .reticle-flow-play{background:var(--reticle-hud-inset);color:var(--reticle-hud-text-faint);}
|
|
1421
|
+
[${Ft}="flows"] .reticle-flow-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px;}
|
|
1422
|
+
[${Ft}="flows"] .reticle-flow-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1423
|
+
[${Ft}="flows"] .reticle-flow-meta{font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1442
1424
|
|
|
1443
1425
|
/* \u2500\u2500 Notes: a segmented list switch, then the page's tools on the right. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1444
|
-
[${
|
|
1426
|
+
[${Ft}="annotations"] .reticle-annotations-tabs{gap:var(--reticle-hud-space-1);padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);}
|
|
1445
1427
|
/* One segmented switch for every "show me this or that": Notes' list and Impact's scope. */
|
|
1446
|
-
[${
|
|
1447
|
-
[${
|
|
1448
|
-
[${
|
|
1428
|
+
[${M}] .reticle-segmented{display:inline-flex;flex:none;padding:2px;border-radius:var(--reticle-hud-radius-sm);background:var(--reticle-hud-inset);}
|
|
1429
|
+
[${Ft}="annotations"] .reticle-segmented{margin-right:auto;}
|
|
1430
|
+
[${M}] .reticle-segmented button{height:24px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:4px;background:transparent;
|
|
1449
1431
|
color:var(--reticle-hud-text-muted);font:inherit;font-size:var(--reticle-hud-size-xs);white-space:nowrap;cursor:pointer;}
|
|
1450
|
-
[${
|
|
1451
|
-
[${
|
|
1452
|
-
[${
|
|
1453
|
-
[${
|
|
1454
|
-
[${
|
|
1455
|
-
[${
|
|
1432
|
+
[${M}] .reticle-segmented button:hover{color:var(--reticle-hud-text);}
|
|
1433
|
+
[${M}] .reticle-segmented button[aria-pressed="true"]{background:var(--reticle-hud-border-strong);color:var(--reticle-hud-text);}
|
|
1434
|
+
[${M}] .reticle-report-head .reticle-segmented{margin-left:auto;}
|
|
1435
|
+
[${Ft}="annotations"] .reticle-annotations-tabs .reticle-copy-all{margin-left:0;color:var(--reticle-hud-text-muted);}
|
|
1436
|
+
[${Ft}="annotations"] .reticle-annotation-list{display:flex;flex-direction:column;}
|
|
1437
|
+
[${Ft}="annotations"] .reticle-annotation-item{padding:var(--reticle-hud-space-3) 2px;}
|
|
1456
1438
|
|
|
1457
1439
|
/* \u2500\u2500 Impact: the streak and the account share the first line instead of a row each. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
1458
|
-
[${
|
|
1459
|
-
[${
|
|
1460
|
-
[${
|
|
1461
|
-
[${
|
|
1462
|
-
[${
|
|
1463
|
-
[${
|
|
1440
|
+
[${$}] .reticle-report-top{display:flex;align-items:center;justify-content:space-between;gap:var(--reticle-hud-space-2);min-height:28px;margin-bottom:var(--reticle-hud-space-2);}
|
|
1441
|
+
[${$}] .reticle-report-top .reticle-report-streak{margin-bottom:0;}
|
|
1442
|
+
[${$}] .reticle-report-top .reticle-report-identity{margin:0 0 0 auto;padding:0;}
|
|
1443
|
+
[${$}] .reticle-report-hero-value{color:var(--reticle-hud-text);}
|
|
1444
|
+
[${$}] .reticle-report-card{background:var(--reticle-hud-inset);border-radius:var(--reticle-hud-radius-md);}
|
|
1445
|
+
[${$}] :is(.reticle-report-foot,.reticle-report-links){padding-left:var(--reticle-hud-space-3);padding-right:var(--reticle-hud-space-3);}
|
|
1464
1446
|
|
|
1465
1447
|
/* \u2500\u2500 Settings: the help links scroll with the rest instead of pinning a footer over the options. */
|
|
1466
|
-
[${
|
|
1467
|
-
[${
|
|
1468
|
-
[${
|
|
1469
|
-
[${
|
|
1470
|
-
[${
|
|
1448
|
+
[${C}] .reticle-settings-body .reticle-settings-foot{margin-top:0;border-top:0;}
|
|
1449
|
+
[${C}] .reticle-settings-row{flex-wrap:wrap;}
|
|
1450
|
+
[${C}] .reticle-settings-helptext{flex-basis:100%;margin:6px 0 2px;font-size:var(--reticle-hud-size-xs);line-height:1.45;color:var(--reticle-hud-text-muted);}
|
|
1451
|
+
[${C}] .reticle-settings-help[aria-expanded="true"]{color:var(--reticle-hud-brand);}
|
|
1452
|
+
[${C}] .reticle-settings-reset{background:none;text-align:left;padding-left:14px;font-weight:500;}
|
|
1471
1453
|
|
|
1472
1454
|
/* \u2500\u2500 Toolbar: Settings and Exit are tabs like the four beside them, so they light the same way. \u2500\u2500 */
|
|
1473
1455
|
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn{width:100%;height:auto;flex-direction:column;gap:2px;min-height:42px;padding:4px 0 3px;
|
|
@@ -1476,44 +1458,52 @@ ${oI} ${pT}{bottom:auto;top:calc(100% + 8px + var(--reticle-rail-h) + var(--reti
|
|
|
1476
1458
|
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"],
|
|
1477
1459
|
[data-reticle-hud] .reticle-toolbar-chrome .reticle-tb-btn[data-active="1"]:hover{background:transparent;color:var(--reticle-hud-text);}
|
|
1478
1460
|
|
|
1479
|
-
[${
|
|
1461
|
+
[${Be}]{
|
|
1480
1462
|
display:none;position:absolute;right:0;left:auto;bottom:calc(100% + 8px);z-index:7;
|
|
1481
1463
|
box-sizing:border-box;width:var(--reticle-dock-w);max-width:min(var(--reticle-dock-w),calc(100vw - 24px));
|
|
1482
1464
|
height:var(--reticle-rail-h);padding:0 var(--reticle-hud-space-3);align-items:center;
|
|
1483
1465
|
border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 30%,var(--reticle-hud-border));
|
|
1484
1466
|
border-radius:var(--reticle-hud-radius-lg);
|
|
1485
1467
|
background:linear-gradient(135deg,var(--reticle-hud-brand-soft),var(--reticle-hud-surface) 65%);
|
|
1486
|
-
box-shadow:${
|
|
1468
|
+
box-shadow:${xr};color:var(--reticle-hud-text);font-family:var(--reticle-font);
|
|
1487
1469
|
pointer-events:auto;}
|
|
1488
|
-
${
|
|
1489
|
-
${
|
|
1470
|
+
${vL} [${Be}]{bottom:auto;top:calc(100% + 8px);}
|
|
1471
|
+
${fS} [${Be}]{display:flex;}
|
|
1472
|
+
${fS} [${Be}][hidden]{display:none;}
|
|
1473
|
+
/* No rail, no gap for it: the page sits straight above the toolbar. */
|
|
1474
|
+
[${M}]:has(> [${Be}][hidden]){--reticle-rail-h:0px;--reticle-frame-gap:0px;}
|
|
1490
1475
|
/* The capsule and the rail share a slot: the capsule is for "nothing open", the rail for "a page is". */
|
|
1491
|
-
${
|
|
1492
|
-
[${
|
|
1493
|
-
[${
|
|
1494
|
-
|
|
1495
|
-
[${
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1476
|
+
${fS} [${yt}]{display:none !important;}
|
|
1477
|
+
[${Be}] > [hidden]{display:none !important;}
|
|
1478
|
+
[${Be}] .reticle-rail-promo{flex:1;min-width:0;}
|
|
1479
|
+
/* The sign-in ask: one row in the Agent Log, above its footer. */
|
|
1480
|
+
[${rr}]{display:flex;flex:none;align-items:center;gap:var(--reticle-hud-space-3);
|
|
1481
|
+
margin:0 var(--reticle-hud-space-3) var(--reticle-hud-space-2);padding:var(--reticle-hud-space-2) var(--reticle-hud-space-3);
|
|
1482
|
+
border:1px solid color-mix(in srgb,var(--reticle-hud-brand) 30%,var(--reticle-hud-border));border-radius:var(--reticle-hud-radius-md);
|
|
1483
|
+
background:linear-gradient(135deg,var(--reticle-hud-brand-soft),transparent 65%);}
|
|
1484
|
+
[${rr}][hidden]{display:none;}
|
|
1485
|
+
[${rr}] .reticle-rail-copy{display:flex;flex:1;min-width:0;flex-direction:column;line-height:1.3;}
|
|
1486
|
+
[${rr}] .reticle-rail-copy strong{font-size:var(--reticle-hud-size-sm);font-weight:600;}
|
|
1487
|
+
[${rr}] .reticle-rail-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--reticle-hud-size-xs);color:var(--reticle-hud-text-muted);}
|
|
1488
|
+
[${rr}] .reticle-rail-cta{flex:none;height:28px;padding:0 var(--reticle-hud-space-3);border:0;border-radius:var(--reticle-hud-radius-pill);
|
|
1499
1489
|
background:var(--reticle-hud-brand);color:#160b02;font:inherit;font-size:var(--reticle-hud-size-sm);font-weight:700;cursor:pointer;}
|
|
1500
|
-
[${
|
|
1501
|
-
[${
|
|
1490
|
+
[${rr}] .reticle-rail-cta:hover{filter:brightness(1.08);}
|
|
1491
|
+
[${rr}] .reticle-rail-cta:focus-visible{outline:2px solid var(--reticle-hud-text);outline-offset:2px;}
|
|
1502
1492
|
/* The promo: one line of copy, its link, and dots. The carousel draws no frame of its own here. */
|
|
1503
|
-
[${
|
|
1504
|
-
[${
|
|
1505
|
-
[${
|
|
1506
|
-
[${
|
|
1507
|
-
[${
|
|
1508
|
-
[${
|
|
1509
|
-
[${
|
|
1510
|
-
[${
|
|
1511
|
-
[${
|
|
1512
|
-
[${
|
|
1513
|
-
[${
|
|
1514
|
-
[${
|
|
1515
|
-
[${
|
|
1516
|
-
`});var
|
|
1493
|
+
[${Be}] .reticle-carousel{margin:0;padding:0;border:0;background:none;}
|
|
1494
|
+
[${Be}] .reticle-carousel-track{height:32px;overflow:hidden;}
|
|
1495
|
+
[${Be}] :is(.reticle-carousel-close,.reticle-carousel-arrow,[data-reticle-carousel-position]){display:none;}
|
|
1496
|
+
[${Be}] .reticle-carousel-controls{position:absolute;right:var(--reticle-hud-space-3);top:6px;height:auto;margin:0;}
|
|
1497
|
+
[${Be}] .reticle-carousel-dots{position:static;display:flex;gap:4px;margin:0;}
|
|
1498
|
+
[${Be}] .reticle-carousel-dot{width:10px;height:3px;padding:0;border:0;border-radius:99px;background:var(--reticle-hud-text-muted);opacity:.35;cursor:pointer;}
|
|
1499
|
+
[${Be}] .reticle-carousel-dot[aria-current="true"]{background:var(--reticle-hud-brand);opacity:1;}
|
|
1500
|
+
[${Be}] .reticle-promo-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding-right:0;}
|
|
1501
|
+
[${Be}] .reticle-promo-kicker{display:none;}
|
|
1502
|
+
[${Be}] .reticle-promo-title{grid-column:1/-1;overflow:hidden;padding-right:40px;font-size:var(--reticle-hud-size-sm);font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
|
|
1503
|
+
[${Be}] .reticle-promo-detail{grid-column:1;overflow:hidden;color:var(--reticle-hud-text-muted);font-size:var(--reticle-hud-size-xs);line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
|
|
1504
|
+
[${Be}] .reticle-promo-link{position:static;grid-column:2;color:var(--reticle-hud-brand);font-size:var(--reticle-hud-size-xs);font-weight:600;text-decoration:none;white-space:nowrap;}
|
|
1505
|
+
[${Be}] .reticle-promo-link:hover{text-decoration:underline;}
|
|
1506
|
+
`});var IL,CL=S(()=>{"use strict";IL=`
|
|
1517
1507
|
[data-reticle-overlay]{
|
|
1518
1508
|
--reticle-hud-space-0:0px;
|
|
1519
1509
|
--reticle-hud-space-1:4px;
|
|
@@ -1546,8 +1536,8 @@ ${rI} [${gt}]{display:none !important;}
|
|
|
1546
1536
|
--reticle-hud-brand-soft:#2a1b0d;
|
|
1547
1537
|
--reticle-hud-ease:cubic-bezier(.4,0,.2,1);
|
|
1548
1538
|
}
|
|
1549
|
-
`});var
|
|
1550
|
-
${
|
|
1539
|
+
`});var LL,kL=S(()=>{"use strict";Ko();aS();aL();pT();uL();Ar();fL();mL();Im();xm();lm();Lm();CL();LL=`
|
|
1540
|
+
${IL}
|
|
1551
1541
|
[data-reticle-overlay]{position:fixed;inset:0;pointer-events:none;z-index:${String(2147483600)};}
|
|
1552
1542
|
/**
|
|
1553
1543
|
* The session glow: the page itself says an agent is here, and BREATHES while it is working.
|
|
@@ -1597,103 +1587,104 @@ ${cI}
|
|
|
1597
1587
|
[data-reticle-overlay] .reticle-sl-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:inherit;overflow:visible;}
|
|
1598
1588
|
[data-reticle-overlay] .reticle-hi-icon svg,
|
|
1599
1589
|
[data-reticle-overlay] .reticle-sl-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible;}
|
|
1600
|
-
${
|
|
1601
|
-
${
|
|
1602
|
-
${
|
|
1603
|
-
${
|
|
1604
|
-
${
|
|
1605
|
-
${
|
|
1606
|
-
${
|
|
1607
|
-
${
|
|
1608
|
-
${
|
|
1609
|
-
${
|
|
1610
|
-
${
|
|
1611
|
-
${
|
|
1612
|
-
${
|
|
1590
|
+
${oI}
|
|
1591
|
+
${iI}
|
|
1592
|
+
${sL}
|
|
1593
|
+
${em}
|
|
1594
|
+
${pL}
|
|
1595
|
+
${dL}
|
|
1596
|
+
${hL}
|
|
1597
|
+
${yL}
|
|
1598
|
+
${H0}
|
|
1599
|
+
${BC}
|
|
1600
|
+
${cC}
|
|
1601
|
+
${ZC}
|
|
1602
|
+
${OL}`});function UL(){let t=Ee(Q.REMOVE,he.MIN);return`<div ${$} class="reticle-report ${Cn}" role="region" aria-label="Reticle impact" aria-hidden="true">
|
|
1613
1603
|
<div class="reticle-report-inner">
|
|
1614
1604
|
<div class="reticle-report-head">
|
|
1615
|
-
<span class="reticle-report-title">${
|
|
1616
|
-
<span class="reticle-segmented reticle-report-scopes" role="group" aria-label="${
|
|
1617
|
-
<button type="button" ${
|
|
1605
|
+
<span class="reticle-report-title">${W.TITLE}</span>
|
|
1606
|
+
<span class="reticle-segmented reticle-report-scopes" role="group" aria-label="${W.SCOPE_LABEL}"><button type="button" ${Dm}="${mS.PROJECT}" aria-pressed="true">${W.PROJECT}</button><button type="button" ${Dm}="${mS.MACHINE}" aria-pressed="false" title="${W.GLOBAL_TITLE}">${W.GLOBAL}</button></span>
|
|
1607
|
+
<button type="button" ${iT} class="reticle-report-close" title="Close" aria-label="Close impact">${t}</button>
|
|
1618
1608
|
</div>
|
|
1619
1609
|
<div class="reticle-report-body" data-reticle-report-body></div>
|
|
1620
|
-
<div class="reticle-report-foot" role="group" aria-label="${
|
|
1621
|
-
<span class="reticle-report-share-label">${
|
|
1622
|
-
<button type="button" ${
|
|
1623
|
-
<button type="button" ${
|
|
1624
|
-
<button type="button" ${
|
|
1625
|
-
<button type="button" ${
|
|
1610
|
+
<div class="reticle-report-foot" role="group" aria-label="${W.SHARE_LABEL}">
|
|
1611
|
+
<span class="reticle-report-share-label">${W.SHARE_LABEL}</span>
|
|
1612
|
+
<button type="button" ${ML} class="reticle-report-share">${W.POST_X}</button>
|
|
1613
|
+
<button type="button" ${PL} class="reticle-report-share">${W.POST_IN}</button>
|
|
1614
|
+
<button type="button" ${$L} class="reticle-report-share">${W.COPY}</button>
|
|
1615
|
+
<button type="button" ${HL} class="reticle-report-share reticle-report-refer">${W.REFER}</button>
|
|
1626
1616
|
</div>
|
|
1627
1617
|
<div class="reticle-report-links">
|
|
1628
|
-
<a data-reticle-link="docs" href="${
|
|
1629
|
-
<a data-reticle-link="github" href="${
|
|
1630
|
-
<a data-reticle-link="site" href="${
|
|
1631
|
-
<a data-reticle-link="discord" href="${
|
|
1618
|
+
<a data-reticle-link="docs" href="${ji.DOCS}" target="_blank" rel="noreferrer noopener">Docs</a>
|
|
1619
|
+
<a data-reticle-link="github" href="${ji.GITHUB}" target="_blank" rel="noreferrer noopener">GitHub</a>
|
|
1620
|
+
<a data-reticle-link="site" href="${ji.SITE}" target="_blank" rel="noreferrer noopener">reticle.sh</a>
|
|
1621
|
+
<a data-reticle-link="discord" href="${ji.DISCORD}" target="_blank" rel="noreferrer noopener">Discord</a>
|
|
1632
1622
|
</div>
|
|
1633
1623
|
</div>
|
|
1634
|
-
</div>`}function
|
|
1635
|
-
<span class="reticle-report-verdict" data-kind="pass">${
|
|
1636
|
-
<span class="reticle-report-verdict" data-kind="fail">${
|
|
1637
|
-
<span class="reticle-report-verdict" data-kind="unknown">${
|
|
1638
|
-
</div>`,f=[Ci(jr(l.verdicts),j.VERDICTS),Ci(jr(l.calls),j.CALLS),Ci(Tu(l.drivingMs),j.DRIVING),Ci(jr(l.sessions),j.SESSIONS),Ci(Tu(t.records.longestRunMs),j.LONGEST),Ci(jr(l.tokensReturned),j.TOKENS),Ci(jr(t.savings.tokens.value),j.SAVED_TOKENS,t.savings.tokens.basis),Ci(Tu(t.savings.minutes.value*6e4),j.SAVED_MINUTES,t.savings.minutes.basis)].join(""),m=`<div class="reticle-report-identity">${Dc(n,{dashboardUrl:e,projectName:r,verdicts:l.verdicts,defects:l.failed})}${bb(e)}${LF(a)}</div>`;return`<div class="reticle-report-top">${d}${m}</div>${u}${p}${kF(s)}${DF(o)}<div class="reticle-report-grid">${f}</div>${CF(t,e)}${IF(t)}${$F(t,e,n)}`}function $F(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,o,a]=n.signedIn?[j.UNLINKED,j.UNLINKED_ACTION,j.UNLINKED_TAIL]:[j.LOCAL_ONLY,j.LOCAL_ONLY_ACTION,j.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${o}</code> ${a}</p>`}var jh,mT,fI,hI,mI,gI,OF,fT,bI,PF,pI,qa,il,Li,fn,Ho,al,St,TI,Vh,gT,ol,Kh,SI=S(()=>{"use strict";H();ur();mr();Pa();Br();ut();yh();jh="data-reticle-report-scope",mT={PROJECT:"project",MACHINE:"machine"},fI="data-reticle-share-x",hI="data-reticle-share-in",mI="data-reticle-share-copy",gI="data-reticle-refer",OF=1600;fT=t=>{var e;return typeof t=="string"?Z((e=eO[t])!=null?e:t):void 0};bI="data-reticle-copy-prompt";PF=1200,pI="data-syncing",Kh=class{constructor(e={}){b(this,St);b(this,qa);b(this,il);b(this,Li);b(this,fn);b(this,Ho,!1);b(this,al);h(this,al,e)}mount(e){var r,o,a,s,l,d,u;h(this,Li,e),h(this,qa,(r=e.querySelector(`[${w}]`))!=null?r:void 0),h(this,il,(o=e.querySelector("[data-reticle-report-body]"))!=null?o:void 0),(a=e.querySelector(`[${ob}]`))==null||a.addEventListener("click",p=>{p.stopPropagation(),this.close()});let n=e.querySelectorAll(`[${jh}]`);for(let p of n)p.addEventListener("click",f=>{f.stopPropagation(),h(this,Ho,mT.MACHINE===p.getAttribute(jh));for(let m of n)m.setAttribute("aria-pressed",m===p?"true":"false");E(this,St,Vh).call(this)});(s=e.querySelector(`[${fI}]`))==null||s.addEventListener("click",p=>{p.stopPropagation(),E(this,St,gT).call(this,tO(this.shareText()))}),(l=e.querySelector(`[${hI}]`))==null||l.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,this.shareText()),E(this,St,gT).call(this,nO())}),(d=e.querySelector(`[${mI}]`))==null||d.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,this.shareText(),p.currentTarget)}),(u=e.querySelector(`[${gI}]`))==null||u.addEventListener("click",p=>{p.stopPropagation(),E(this,St,ol).call(this,qb(),p.currentTarget)}),e.addEventListener("click",p=>{var y,A,v,O;let f=p.target;if(!(f instanceof Element))return;let m=f.closest(`[${wt}]`);if(m!==null){p.stopPropagation(),E(this,St,ol).call(this,te.SIGNIN_COMMAND,m);return}let g=f.closest(`[${bI}]`),T=(A=(y=c(this,fn))==null?void 0:y.instrumentation)==null?void 0:A.prompt;if(g!==null&&typeof T=="string"){p.stopPropagation(),E(this,St,ol).call(this,T,g);return}let _=f.closest(`[${Eb}]`);_!==null&&(p.stopPropagation(),(O=(v=c(this,al)).onSyncNow)==null||O.call(v),_.setAttribute(pI,"1"),setTimeout(()=>_.removeAttribute(pI),PF))})}setSnapshot(e){h(this,fn,e),this.isOpen()&&E(this,St,Vh).call(this)}snapshot(){return c(this,fn)}isOpen(){var e;return((e=c(this,Li))==null?void 0:e.getAttribute(un))==="1"}open(){var e,n,r;c(this,Li)!==void 0&&((n=(e=c(this,al)).onBeforeOpen)==null||n.call(e),E(this,St,Vh).call(this),c(this,Li).setAttribute(un,"1"),(r=c(this,qa))==null||r.setAttribute("aria-hidden","false"))}close(){var e,n;(e=c(this,Li))==null||e.setAttribute(un,"0"),(n=c(this,qa))==null||n.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){var n;return((n=c(this,qa))==null?void 0:n.contains(e))===!0}shareText(){let e=c(this,fn);return e===void 0?qb():c(this,Ho)?Xb(e.global):Xb(e.project,e.projectName)}};qa=new WeakMap,il=new WeakMap,Li=new WeakMap,fn=new WeakMap,Ho=new WeakMap,al=new WeakMap,St=new WeakSet,TI=function(){let e=c(this,fn);if(e!==void 0)return c(this,Ho)?e.global:e.project},Vh=function(){var n,r,o,a,s,l;let e=E(this,St,TI).call(this);c(this,il)!==void 0&&(c(this,il).innerHTML=e===void 0?`<p class="reticle-report-empty">${j.EMPTY}</p>`:MF(e,(n=c(this,fn))==null?void 0:n.dashboardUrl,(r=c(this,fn))==null?void 0:r.account,(o=c(this,fn))==null?void 0:o.projectName,c(this,Ho)||(a=c(this,fn))==null?void 0:a.coverage,c(this,Ho)||(s=c(this,fn))==null?void 0:s.sync,c(this,Ho)||(l=c(this,fn))==null?void 0:l.instrumentation))},gT=function(e){window.open(e,"_blank","noopener,noreferrer")},ol=async function(e,n){var r,o;try{await((r=navigator.clipboard)==null?void 0:r.writeText(e))}catch{}if(n instanceof HTMLElement){let a=(o=n.textContent)!=null?o:"";n.textContent=j.COPIED,window.setTimeout(()=>{n.textContent=a},OF)}}});function BF(t){let e=t.kicker===void 0?"":`<span class="reticle-promo-kicker">${Z(t.kicker)}</span>`,n=t.detail===void 0?"":`<span class="reticle-promo-detail" title="${Z(t.detail)}">${Z(t.detail)}</span>`,r=t.cta===void 0?"":`<a data-reticle-promo-link class="reticle-promo-link" href="${Z(t.cta.url)}" target="_blank" rel="noopener noreferrer">${Z(t.cta.label)} \u2192</a>`;return{id:`${GF}${t.id}`,html:`<div class="reticle-promo-copy">${e}<strong class="reticle-promo-title">${Z(t.title)}</strong>${n}${r}</div>`}}function xI(t=[],e=op){let n=t.flatMap(r=>{let o=pb.safeParse(r);return o.success&&!o.data.id.startsWith(FF)?[o.data]:[]});return 0<n.length?n.map(BF):[...UF(e)]}var HF,_I,wu,UF,FF,GF,AI=S(()=>{"use strict";Lc();Pa();H();HF="/settings?group=billing",_I={REPLAY:"replay-confidence",NOTES:"notes-for-agent"},wu={REPLAY_TITLE:"Replay what your agent verified",REPLAY_DETAIL:"Saved flows re-run after each edit.",REPLAY_LINK:"See how \u2192",NOTES_TITLE:"Point your agent at anything",NOTES_DETAIL:"Open Notes, then click an element."},UF=t=>[{id:_I.REPLAY,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${wu.REPLAY_TITLE}</strong><span class="reticle-promo-detail">${wu.REPLAY_DETAIL}</span><a data-reticle-promo-link class="reticle-promo-link" href="${t}${HF}" target="_blank" rel="noopener noreferrer">${wu.REPLAY_LINK}</a></div>`},{id:_I.NOTES,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${wu.NOTES_TITLE}</strong><span class="reticle-promo-detail">${wu.NOTES_DETAIL}</span></div>`}],FF="harness",GF="notice-"});var VF,yI,ET,jF,vI,RI=S(()=>{"use strict";VF="Reticle",yI='<path d="M92.82 92.16C93.07 93.4 91.77 94.4 90.63 93.83C89.62 93.33 88.62 92.82 87.63 92.3C71.14 83.78 54.79 72.27 39.61 57.96C39.09 57.49 38.57 56.98 38.06 56.49C22.45 41.52 9.78 25.14 .33 8.52C0.29 8.45 .25 8.38 .2 8.31C-0.44 7.2 .51 5.84 1.79 6.05L24.07 9.71C43.06 12.83 60.63 11.75 75.55 6.53L93.95 .09C95.15-0.33 96.31 .78 95.93 1.98L90.1 20.49C85.37 35.48 84.9 52.97 88.69 71.73L92.83 92.16H92.82Z"/><path d="M58.72 89.23L6.15 92.8C5.24 92.86 4.48 92.13 4.51 91.22L6.56 30.39C6.61 28.91 8.51 28.36 9.35 29.57C16.23 39.43 24.98 52.35 33.01 61.26C41.05 70.17 50.6 78.72 59.62 86.56C60.65 87.45 60.08 89.13 58.72 89.23Z"/>',ET=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yI}</svg>`,jF=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${yI}</svg>`,vI=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${VF}" aria-expanded="false">${jF}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function ST(t,e=[],n){let r=t.querySelector(`[${Gh}]`);if(r===null)return;let o;try{o=window.sessionStorage}catch{o=void 0}tI(r,xI(e,n),o)}function zF(){try{return globalThis.sessionStorage.getItem(Qf)==="1"}catch{return!1}}function II(t){try{t?globalThis.sessionStorage.setItem(Qf,"1"):globalThis.sessionStorage.removeItem(Qf)}catch{}}function AT(t){return t&&!zF()}var NI,KF,wI,OI,bT,WF,TT,Se,It,Yn,Za,sl,_t,Qe,cl,ll,Qa,Ja,qr,ki,es,ts,Zr,Tr,ns,dl,Iu,Uo,ul,hn,Wh,_T,xT,CI,zh,Yh,Ou,yT=S(()=>{"use strict";at();SI();$b();Br();$c();ut();Hh();AI();Bh();RI();wo();db();au();ur();mr();Ih();$c();NI="reticle-toolbar-drag",KF=120,wI="Minimise chat",OI="Open agent chat",bT="Settings",WF="Reticle",TT="Exit";Ou=class{constructor(e={}){b(this,hn);b(this,Se);b(this,It);b(this,Yn);b(this,Za);b(this,sl);b(this,_t);b(this,Qe);b(this,cl);b(this,ll);b(this,Qa,!1);b(this,Ja,!1);b(this,qr);b(this,ki,!1);b(this,es);b(this,ts);b(this,Zr,new Kh({onBeforeOpen:()=>{c(this,_t).close(),this.closeChat()},onSyncNow:()=>{var e,n;return(n=(e=c(this,Tr)).onSyncNow)==null?void 0:n.call(e)}}));b(this,Tr);b(this,ns);b(this,dl,[]);b(this,Iu);b(this,Uo);b(this,ul);b(this,zh,e=>{if(c(this,Se)===void 0||c(this,It)===void 0||!c(this,_t).isOpen())return;let n=e.target;n instanceof Node&&(c(this,It).contains(n)||c(this,_t).contains(n)||c(this,_t).close())});b(this,Yh,e=>{if(e.key!=="Escape"||c(this,Se)===void 0||e.defaultPrevented||Ip(document))return;let n=e.target;if(!(n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable===!0))){if(this.isChatOpen()){this.closeChat();return}if(c(this,_t).isOpen()){c(this,_t).close();return}this.isCollapsed()||this.collapse()}});h(this,Tr,e),h(this,Qe,new Oh(()=>{c(this,Qe).closePage(),this.closeChat(),c(this,Zr).open()},n=>{if(n==="activity"){c(this,Qe).open(n),this.showChat();return}this.isCollapsed()&&this.expand(),this.closeChat(),c(this,_t).close(),c(this,Zr).close()},{run:n=>{var r;return(r=e.onHarnessRun)==null?void 0:r.call(e,n)},stop:()=>{var n;return(n=e.onHarnessStop)==null?void 0:n.call(e)},setHarness:n=>{var r;return(r=e.onHarness)==null?void 0:r.call(e,n)},link:()=>{var n;return(n=e.onHarnessLink)==null?void 0:n.call(e)}})),h(this,_t,new pu({...e.settings,onBeforeOpen:()=>{var n,r;this.closeChat(),c(this,Qe).closePage(),c(this,Zr).close(),(r=(n=e.settings)==null?void 0:n.onBeforeOpen)==null||r.call(n)}}))}setProjectId(e){c(this,Qe).setProjectId(e)}paintHarnessDrive(e){c(this,Qe).paintDrive(e)}paintAgent(e){c(this,Qe).paintAgent(e)}paintHarness(e,n){h(this,Iu,e),c(this,_t).paintHarness(e,n),c(this,Qe).paintHarness(e,n),E(this,hn,_T).call(this)}paintImpact(e){c(this,Qe).paintImpact(e)}paintAnnotations(e){c(this,Qe).paintAnnotations(e)}openView(e){e==="activity"?this.showChat():(this.isCollapsed()&&this.expand(),this.closeChat(),c(this,_t).close(),c(this,Zr).close()),c(this,Qe).open(e)}paintAccount(e,n,r={}){h(this,ns,{account:e,dashboardUrl:n,details:r}),c(this,Se)!==void 0&&(k0(c(this,Se),e,n,r),wb(c(this,Se),e,n,r),aI(c(this,Se),e),c(this,Qe).paintAccount(e),E(this,hn,_T).call(this))}paintNotices(e=[]){h(this,dl,e),h(this,Uo,E(this,hn,Wh).call(this)),c(this,Se)!==void 0&&ST(c(this,Se),e,c(this,Uo))}static dockHtml(e,n,r,o,a){let s=$f(Y.GEAR,pe.TOOLBAR),l=Ee(Y.REMOVE,pe.TOOLBAR);return`<div ${D} role="complementary" aria-label="Reticle">
|
|
1639
|
-
<div ${
|
|
1624
|
+
</div>`}function Yi(t,e,n){let r=n===void 0?"":`<span class="reticle-report-basis" title="${n}">${W.ESTIMATE_TAG}</span>`;return`<div class="reticle-report-card"><span class="reticle-report-value">${t}</span><span class="reticle-report-label">${e}${r}</span></div>`}function y4(t){let e=t.days.slice(-30);if(e.length===0)return"";let n=Math.max(1,...e.map(o=>o.counts.verdicts)),r=e.map(o=>{let s=Math.max(4,Math.round(o.counts.verdicts/n*100)),a=`${o.date}: ${String(o.counts.verdicts)} verdicts, ${String(o.counts.failed)} defects`,l=o.counts.failed>0?' data-hot="1"':"";return`<span class="reticle-report-bar" style="height:${String(s)}%" title="${a}"${l}></span>`}).join("");return`<div class="reticle-report-chart-wrap"><span class="reticle-report-section">${W.CHART}</span><div class="reticle-report-chart">${r}</div></div>`}function v4(t,e){var u;let n=((u=t.defects)!=null?u:[]).slice(0,Ny);if(n.length===0)return"";let r=e!==void 0&&Qn(e),o=r?`<a class="reticle-report-defect-link" data-reticle-link="defect" href="${ne(e)}" target="_blank" rel="noreferrer noopener" title="${W.DEFECT_LINK_TITLE}" aria-label="${W.DEFECT_LINK_TITLE}">${Ee(Q.VIEW,he.SEND)}</a>`:"",s=n.map(p=>{let h=p.detail===void 0?"":`<span class="reticle-report-defect-detail">${ne(p.detail)}</span>`,m=p.source===void 0?"":`<span class="reticle-report-defect-source">${ne(p.source)}</span>`;return`<li class="reticle-report-defect"><span class="reticle-report-defect-title">${ne(p.title)}</span>${h}${m}${o}</li>`}).join(""),a=t.counts.failed>n.length,l=r?`<a class="reticle-report-defects-more" data-reticle-link="dashboard" href="${ne(e)}" target="_blank" rel="noreferrer noopener">${W.DEFECTS_MORE}${a?` (${String(t.counts.failed)})`:""}</a>`:a?`<button type="button" data-reticle-defects-all ${Ut} class="reticle-report-defects-all" title="${W.DEFECTS_SEE_ALL_TITLE}">${W.DEFECTS_SEE_ALL} (${String(t.counts.failed)}) \u2192</button>`:"",d=TT(e);return`<div class="reticle-report-defects-wrap"><div class="reticle-report-defects-head"><span class="reticle-report-section">${W.DEFECTS}</span>${d}</div><ul class="reticle-report-defects">${s}</ul>${l}</div>`}function R4(t){if(t===void 0)return"";let e=d=>typeof t[d]=="number"?t[d]:0,n=t.status,r=typeof t.keyRefused=="string"?t.keyRefused:void 0,o=r!==void 0?W.KEY_REFUSED:n==="refused"?`${String(e("refused"))} refused`:n==="pending"?`${String(e("pending"))} waiting`:n==="on-platform"?`Synced \xB7 ${String(e("onPlatform"))}`:n==="local-only"?`${String(e("pending"))} ${W.NOT_SENT}`:void 0;if(o===void 0)return"";let s=r!==void 0?r:n==="local-only"?W.NOT_SENT_HELP:typeof t.said=="string"?t.said:"",a=t.runUrl,l=typeof a=="string"&&Qn(a)?` <a class="reticle-sync-run" data-reticle-link="run" href="${ne(a)}" target="_blank" rel="noreferrer noopener">${W.SEE_RUN}</a>`:"";return`<span class="reticle-sync-status" data-reticle-sync-status="${ne(String(n))}" title="${ne(s)}">${o}</span>${l}`}function N4(t){var s,a;if(t===void 0)return"";let e=vC.filter(l=>typeof t[l.key]=="number");if(e.length===0)return"";let n=l=>{var d;return`${String(Math.round((d=t[l])!=null?d:0))}%`},r=typeof t.proved=="number"?n("proved"):n((a=(s=e[0])==null?void 0:s.key)!=null?a:""),o=e.map(l=>`<span class="reticle-report-coverage-level">${n(l.key)} ${l.label}</span>`).join("");return`<div class="reticle-report-coverage" title="${W.COVERAGE_HELP}"><span class="reticle-report-section">${W.COVERAGE}</span><span class="reticle-report-coverage-value">${r}</span><div class="reticle-report-coverage-levels">${o}</div></div>`}function w4(t,e,n,r,o,s){let a=t.counts;if(a.calls===0)return`<p class="reticle-report-empty">${W.EMPTY}</p>`;let l=t.records.streakDays>0?`<span class="reticle-report-streak" title="Consecutive days with at least one verdict">\u{1F525} ${String(t.records.streakDays)} <span class="reticle-report-streak-label">${W.STREAK}</span></span>`:"",d=`<div class="reticle-report-hero"><span class="reticle-report-hero-value">${no(a.failed)}</span><span class="reticle-report-hero-label">${W.heroDefects(a.failed)}</span></div>`,u=`<div class="reticle-report-verdicts" title="${W.UNKNOWN_HELP}">
|
|
1625
|
+
<span class="reticle-report-verdict" data-kind="pass">${no(a.passed)} ${W.PASSED}</span>
|
|
1626
|
+
<span class="reticle-report-verdict" data-kind="fail">${no(a.failed)} ${W.FAILED}</span>
|
|
1627
|
+
<span class="reticle-report-verdict" data-kind="unknown">${no(a.unknown)} ${W.UNKNOWN}</span>
|
|
1628
|
+
</div>`,p=[Yi(no(a.verdicts),W.VERDICTS),Yi(no(a.calls),W.CALLS),Yi(zu(a.drivingMs),W.DRIVING),Yi(no(a.sessions),W.SESSIONS),Yi(zu(t.records.longestRunMs),W.LONGEST),Yi(no(a.tokensReturned),W.TOKENS),Yi(no(t.savings.tokens.value),W.SAVED_TOKENS,t.savings.tokens.basis),Yi(zu(t.savings.minutes.value*6e4),W.SAVED_MINUTES,t.savings.minutes.basis)].join(""),h=`<div class="reticle-report-identity">${Jc(n,{dashboardUrl:e,projectName:r,verdicts:a.verdicts,defects:a.failed})}${TT(e)}${R4(s)}</div>`;return`<div class="reticle-report-top">${l}${h}</div>${d}${u}${N4(o)}<div class="reticle-report-grid">${p}</div>${v4(t,e)}${y4(t)}${O4(t,e,n)}`}function O4(t,e,n){if(e!==void 0||t.counts.verdicts<=0||n===void 0)return"";let[r,o,s]=n.signedIn?[W.UNLINKED,W.UNLINKED_ACTION,W.UNLINKED_TAIL]:[W.LOCAL_ONLY,W.LOCAL_ONLY_ACTION,W.LOCAL_ONLY_TAIL];return`<p class="reticle-report-local-only">${r} <code>${o}</code> ${s}</p>`}var Dm,mS,ML,PL,$L,HL,A4,I4,DL,Ea,Al,Xi,or,qi,yl,Gt,FL,km,gS,op,Mm,GL=S(()=>{"use strict";D();Tr();Ar();ra();eo();Et();gm();Dm="data-reticle-report-scope",mS={PROJECT:"project",MACHINE:"machine"},ML="data-reticle-share-x",PL="data-reticle-share-in",$L="data-reticle-share-copy",HL="data-reticle-refer",A4=1600;I4=1200,DL="data-syncing",Mm=class{constructor(e={}){b(this,Gt);b(this,Ea);b(this,Al);b(this,Xi);b(this,or);b(this,qi,!1);b(this,yl);f(this,yl,e)}mount(e){var r,o,s,a,l,d,u;f(this,Xi,e),f(this,Ea,(r=e.querySelector(`[${$}]`))!=null?r:void 0),f(this,Al,(o=e.querySelector("[data-reticle-report-body]"))!=null?o:void 0),(s=e.querySelector(`[${iT}]`))==null||s.addEventListener("click",p=>{p.stopPropagation(),this.close()});let n=e.querySelectorAll(`[${Dm}]`);for(let p of n)p.addEventListener("click",h=>{h.stopPropagation(),f(this,qi,mS.MACHINE===p.getAttribute(Dm));for(let m of n)m.setAttribute("aria-pressed",m===p?"true":"false");E(this,Gt,km).call(this)});(a=e.querySelector(`[${ML}]`))==null||a.addEventListener("click",p=>{p.stopPropagation(),E(this,Gt,gS).call(this,xC(this.shareText()))}),(l=e.querySelector(`[${PL}]`))==null||l.addEventListener("click",p=>{p.stopPropagation(),E(this,Gt,op).call(this,this.shareText()),E(this,Gt,gS).call(this,AC())}),(d=e.querySelector(`[${$L}]`))==null||d.addEventListener("click",p=>{p.stopPropagation(),E(this,Gt,op).call(this,this.shareText(),p.currentTarget)}),(u=e.querySelector(`[${HL}]`))==null||u.addEventListener("click",p=>{p.stopPropagation(),E(this,Gt,op).call(this,qT(),p.currentTarget)}),e.addEventListener("click",p=>{var T,_;let h=p.target;if(!(h instanceof Element))return;let m=h.closest(`[${Ut}]`);if(m!==null){p.stopPropagation(),E(this,Gt,op).call(this,ie.SIGNIN_COMMAND,m);return}let g=h.closest(`[${bT}]`);g!==null&&(p.stopPropagation(),(_=(T=c(this,yl)).onSyncNow)==null||_.call(T),g.setAttribute(DL,"1"),setTimeout(()=>g.removeAttribute(DL),I4))})}setSnapshot(e){f(this,or,e),this.isOpen()&&E(this,Gt,km).call(this)}snapshot(){return c(this,or)}isOpen(){var e;return((e=c(this,Xi))==null?void 0:e.getAttribute(gn))==="1"}open(){var e,n,r;c(this,Xi)!==void 0&&((n=(e=c(this,yl)).onBeforeOpen)==null||n.call(e),E(this,Gt,km).call(this),c(this,Xi).setAttribute(gn,"1"),(r=c(this,Ea))==null||r.setAttribute("aria-hidden","false"))}close(){var e,n;(e=c(this,Xi))==null||e.setAttribute(gn,"0"),(n=c(this,Ea))==null||n.setAttribute("aria-hidden","true")}toggle(){this.isOpen()?this.close():this.open()}contains(e){var n;return((n=c(this,Ea))==null?void 0:n.contains(e))===!0}shareText(){let e=c(this,or);return e===void 0?qT():c(this,qi)?XT(e.global):XT(e.project,e.projectName)}};Ea=new WeakMap,Al=new WeakMap,Xi=new WeakMap,or=new WeakMap,qi=new WeakMap,yl=new WeakMap,Gt=new WeakSet,FL=function(){let e=c(this,or);if(e!==void 0)return c(this,qi)?e.global:e.project},km=function(){var n,r,o,s,a;let e=E(this,Gt,FL).call(this);c(this,Al)!==void 0&&(c(this,Al).innerHTML=e===void 0?`<p class="reticle-report-empty">${W.EMPTY}</p>`:w4(e,(n=c(this,or))==null?void 0:n.dashboardUrl,(r=c(this,or))==null?void 0:r.account,(o=c(this,or))==null?void 0:o.projectName,c(this,qi)||(s=c(this,or))==null?void 0:s.coverage,c(this,qi)||(a=c(this,or))==null?void 0:a.sync))},gS=function(e){window.open(e,"_blank","noopener,noreferrer")},op=async function(e,n){var r,o;try{await((r=navigator.clipboard)==null?void 0:r.writeText(e))}catch{}if(n instanceof HTMLElement){let s=(o=n.textContent)!=null?o:"";n.textContent=W.COPIED,window.setTimeout(()=>{n.textContent=s},A4)}}});function M4(t){let e=t.kicker===void 0?"":`<span class="reticle-promo-kicker">${ne(t.kicker)}</span>`,n=t.detail===void 0?"":`<span class="reticle-promo-detail" title="${ne(t.detail)}">${ne(t.detail)}</span>`,r=t.cta===void 0?"":`<a data-reticle-promo-link class="reticle-promo-link" href="${ne(t.cta.url)}" target="_blank" rel="noopener noreferrer">${ne(t.cta.label)} \u2192</a>`;return{id:`${D4}${t.id}`,html:`<div class="reticle-promo-copy">${e}<strong class="reticle-promo-title">${ne(t.title)}</strong>${n}${r}</div>`}}function VL(t=[],e=Up){let n=t.flatMap(r=>{let o=fT.safeParse(r);return o.success&&!o.data.id.startsWith(k4)?[o.data]:[]});return 0<n.length?n.map(M4):[...L4(e)]}var C4,BL,ip,L4,k4,D4,jL=S(()=>{"use strict";Zc();ra();D();C4="/settings?group=billing",BL={REPLAY:"replay-confidence",NOTES:"notes-for-agent"},ip={REPLAY_TITLE:"Replay what your agent verified",REPLAY_DETAIL:"Saved flows re-run after each edit.",REPLAY_LINK:"See how \u2192",NOTES_TITLE:"Point your agent at anything",NOTES_DETAIL:"Open Notes, then click an element."},L4=t=>[{id:BL.REPLAY,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${ip.REPLAY_TITLE}</strong><span class="reticle-promo-detail">${ip.REPLAY_DETAIL}</span><a data-reticle-promo-link class="reticle-promo-link" href="${t}${C4}" target="_blank" rel="noopener noreferrer">${ip.REPLAY_LINK}</a></div>`},{id:BL.NOTES,html:`<div class="reticle-promo-copy"><strong class="reticle-promo-title">${ip.NOTES_TITLE}</strong><span class="reticle-promo-detail">${ip.NOTES_DETAIL}</span></div>`}],k4="harness",D4="notice-"});var P4,KL,ES,$4,WL,zL=S(()=>{"use strict";P4="Reticle",KL='<path d="M92.82 92.16C93.07 93.4 91.77 94.4 90.63 93.83C89.62 93.33 88.62 92.82 87.63 92.3C71.14 83.78 54.79 72.27 39.61 57.96C39.09 57.49 38.57 56.98 38.06 56.49C22.45 41.52 9.78 25.14 .33 8.52C0.29 8.45 .25 8.38 .2 8.31C-0.44 7.2 .51 5.84 1.79 6.05L24.07 9.71C43.06 12.83 60.63 11.75 75.55 6.53L93.95 .09C95.15-0.33 96.31 .78 95.93 1.98L90.1 20.49C85.37 35.48 84.9 52.97 88.69 71.73L92.83 92.16H92.82Z"/><path d="M58.72 89.23L6.15 92.8C5.24 92.86 4.48 92.13 4.51 91.22L6.56 30.39C6.61 28.91 8.51 28.36 9.35 29.57C16.23 39.43 24.98 52.35 33.01 61.26C41.05 70.17 50.6 78.72 59.62 86.56C60.65 87.45 60.08 89.13 58.72 89.23Z"/>',ES=`<svg class="reticle-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${KL}</svg>`,$4=`<svg class="reticle-fab-mark" viewBox="0 0 96 94" fill="currentColor" aria-hidden="true">${KL}</svg>`,WL=`<button type="button" class="reticle-fab" data-reticle-fab aria-label="Start ${P4}" aria-expanded="false">${$4}<span class="reticle-fab-pulse" aria-hidden="true"></span><span data-reticle-mark-count class="reticle-fab-badge" hidden>0</span></button>`});function SS(t,e=[],n){let r=t.querySelector(`[${hS}]`);if(r===null)return;let o;try{o=window.sessionStorage}catch{o=void 0}AL(r,VL(e,n),o)}function JL(){try{return globalThis.sessionStorage.getItem(Vh)==="1"}catch{return!1}}function ZL(t){try{t?globalThis.sessionStorage.setItem(Vh,"1"):globalThis.sessionStorage.removeItem(Vh)}catch{}}function F4(){try{return globalThis.localStorage.getItem(jh)==="1"}catch{return!1}}function vl(t){try{t?globalThis.localStorage.setItem(jh,"1"):globalThis.localStorage.removeItem(jh)}catch{}}function AS(){return F4()&&!JL()}function e1(t){return t&&!JL()}var YL,H4,XL,qL,bS,U4,TS,xe,Bt,ir,ba,Rl,wt,nt,Nl,wl,Ta,Sa,lo,Zi,_a,xa,uo,wr,Aa,Ol,ap,Jo,Il,bn,Pm,_S,xS,QL,$m,Hm,sp,yS=S(()=>{"use strict";Ye();GL();$T();eo();tl();Et();Im();jL();Lm();zL();Ko();uT();Mu();Tr();Ar();xm();tl();YL="reticle-toolbar-drag",H4=120,XL="Minimise chat",qL="Open agent chat",bS="Settings",U4="Reticle",TS="Exit";sp=class{constructor(e={}){b(this,bn);b(this,xe);b(this,Bt);b(this,ir);b(this,ba);b(this,Rl);b(this,wt);b(this,nt);b(this,Nl);b(this,wl);b(this,Ta,!1);b(this,Sa,!1);b(this,lo);b(this,Zi,!1);b(this,_a);b(this,xa);b(this,uo,new Mm({onBeforeOpen:()=>{c(this,wt).close(),this.closeChat()},onSyncNow:()=>{var e,n;return(n=(e=c(this,wr)).onSyncNow)==null?void 0:n.call(e)}}));b(this,wr);b(this,Aa);b(this,Ol,[]);b(this,ap);b(this,Jo);b(this,Il);b(this,$m,e=>{if(c(this,xe)===void 0||c(this,Bt)===void 0||!c(this,wt).isOpen())return;let n=e.target;n instanceof Node&&(c(this,Bt).contains(n)||c(this,wt).contains(n)||c(this,wt).close())});b(this,Hm,e=>{if(e.key!=="Escape"||c(this,xe)===void 0||e.defaultPrevented||hf(document))return;let n=e.target;if(!(n instanceof HTMLElement&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable===!0))){if(this.isChatOpen()){vl(!1),this.closeChat();return}if(c(this,wt).isOpen()){c(this,wt).close();return}this.isCollapsed()||(vl(!1),this.collapse())}});f(this,wr,e),f(this,nt,new _m(()=>{c(this,nt).closePage(),this.closeChat(),c(this,uo).open()},n=>{if(n==="activity"){c(this,nt).open(n),this.showChat();return}this.isCollapsed()&&this.expand(),this.closeChat(),c(this,wt).close(),c(this,uo).close()},{run:n=>{var r;return(r=e.onHarnessRun)==null?void 0:r.call(e,n)},stop:()=>{var n;return(n=e.onHarnessStop)==null?void 0:n.call(e)},setHarness:n=>{var r;return(r=e.onHarness)==null?void 0:r.call(e,n)},link:()=>{var n;return(n=e.onHarnessLink)==null?void 0:n.call(e)}})),f(this,wt,new Gu({...e.settings,onBeforeOpen:()=>{var n,r;this.closeChat(),c(this,nt).closePage(),c(this,uo).close(),(r=(n=e.settings)==null?void 0:n.onBeforeOpen)==null||r.call(n)}}))}setProjectId(e){c(this,nt).setProjectId(e)}paintHarnessDrive(e,n){c(this,nt).paintDrive(e,n)}paintAgent(e){c(this,nt).paintAgent(e)}paintHarness(e){f(this,ap,e),c(this,wt).paintHarness(e),c(this,nt).paintHarness(e),E(this,bn,_S).call(this)}paintImpact(e){c(this,nt).paintImpact(e)}paintAnnotations(e){c(this,nt).paintAnnotations(e)}openView(e){e==="activity"?this.showChat():(this.isCollapsed()&&this.expand(),this.closeChat(),c(this,wt).close(),c(this,uo).close()),c(this,nt).open(e)}paintAccount(e,n,r={}){f(this,Aa,{account:e,dashboardUrl:n,details:r}),c(this,xe)!==void 0&&(nC(c(this,xe),e,n,r),OT(c(this,xe),e,n,r),wL(c(this,xe),e),c(this,nt).paintAccount(e),E(this,bn,_S).call(this))}paintNotices(e=[]){f(this,Ol,e),f(this,Jo,E(this,bn,Pm).call(this)),c(this,xe)!==void 0&&SS(c(this,xe),e,c(this,Jo))}static dockHtml(e,n,r,o,s){let a=Rh(Q.GEAR,he.TOOLBAR),l=Ee(Q.REMOVE,he.TOOLBAR);return`<div ${M} role="complementary" aria-label="Reticle">
|
|
1629
|
+
<div ${nn} class="reticle-chat-panel ${Cn}" role="region" aria-label="Agent Log" aria-hidden="true">
|
|
1640
1630
|
<div class="reticle-chat-head">
|
|
1641
|
-
<span class="reticle-chat-brand">${
|
|
1642
|
-
<span ${
|
|
1643
|
-
<span ${
|
|
1631
|
+
<span class="reticle-chat-brand">${ES}<span class="reticle-chat-brandname">${U4}</span></span>
|
|
1632
|
+
<span ${Qc} class="reticle-head-team"></span>
|
|
1633
|
+
<span ${MT} class="reticle-head-account"></span>
|
|
1644
1634
|
</div>
|
|
1645
|
-
<button type="button" ${
|
|
1635
|
+
<button type="button" ${oT} class="reticle-chat-min" title="${XL}" aria-label="${XL}">${Ee(Q.CARET_DOWN,he.TOOLBAR)}</button>
|
|
1646
1636
|
${e}
|
|
1647
1637
|
<span class="reticle-tally" data-reticle-tally hidden></span>
|
|
1648
1638
|
<section class="reticle-chat-view" role="region" aria-label="Agent Log">
|
|
1649
1639
|
${n}
|
|
1650
|
-
<div class="${
|
|
1640
|
+
<div class="${qh}"><div ${r}></div></div>
|
|
1651
1641
|
${o}
|
|
1652
1642
|
</section>
|
|
1653
|
-
${
|
|
1643
|
+
${RL}
|
|
1644
|
+
${s}
|
|
1654
1645
|
</div>
|
|
1655
|
-
${
|
|
1656
|
-
${
|
|
1657
|
-
${
|
|
1658
|
-
<button type="button" ${
|
|
1659
|
-
${
|
|
1646
|
+
${HC}
|
|
1647
|
+
${FC}
|
|
1648
|
+
${GC}
|
|
1649
|
+
<button type="button" ${yt} class="reticle-chat-pill" title="${qL}" aria-label="${qL}">
|
|
1650
|
+
${ES}
|
|
1660
1651
|
<span class="reticle-chat-pill-text" data-reticle-chat-pill-text></span>
|
|
1661
1652
|
<span class="reticle-chat-pill-time" data-reticle-chat-pill-time></span>
|
|
1662
|
-
<span class="reticle-chat-pill-caret" aria-hidden="true">${Ee(
|
|
1653
|
+
<span class="reticle-chat-pill-caret" aria-hidden="true">${Ee(Q.CARET_DOWN,he.TOOLBAR)}</span>
|
|
1663
1654
|
</button>
|
|
1664
|
-
${
|
|
1665
|
-
${
|
|
1666
|
-
${
|
|
1655
|
+
${CT()}
|
|
1656
|
+
${UL()}
|
|
1657
|
+
${NL}
|
|
1667
1658
|
<div data-reticle-hud>
|
|
1668
1659
|
<div class="reticle-hud-deco" aria-hidden="true"></div>
|
|
1669
|
-
${
|
|
1670
|
-
<div class="reticle-toolbar ${
|
|
1660
|
+
${WL}
|
|
1661
|
+
<div class="reticle-toolbar ${YL}" role="toolbar" aria-label="Reticle controls">
|
|
1671
1662
|
<div class="reticle-toolbar-chrome">
|
|
1672
|
-
${
|
|
1663
|
+
${UC}
|
|
1673
1664
|
<div class="reticle-tb-wrap">
|
|
1674
|
-
<button type="button" ${
|
|
1675
|
-
<span class="reticle-tb-tip">${
|
|
1665
|
+
<button type="button" ${Ou} class="reticle-tb-btn reticle-tb-btn--toggle" title="${bS}" aria-label="${bS}" aria-pressed="false" data-active="0">${a}${ca(Ki.SETTINGS)}</button>
|
|
1666
|
+
<span class="reticle-tb-tip">${bS}</span>
|
|
1676
1667
|
</div>
|
|
1677
1668
|
<div class="reticle-tb-wrap">
|
|
1678
|
-
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${
|
|
1679
|
-
<span class="reticle-tb-tip">${
|
|
1669
|
+
<button type="button" data-reticle-min-btn class="reticle-tb-btn" title="${TS}" aria-label="${TS}">${l}${ca(Ki.HIDE)}</button>
|
|
1670
|
+
<span class="reticle-tb-tip">${TS}<span class="reticle-tb-kbd">Esc</span></span>
|
|
1680
1671
|
</div>
|
|
1681
1672
|
</div>
|
|
1682
1673
|
</div>
|
|
1683
1674
|
</div>
|
|
1684
|
-
</div>`}get report(){return c(this,Zr)}isAnnotateOn(){return c(this,ki)}setAnnotateOn(e){var r,o,a,s,l,d,u;h(this,ki,e),(r=c(this,qr))==null||r.setAttribute("aria-pressed",e?"true":"false"),(o=c(this,qr))==null||o.setAttribute("data-active",e?"1":"0"),(a=c(this,qr))==null||a.setAttribute("aria-label",e?"Stop adding notes":"Add notes"),(s=c(this,qr))==null||s.setAttribute("title",e?"Stop adding notes":"Add notes");let n=(l=c(this,qr))==null?void 0:l.querySelector("[data-reticle-notes-toggle-label]");n!=null&&(n.textContent=e?"Stop adding notes":"Add notes"),(u=(d=c(this,Se))==null?void 0:d.querySelector('[data-reticle-chat-view-btn="annotations"]'))==null||u.setAttribute("data-capture",e?"1":"0")}mount(e){var f,m,g,T;h(this,ts,new AbortController);let{signal:n}=c(this,ts);h(this,Se,e),h(this,It,(f=e.querySelector(`[${D}]`))!=null?f:void 0);let r=e.querySelector(`[${Nw}]`);h(this,Yn,r instanceof HTMLButtonElement?r:void 0);let o=e.querySelector(`[${zt}]`);h(this,Za,o instanceof HTMLElement?o:void 0);let a=e.querySelector(`[${Zf}]`);h(this,qr,a instanceof HTMLButtonElement?a:void 0),this.setAnnotateOn(c(this,ki)),(m=c(this,qr))==null||m.addEventListener("click",_=>{var y,A;_.preventDefault(),_.stopPropagation(),this.setAnnotateOn(!c(this,ki)),(A=(y=c(this,Tr)).onAnnotateToggle)==null||A.call(y,c(this,ki))},{signal:n});let s=e.querySelector(`[${gt}]`);s==null||s.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),this.showChat()},{signal:n});let l=e.querySelector(`[${rb}]`);l==null||l.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),this.closeChat()},{signal:n});let d=e.querySelector("[data-reticle-min-btn]");h(this,sl,d instanceof HTMLButtonElement?d:void 0),e.setAttribute(ke,"1"),e.setAttribute(Ye,"0"),e.removeAttribute(ot),c(this,_t).mount(e),c(this,Zr).mount(e),c(this,Qe).mount(e),h(this,Uo,E(this,hn,Wh).call(this)),ST(e,c(this,dl),c(this,Uo)),h(this,es,new MutationObserver(()=>E(this,hn,xT).call(this))),c(this,es).observe(e,{attributes:!0,attributeFilter:[ot,Ye,un]}),E(this,hn,xT).call(this),(g=c(this,Yn))==null||g.addEventListener("click",_=>{if(_.stopPropagation(),c(this,Ja)){h(this,Ja,!1);return}this.expand()},{signal:n}),(T=c(this,sl))==null||T.addEventListener("click",_=>{_.stopPropagation(),this.collapse()},{signal:n});let u=e.querySelector(`.${NI}`),p=[c(this,Yn),u].filter(_=>_ instanceof HTMLElement);if(c(this,It)!==void 0&&p.length>0&&(h(this,cl,Xw(c(this,It),p,{onDragMove:()=>{h(this,Ja,!0)},onDragEnd:_=>{h(this,Ja,_&&this.isCollapsed())}})),h(this,ll,Yw(c(this,It),e))),document.addEventListener("pointerdown",c(this,zh),{signal:n}),document.addEventListener("keydown",c(this,Yh),{signal:n}),h(this,ul,u0(e,()=>{var _,y;return(y=(_=c(this,Tr)).onSignIn)==null?void 0:y.call(_)})),c(this,ns)!==void 0){let _=c(this,ns);this.paintAccount(_.account,_.dashboardUrl,_.details)}}teardown(){var e,n,r,o,a;(e=c(this,ul))==null||e.call(this),h(this,ul,void 0),(n=c(this,ts))==null||n.abort(),h(this,ts,void 0),(r=c(this,es))==null||r.disconnect(),h(this,es,void 0),(o=c(this,cl))==null||o.call(this),h(this,cl,void 0),(a=c(this,ll))==null||a.call(this),h(this,ll,void 0),c(this,_t).teardown(),c(this,Qe).teardown(),h(this,Se,void 0),h(this,It,void 0),h(this,Yn,void 0),h(this,Za,void 0),h(this,sl,void 0)}isCollapsed(){var e;return((e=c(this,Se))==null?void 0:e.getAttribute(ke))==="1"}isChatOpen(){var e;return((e=c(this,Se))==null?void 0:e.getAttribute(ot))==="1"}expand(){var e,n;c(this,Se)===void 0||!this.isCollapsed()||c(this,Qa)||(E(this,hn,CI).call(this),c(this,Se).setAttribute(ke,"0"),II(!1),c(this,Yn)!==void 0&&c(this,Yn).setAttribute("aria-expanded","true"),(n=(e=c(this,Tr)).onExpand)==null||n.call(e),this.openChat(),c(this,It)!==void 0&&gr(c(this,It),c(this,Se)))}collapse(){var e,n;c(this,Se)!==void 0&&(h(this,Qa,!1),this.closeChat(),c(this,_t).close(),c(this,Se).setAttribute(ke,"1"),II(!0),c(this,Yn)!==void 0&&c(this,Yn).setAttribute("aria-expanded","false"),(n=(e=c(this,Tr)).onCollapse)==null||n.call(e))}openChat(){var n,r,o;if(c(this,Se)===void 0||(this.isCollapsed()&&this.expand(),c(this,_t).close(),c(this,Qe).closePage(),c(this,Qe).open("activity"),this.isChatOpen()))return;c(this,Se).setAttribute(ot,"1");let e=c(this,Se).querySelector("[data-reticle-log]");e!==null&&mw(e),(n=c(this,Za))==null||n.setAttribute("aria-hidden","false"),(o=(r=c(this,Tr)).onChatOpen)==null||o.call(r),c(this,It)!==void 0&&gr(c(this,It),c(this,Se))}closeChat(){var e,n,r;c(this,Se)===void 0||!this.isChatOpen()||(c(this,Se).removeAttribute(ot),(e=c(this,Za))==null||e.setAttribute("aria-hidden","true"),(r=(n=c(this,Tr)).onChatClose)==null||r.call(n),c(this,It)!==void 0&&gr(c(this,It),c(this,Se)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,Zr).close(),this.openChat()}pulseFab(e){var n;(n=c(this,Yn))==null||n.setAttribute("data-pulse",e?"1":"0")}};Se=new WeakMap,It=new WeakMap,Yn=new WeakMap,Za=new WeakMap,sl=new WeakMap,_t=new WeakMap,Qe=new WeakMap,cl=new WeakMap,ll=new WeakMap,Qa=new WeakMap,Ja=new WeakMap,qr=new WeakMap,ki=new WeakMap,es=new WeakMap,ts=new WeakMap,Zr=new WeakMap,Tr=new WeakMap,ns=new WeakMap,dl=new WeakMap,Iu=new WeakMap,Uo=new WeakMap,ul=new WeakMap,hn=new WeakSet,Wh=function(){var e,n;return iT(c(this,Iu),(n=(e=c(this,ns))==null?void 0:e.account)!=null?n:{signedIn:!1})},_T=function(){let e=E(this,hn,Wh).call(this);c(this,Se)===void 0||e===c(this,Uo)||(h(this,Uo,e),ST(c(this,Se),c(this,dl),e))},xT=function(){let e=c(this,Se);if(e===void 0)return;let n=(o,a)=>{let s=e.querySelector(`[${o}]`);s==null||s.setAttribute("data-active",a?"1":"0"),s==null||s.setAttribute("aria-pressed",a?"true":"false")};n(Wf,e.getAttribute(ot)==="1"),n(eu,e.getAttribute(Ye)==="1");let r=e.querySelector("[data-reticle-chat-impact]");if(r!==null){let o=e.getAttribute(un)==="1";r.setAttribute("data-active",o?"1":"0"),c(this,Qe).setImpactOpen(o),o?r.setAttribute("aria-current","page"):r.removeAttribute("aria-current")}},CI=function(){h(this,Qa,!0),window.setTimeout(()=>{h(this,Qa,!1)},KF)},zh=new WeakMap,Yh=new WeakMap});function LI(t){var r,o;let e=(r=t.startMs)!=null?r:t.now,n={reads:0,acts:0,narrations:0,human:0,passes:0,fails:0};for(let a of t.runLog)a.kind===Fe.READ?n.reads+=1:a.kind===Fe.ACT?n.acts+=1:a.kind===Fe.NARRATION?n.narrations+=1:a.kind===Fe.HUMAN&&(n.human+=1),a.result===Tn.PASS?n.passes+=1:a.result===Tn.FAIL&&(n.fails+=1);return{session:t.sessionId,url:typeof location=="undefined"?"":location.href,state:t.state,startedMs:e,durationMs:Math.max(0,((o=t.endMs)!=null?o:t.now)-e),counts:n,capabilities:si(),log:t.runLog.map(a=>({...a}))}}var kI=S(()=>{"use strict";wo();ci()});function DI(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function MI(t,e){t!==void 0&&(t.style.left=`${String(e.left-4)}px`,t.style.top=`${String(e.top-4)}px`,t.style.width=`${String(e.width+8)}px`,t.style.height=`${String(e.height+8)}px`,t.setAttribute("data-on","1"),ee(()=>t.setAttribute("data-on","0"),700))}function $I(t,e,n){if(t===void 0)return;let r=document.createElement("div");r.setAttribute("data-reticle-ripple",""),r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,t.appendChild(r),ee(()=>r.remove(),520)}function vT(t){return new Promise(e=>ee(e,t))}var PI=S(()=>{"use strict";lt()});var Sr,rs,_r,xr,Di,pl,fl,os,Cu,hl,Lu,Xn,HI,RT,NT,UI,Xh,FI=S(()=>{"use strict";H();lt();ut();Xh=class{constructor(e){b(this,Xn);b(this,Sr,pr.IDLE);b(this,rs,0);b(this,_r);b(this,xr);b(this,Di);b(this,pl);b(this,fl);b(this,os);b(this,Cu);b(this,hl);b(this,Lu);h(this,fl,e.now),h(this,os,e.idleAfterMs),h(this,Cu,e.glowFadeMs),h(this,hl,e.borderMode),h(this,Lu,e.setMode)}setElements(e,n){h(this,Di,e),h(this,pl,n)}phase(){return c(this,Sr)}lastActivityMs(){return c(this,rs)}resetActivity(e){h(this,rs,e)}markActivity(e=c(this,fl).call(this)){h(this,rs,e),(c(this,Sr)===pr.IDLE||c(this,Sr)===pr.FADING)&&E(this,Xn,HI).call(this),E(this,Xn,RT).call(this)}scheduleIdle(){E(this,Xn,RT).call(this)}teardown(){c(this,_r)!==void 0&&Te(c(this,_r)),c(this,xr)!==void 0&&Te(c(this,xr)),h(this,_r,void 0),h(this,xr,void 0)}};Sr=new WeakMap,rs=new WeakMap,_r=new WeakMap,xr=new WeakMap,Di=new WeakMap,pl=new WeakMap,fl=new WeakMap,os=new WeakMap,Cu=new WeakMap,hl=new WeakMap,Lu=new WeakMap,Xn=new WeakSet,HI=function(){var e,n,r;c(this,xr)!==void 0&&(Te(c(this,xr)),h(this,xr,void 0)),h(this,Sr,pr.BUSY),c(this,hl)===Ma.SESSION?(e=c(this,Di))==null||e.setAttribute(Jd,Tw):(n=c(this,Di))==null||n.setAttribute(Wt,Oo),(r=c(this,pl))==null||r.setAttribute(Wt,Oo)},RT=function(){c(this,_r)!==void 0&&Te(c(this,_r)),h(this,_r,ee(()=>E(this,Xn,NT).call(this),c(this,os)))},NT=function(){if(h(this,_r,void 0),c(this,Sr)!==pr.BUSY)return;let e=c(this,fl).call(this)-c(this,rs);if(e<c(this,os)){h(this,_r,ee(()=>E(this,Xn,NT).call(this),c(this,os)-e));return}E(this,Xn,UI).call(this)},UI=function(){var e,n,r;h(this,Sr,pr.FADING),c(this,hl)===Ma.SESSION?(e=c(this,Di))==null||e.setAttribute(Jd,jf):(n=c(this,Di))==null||n.setAttribute(Wt,Si),(r=c(this,pl))==null||r.setAttribute(Wt,Si),c(this,Lu).call(this,je.IDLE),h(this,xr,ee(()=>{h(this,xr,void 0),c(this,Sr)===pr.FADING&&h(this,Sr,pr.IDLE)},c(this,Cu)))}});function GI(t,e,n){let r=YF(e);if(t===void 0)return r;if(r.passes===0&&r.fails===0)return t.setAttribute("hidden",""),t.replaceChildren(),r;let o=t.ownerDocument;t.removeAttribute("hidden"),t.className="reticle-tally reticle-pill-group reticle-head-ctl",t.replaceChildren();let a=o.createElement("span");if(a.className="reticle-t-pass reticle-pill-segment",r.passes===0&&a.setAttribute("data-z","1"),r.passes>n.passes&&a.setAttribute("data-bump","1"),a.append(Fr(Y.CHECK,pe.TALLY)),r.passes>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.passes),a.append(d)}let s=o.createElement("span");s.className="reticle-pill-sep",s.setAttribute("aria-hidden","true");let l=o.createElement("span");if(l.className="reticle-t-fail reticle-pill-segment",r.fails===0&&l.setAttribute("data-z","1"),r.fails>n.fails&&l.setAttribute("data-bump","1"),l.append(Fr(Y.REMOVE,pe.TALLY)),r.fails>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.fails),l.append(d)}return t.append(a,s,l),r}function YF(t){let e=0,n=0;for(let r of t)r.result===Tn.PASS?e+=1:r.result===Tn.FAIL&&(n+=1);return{passes:e,fails:n}}var BI=S(()=>{"use strict";wo();ur()});function KI(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(VI))continue;let n=e.name.slice(VI.length),r=qw.includes(n)?`${n}.${e.value}`:n;if(Zw(r))return r}}function qF(t){for(let e of t)if(e instanceof Element&&KI(e)!==void 0)return e}function wT(t){let e=ZF(t);return en.BUBBLE===e.view||t.querySelector(`[${yi}]:not([hidden])`)===null?e:{view:e.view,panel:vt.ACCOUNT}}function ZF(t){if(t.getAttribute(ke)==="1")return{view:en.BUBBLE,panel:vt.NONE};if(t.getAttribute(Ye)==="1")return{view:en.EXPANDED,panel:vt.SETTINGS};if(t.getAttribute(un)==="1")return{view:en.EXPANDED,panel:vt.REPORT};let e=t.getAttribute(jI);return e==="flows"?{view:en.EXPANDED,panel:vt.FLOWS}:e==="annotations"?{view:en.EXPANDED,panel:vt.NOTES}:e==="harness"?{view:en.EXPANDED,panel:vt.HARNESS}:t.getAttribute(ot)==="1"?{view:en.EXPANDED,panel:vt.CHAT}:{view:en.COLLAPSED,panel:vt.NONE}}function WI(t,e,n){let r=g=>{try{n(g)}catch{}},o=g=>{var y;let T=qF(g.composedPath());if(T===void 0||!Gs(T))return;let _=KI(T);if(_!==void 0){if(!XF.has((y=T.getAttribute("role"))!=null?y:"")){r({control:_});return}ee(()=>{let A=T.getAttribute("aria-checked")==="true";r({control:_,toggle:A?zl.ON:zl.OFF})},0)}},a="",s=()=>{let g=wT(e),T=`${g.view}/${g.panel}`;T!==a&&(a=T,r(g))},l="",d=()=>{var _;if(vt.CHAT!==wT(e).panel)return;let g=e.querySelector(`[${Nu}]:not([hidden])`),T=(_=g==null?void 0:g.getAttribute(Nu))!=null?_:"";T.length===0||T===l||(l=T,r({slide:T}))},u=new Set,p=()=>{let g=wT(e);for(let T of QF){if(u.has(T.surface)||!T.shown(g))continue;let _=e.querySelector(T.selector);_===null||!JF(_)||(u.add(T.surface),r({prompt:T.surface}))}},f=new MutationObserver(()=>{d(),s(),p()});f.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-active","hidden"]}),t.addEventListener("click",o,!0);let m=new MutationObserver(g=>{s(),0<g.length&&d(),p()});return m.observe(e,{attributes:!0,attributeFilter:[ke,ot,Ye,un,jI]}),s(),p(),()=>{t.removeEventListener("click",o,!0),m.disconnect(),f.disconnect()}}var VI,jI,XF,QF,JF,zI=S(()=>{"use strict";Lc();H();at();lt();ut();Hh();Br();Ah();Bh();VI="data-reticle-",jI="data-reticle-page-open",XF=new Set(["switch","checkbox"]);QF=[{surface:Jo.RAIL,selector:`[${Fh}]`,shown:t=>en.EXPANDED===t.view},{surface:Jo.HARNESS,selector:`[data-reticle-page-panel="harness"] :is([${wt}],[${bu}])`,shown:t=>vt.HARNESS===t.panel},{surface:Jo.HEADER,selector:`[${lu}]`,shown:t=>en.BUBBLE!==t.view}],JF=t=>t.closest("[hidden]")===null});function YI(){var t;try{let e=JSON.parse((t=globalThis.sessionStorage.getItem(OT))!=null?t:"[]");return Array.isArray(e)?e.filter(n=>typeof n=="object"&&n!==null&&typeof n.text=="string"&&typeof n.kind=="string"&&typeof n.ts=="string"&&typeof n.at=="number"):[]}catch{return[]}}function ku(t){try{globalThis.sessionStorage.setItem(OT,JSON.stringify(t))}catch{}}function XI(t){try{let e=t!=null?t:"",n=globalThis.sessionStorage.getItem(st.PRESENTER_LOG_OWNER);return globalThis.sessionStorage.setItem(st.PRESENTER_LOG_OWNER,e),n===null||n===e?!1:(globalThis.sessionStorage.removeItem(OT),!0)}catch{return!1}}var OT,qI=S(()=>{"use strict";Lr();OT=st.PRESENTER_LOG});var aC={};bs(aC,{GlowPhase:()=>pr,LOG_KIND:()=>Fe,LOG_RESULT:()=>Tn,Presenter:()=>IT});var eG,gl,De,Fo,as,Du,ss,Ar,El,bl,$i,Go,cs,Tl,Sl,Rn,_l,Mu,ls,Nn,Qr,$u,Ct,xl,Pu,Hu,ds,Jr,yr,wn,qn,Zn,Uu,Pi,Fu,Qn,eo,On,Al,yl,In,we,vl,K,ZI,QI,is,CT,JI,eC,Mi,LT,tC,nC,kT,rC,oC,DT,ml,iC,IT,sC=S(()=>{"use strict";H();Rt();TE();LE();lt();wo();uI();yT();Ah();Br();yh();au();iu();ut();kI();PI();FI();ur();BI();sT();$c();yT();zI();Eh();qI();ut();wo();eG=1600,IT=class{constructor(e={}){b(this,K);b(this,gl);b(this,De);b(this,Fo);b(this,as);b(this,Du);b(this,ss);b(this,Ar);b(this,El);b(this,bl);b(this,$i);b(this,Go);b(this,cs);b(this,Tl,{passes:0,fails:0});b(this,Sl,je.IDLE);b(this,Rn);b(this,_l);b(this,Mu);b(this,ls);b(this,Nn);b(this,Qr,"");b(this,$u);b(this,Ct);b(this,xl);b(this,Pu);b(this,Hu);b(this,ds);b(this,Jr,[]);b(this,yr,!1);b(this,wn);b(this,qn);b(this,Zn);b(this,Uu);b(this,Pi);b(this,Fu,new gh);b(this,Qn,[]);b(this,eo);b(this,On);b(this,Al);b(this,yl);b(this,In);b(this,we);b(this,vl);var n,r,o,a,s,l,d,u,p;h(this,gl,Sw(e.paceMs)),h(this,Rn,(n=e.now)!=null?n:af),h(this,_l,(r=e.heartbeatMs)!=null?r:xw),h(this,Mu,(o=e.idleNoticeMs)!=null?o:Aw),h(this,xl,(a=e.idleEndMs)!=null?a:yw),h(this,Pu,(s=e.sessionId)!=null?s:""),h(this,ls,(l=e.border)!=null?l:bw),h(this,Nn,new Xh({now:c(this,Rn),idleAfterMs:(d=e.idleAfterMs)!=null?d:_w,glowFadeMs:(u=e.glowFadeMs)!=null?u:Rw,borderMode:c(this,ls),setMode:f=>this.setMode(f)})),h(this,wn,eb(e.logMax)),h(this,On,e.onControl),h(this,Al,e.onHudUse),h(this,In,new Mh({emit:(f,m)=>{var g;return(g=c(this,On))==null?void 0:g.call(this,m!==void 0?{kind:f,text:m}:{kind:f})},logHuman:f=>{this.log(Fe.HUMAN,f)},endedFadeMs:(p=e.endedFadeMs)!=null?p:wO,runState:()=>this.runState(),clearRunLog:()=>E(this,K,kT).call(this),onStateChange:()=>E(this,K,is).call(this)})),h(this,we,new Ou({onChatOpen:()=>c(this,we).pulseFab(!1),onExpand:()=>E(this,K,is).call(this),onAnnotateToggle:()=>E(this,K,is).call(this),onCollapse:()=>E(this,K,is).call(this),onSyncNow:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.SYNC})},onSignIn:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.SIGNIN})},onHarness:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS,text:f?"on":"off"})},onHarnessRun:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS_RUN,...f===void 0?{}:{text:f}})},onHarnessStop:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.HARNESS_STOP})},onHarnessLink:()=>{var f;return(f=c(this,On))==null?void 0:f.call(this,{kind:Ht.HARNESS_LINK})},settings:{onBeforeOpen:()=>{c(this,we).isCollapsed()&&c(this,we).expand()},onHideUntilRestart:()=>E(this,K,rC).call(this),onKill:()=>{var f;return(f=e.onKill)==null?void 0:f.call(e)},onSettingsChange:f=>E(this,K,oC).call(this,f),onHarness:f=>{var m;return(m=c(this,On))==null?void 0:m.call(this,{kind:Ht.HARNESS,text:f?"on":"off"})}}})),c(this,we).setProjectId(e.projectId)}setControlHandler(e){h(this,On,e)}get state(){return c(this,In).state}get sessionActive(){return c(this,yr)}setState(e,n,r){c(this,In).setState(e,n,r)}refilterFlows(){c(this,In).refilterFlows()}showSdkVersion(e){c(this,De)!==void 0&&Ob(c(this,De),e)}handlePush(e){var s;let n=e.args;if(e.name===L.FLOWS)return void c(this,In).setFlows(n.flows);if(e.name===L.FLOW_PROGRESS)return void c(this,In).setFlowProgress(n);if(e.name===L.PLAN){let l=F0(n);l!==void 0&&c(this,Fu).paint(l);return}if(e.name===L.IMPACT){let l=rO(n.snapshot);if(l!==void 0){c(this,we).report.setSnapshot(l),c(this,we).paintNotices(l.notices),c(this,we).paintHarness(l.harnessConfig,z0(l.instrumentation,l.harnessConfig)),c(this,we).paintHarnessDrive(l.harnessDrive),E(this,K,eC).call(this,l.harnessDrive),c(this,we).paintAgent(l.agent),c(this,we).paintImpact(l.project.counts.verdicts);let d=((s=l.account)==null?void 0:s.signedIn)===!0?l.account.email:void 0;XI(d)&&E(this,K,kT).call(this),c(this,we).paintAccount(l.account,l.dashboardUrl,{projectName:l.projectName,dashboardUrl:l.dashboardUrl,verdicts:l.project.counts.verdicts,defects:l.project.counts.failed,...l0(l.harnessConfig,l.sync)})}return}let r=n.state,o=n.tone,a=typeof n.text=="string"&&n.text.length>0?n.text:void 0;N_(r)&&this.setState(r,a,dx(o)?o:void 0)}get logMax(){return c(this,wn)}set logMax(e){h(this,wn,eb(e)),E(this,K,iC).call(this)}mount(){var o,a,s,l,d,u,p,f,m,g,T,_;if(c(this,De)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=dI,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute("data-reticle-overlay","");let r=`<div class="reticle-act-strip" data-liveness="idle"><span class="reticle-act-dot" aria-hidden="true"></span><span class="reticle-act">${fr.READY}</span>${CO}<span class="reticle-chip" data-reticle-chip></span><div class="reticle-act-actions">${IO}</div></div>`;n.innerHTML=`
|
|
1685
|
-
${
|
|
1675
|
+
</div>`}get report(){return c(this,uo)}isAnnotateOn(){return c(this,Zi)}setAnnotateOn(e){var r,o,s,a,l,d,u;f(this,Zi,e),(r=c(this,lo))==null||r.setAttribute("aria-pressed",e?"true":"false"),(o=c(this,lo))==null||o.setAttribute("data-active",e?"1":"0"),(s=c(this,lo))==null||s.setAttribute("aria-label",e?"Stop adding notes":"Add notes"),(a=c(this,lo))==null||a.setAttribute("title",e?"Stop adding notes":"Add notes");let n=(l=c(this,lo))==null?void 0:l.querySelector("[data-reticle-notes-toggle-label]");n!=null&&(n.textContent=e?"Stop adding notes":"Add notes"),(u=(d=c(this,xe))==null?void 0:d.querySelector('[data-reticle-chat-view-btn="annotations"]'))==null||u.setAttribute("data-capture",e?"1":"0")}mount(e){var h,m,g,T;f(this,xa,new AbortController);let{signal:n}=c(this,xa);f(this,xe,e),f(this,Bt,(h=e.querySelector(`[${M}]`))!=null?h:void 0);let r=e.querySelector(`[${Z0}]`);f(this,ir,r instanceof HTMLButtonElement?r:void 0);let o=e.querySelector(`[${nn}]`);f(this,ba,o instanceof HTMLElement?o:void 0);let s=e.querySelector(`[${Bh}]`);f(this,lo,s instanceof HTMLButtonElement?s:void 0),this.setAnnotateOn(c(this,Zi)),(m=c(this,lo))==null||m.addEventListener("click",_=>{var A,N;_.preventDefault(),_.stopPropagation(),this.setAnnotateOn(!c(this,Zi)),(N=(A=c(this,wr)).onAnnotateToggle)==null||N.call(A,c(this,Zi))},{signal:n});let a=e.querySelector(`[${yt}]`);a==null||a.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),vl(!0),this.showChat()},{signal:n});let l=e.querySelector(`[${oT}]`);l==null||l.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),vl(!1),this.closeChat()},{signal:n});let d=e.querySelector("[data-reticle-min-btn]");f(this,Rl,d instanceof HTMLButtonElement?d:void 0),e.setAttribute(Me,"1"),e.setAttribute(Qe,"0"),e.removeAttribute(ut),c(this,wt).mount(e),c(this,uo).mount(e),c(this,nt).mount(e),f(this,Jo,E(this,bn,Pm).call(this)),SS(e,c(this,Ol),c(this,Jo)),f(this,_a,new MutationObserver(()=>E(this,bn,xS).call(this))),c(this,_a).observe(e,{attributes:!0,attributeFilter:[ut,Qe,gn]}),E(this,bn,xS).call(this),(g=c(this,ir))==null||g.addEventListener("click",_=>{if(_.stopPropagation(),c(this,Sa)){f(this,Sa,!1);return}vl(!0),this.expand()},{signal:n}),(T=c(this,Rl))==null||T.addEventListener("click",_=>{_.stopPropagation(),vl(!1),this.collapse()},{signal:n});let u=e.querySelector(`.${YL}`),p=[c(this,ir),u].filter(_=>_ instanceof HTMLElement);if(c(this,Bt)!==void 0&&p.length>0&&(f(this,Nl,TI(c(this,Bt),p,{onDragMove:()=>{f(this,Sa,!0)},onDragEnd:_=>{f(this,Sa,_&&this.isCollapsed())}})),f(this,wl,bI(c(this,Bt),e))),document.addEventListener("pointerdown",c(this,$m),{signal:n}),document.addEventListener("keydown",c(this,Hm),{signal:n}),f(this,Il,DI(e,()=>{var _,A;return(A=(_=c(this,wr)).onSignIn)==null?void 0:A.call(_)})),c(this,Aa)!==void 0){let _=c(this,Aa);this.paintAccount(_.account,_.dashboardUrl,_.details)}}teardown(){var e,n,r,o,s;(e=c(this,Il))==null||e.call(this),f(this,Il,void 0),(n=c(this,xa))==null||n.abort(),f(this,xa,void 0),(r=c(this,_a))==null||r.disconnect(),f(this,_a,void 0),(o=c(this,Nl))==null||o.call(this),f(this,Nl,void 0),(s=c(this,wl))==null||s.call(this),f(this,wl,void 0),c(this,wt).teardown(),c(this,nt).teardown(),f(this,xe,void 0),f(this,Bt,void 0),f(this,ir,void 0),f(this,ba,void 0),f(this,Rl,void 0)}isCollapsed(){var e;return((e=c(this,xe))==null?void 0:e.getAttribute(Me))==="1"}isChatOpen(){var e;return((e=c(this,xe))==null?void 0:e.getAttribute(ut))==="1"}expand(){var e,n;c(this,xe)===void 0||!this.isCollapsed()||c(this,Ta)||(E(this,bn,QL).call(this),c(this,xe).setAttribute(Me,"0"),ZL(!1),c(this,ir)!==void 0&&c(this,ir).setAttribute("aria-expanded","true"),(n=(e=c(this,wr)).onExpand)==null||n.call(e),this.openChat(),c(this,Bt)!==void 0&&yr(c(this,Bt),c(this,xe)))}collapse(){var e,n;c(this,xe)!==void 0&&(f(this,Ta,!1),this.closeChat(),c(this,wt).close(),c(this,xe).setAttribute(Me,"1"),ZL(!0),c(this,ir)!==void 0&&c(this,ir).setAttribute("aria-expanded","false"),(n=(e=c(this,wr)).onCollapse)==null||n.call(e))}openChat(){var n,r,o;if(c(this,xe)===void 0||(this.isCollapsed()&&this.expand(),c(this,wt).close(),c(this,nt).closePage(),c(this,nt).open("activity"),this.isChatOpen()))return;c(this,xe).setAttribute(ut,"1");let e=c(this,xe).querySelector("[data-reticle-log]");e!==null&&U0(e),(n=c(this,ba))==null||n.setAttribute("aria-hidden","false"),(o=(r=c(this,wr)).onChatOpen)==null||o.call(r),c(this,Bt)!==void 0&&yr(c(this,Bt),c(this,xe))}closeChat(){var e,n,r;c(this,xe)===void 0||!this.isChatOpen()||(c(this,xe).removeAttribute(ut),(e=c(this,ba))==null||e.setAttribute("aria-hidden","true"),(r=(n=c(this,wr)).onChatClose)==null||r.call(n),c(this,Bt)!==void 0&&yr(c(this,Bt),c(this,xe)))}toggleChat(){this.isChatOpen()?this.closeChat():this.showChat()}showChat(){c(this,uo).close(),this.openChat()}pulseFab(e){var n;(n=c(this,ir))==null||n.setAttribute("data-pulse",e?"1":"0")}};xe=new WeakMap,Bt=new WeakMap,ir=new WeakMap,ba=new WeakMap,Rl=new WeakMap,wt=new WeakMap,nt=new WeakMap,Nl=new WeakMap,wl=new WeakMap,Ta=new WeakMap,Sa=new WeakMap,lo=new WeakMap,Zi=new WeakMap,_a=new WeakMap,xa=new WeakMap,uo=new WeakMap,wr=new WeakMap,Aa=new WeakMap,Ol=new WeakMap,ap=new WeakMap,Jo=new WeakMap,Il=new WeakMap,bn=new WeakSet,Pm=function(){var e,n;return iS(c(this,ap),(n=(e=c(this,Aa))==null?void 0:e.account)!=null?n:{signedIn:!1})},_S=function(){let e=E(this,bn,Pm).call(this);c(this,xe)===void 0||e===c(this,Jo)||(f(this,Jo,e),SS(c(this,xe),c(this,Ol),e))},xS=function(){let e=c(this,xe);if(e===void 0)return;let n=(o,s)=>{let a=e.querySelector(`[${o}]`);a==null||a.setAttribute("data-active",s?"1":"0"),a==null||a.setAttribute("aria-pressed",s?"true":"false")};n($h,e.getAttribute(ut)==="1"),n(Ou,e.getAttribute(Qe)==="1");let r=e.querySelector("[data-reticle-chat-impact]");if(r!==null){let o=e.getAttribute(gn)==="1";r.setAttribute("data-active",o?"1":"0"),c(this,nt).setImpactOpen(o),o?r.setAttribute("aria-current","page"):r.removeAttribute("aria-current")}},QL=function(){f(this,Ta,!0),window.setTimeout(()=>{f(this,Ta,!1)},H4)},$m=new WeakMap,Hm=new WeakMap});function t1(t){var r,o;let e=(r=t.startMs)!=null?r:t.now,n={reads:0,acts:0,narrations:0,human:0,passes:0,fails:0};for(let s of t.runLog)s.kind===ke.READ?n.reads+=1:s.kind===ke.ACT?n.acts+=1:s.kind===ke.NARRATION?n.narrations+=1:s.kind===ke.HUMAN&&(n.human+=1),s.result===Nn.PASS?n.passes+=1:s.result===Nn.FAIL&&(n.fails+=1);return{session:t.sessionId,url:typeof location=="undefined"?"":Of(),state:t.state,startedMs:e,durationMs:Math.max(0,((o=t.endMs)!=null?o:t.now)-e),counts:n,capabilities:yi(),log:t.runLog.map(s=>({...s}))}}var n1=S(()=>{"use strict";Vd();Ko();vi()});function r1(t,e,n){t!==void 0&&(t.setAttribute("data-on","1"),t.style.transform=`translate(${String(e)}px, ${String(n)}px)`)}function o1(t,e){t!==void 0&&(t.style.left=`${String(e.left-4)}px`,t.style.top=`${String(e.top-4)}px`,t.style.width=`${String(e.width+8)}px`,t.style.height=`${String(e.height+8)}px`,t.setAttribute("data-on","1"),oe(()=>t.setAttribute("data-on","0"),700))}function i1(t,e,n){if(t===void 0)return;let r=document.createElement("div");r.setAttribute("data-reticle-ripple",""),r.style.left=`${String(e)}px`,r.style.top=`${String(n)}px`,t.appendChild(r),oe(()=>r.remove(),520)}function vS(t){return new Promise(e=>oe(e,t))}var s1=S(()=>{"use strict";dt()});var Or,ya,Ir,Cr,Qi,Cl,Ll,va,cp,kl,lp,sr,a1,RS,NS,c1,Um,l1=S(()=>{"use strict";D();dt();Et();Um=class{constructor(e){b(this,sr);b(this,Or,Sr.IDLE);b(this,ya,0);b(this,Ir);b(this,Cr);b(this,Qi);b(this,Cl);b(this,Ll);b(this,va);b(this,cp);b(this,kl);b(this,lp);f(this,Ll,e.now),f(this,va,e.idleAfterMs),f(this,cp,e.glowFadeMs),f(this,kl,e.borderMode),f(this,lp,e.setMode)}setElements(e,n){f(this,Qi,e),f(this,Cl,n)}phase(){return c(this,Or)}lastActivityMs(){return c(this,ya)}resetActivity(e){f(this,ya,e)}markActivity(e=c(this,Ll).call(this)){f(this,ya,e),(c(this,Or)===Sr.IDLE||c(this,Or)===Sr.FADING)&&E(this,sr,a1).call(this),E(this,sr,RS).call(this)}scheduleIdle(){E(this,sr,RS).call(this)}teardown(){c(this,Ir)!==void 0&&_e(c(this,Ir)),c(this,Cr)!==void 0&&_e(c(this,Cr)),f(this,Ir,void 0),f(this,Cr,void 0)}};Or=new WeakMap,ya=new WeakMap,Ir=new WeakMap,Cr=new WeakMap,Qi=new WeakMap,Cl=new WeakMap,Ll=new WeakMap,va=new WeakMap,cp=new WeakMap,kl=new WeakMap,lp=new WeakMap,sr=new WeakSet,a1=function(){var e,n,r;c(this,Cr)!==void 0&&(_e(c(this,Cr)),f(this,Cr,void 0)),f(this,Or,Sr.BUSY),c(this,kl)===ta.SESSION?(e=c(this,Qi))==null||e.setAttribute(wu,V0):(n=c(this,Qi))==null||n.setAttribute(tn,Wo),(r=c(this,Cl))==null||r.setAttribute(tn,Wo)},RS=function(){c(this,Ir)!==void 0&&_e(c(this,Ir)),f(this,Ir,oe(()=>E(this,sr,NS).call(this),c(this,va)))},NS=function(){if(f(this,Ir,void 0),c(this,Or)!==Sr.BUSY)return;let e=c(this,Ll).call(this)-c(this,ya);if(e<c(this,va)){f(this,Ir,oe(()=>E(this,sr,NS).call(this),c(this,va)-e));return}E(this,sr,c1).call(this)},c1=function(){var e,n,r;f(this,Or,Sr.FADING),c(this,kl)===ta.SESSION?(e=c(this,Qi))==null||e.setAttribute(wu,Mh):(n=c(this,Qi))==null||n.setAttribute(tn,$i),(r=c(this,Cl))==null||r.setAttribute(tn,$i),c(this,lp).call(this,We.IDLE),f(this,Cr,oe(()=>{f(this,Cr,void 0),c(this,Or)===Sr.FADING&&f(this,Or,Sr.IDLE)},c(this,cp)))}});function d1(t,e,n){let r=G4(e);if(t===void 0)return r;if(r.passes===0&&r.fails===0)return t.setAttribute("hidden",""),t.replaceChildren(),r;let o=t.ownerDocument;t.removeAttribute("hidden"),t.className="reticle-tally reticle-pill-group reticle-head-ctl",t.replaceChildren();let s=o.createElement("span");if(s.className="reticle-t-pass reticle-pill-segment",r.passes===0&&s.setAttribute("data-z","1"),r.passes>n.passes&&s.setAttribute("data-bump","1"),s.append(Qr(Q.CHECK,he.TALLY)),r.passes>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.passes),s.append(d)}let a=o.createElement("span");a.className="reticle-pill-sep",a.setAttribute("aria-hidden","true");let l=o.createElement("span");if(l.className="reticle-t-fail reticle-pill-segment",r.fails===0&&l.setAttribute("data-z","1"),r.fails>n.fails&&l.setAttribute("data-bump","1"),l.append(Qr(Q.REMOVE,he.TALLY)),r.fails>0){let d=o.createElement("span");d.className="reticle-pill-count",d.textContent=String(r.fails),l.append(d)}return t.append(s,a,l),r}function G4(t){let e=0,n=0;for(let r of t)r.result===Nn.PASS?e+=1:r.result===Nn.FAIL&&(n+=1);return{passes:e,fails:n}}var u1=S(()=>{"use strict";Ko();Tr()});function h1(t){for(let e of Array.from(t.attributes)){if(!e.name.startsWith(p1))continue;let n=e.name.slice(p1.length),r=SI.includes(n)?`${n}.${e.value}`:n;if(_I(r))return r}}function V4(t){for(let e of t)if(e instanceof Element&&h1(e)!==void 0)return e}function wS(t){let e=j4(t);return An.BUBBLE===e.view||t.querySelector(`[${Gi}]:not([hidden])`)===null?e:{view:e.view,panel:Tt.ACCOUNT}}function j4(t){if(t.getAttribute(Me)==="1")return{view:An.BUBBLE,panel:Tt.NONE};if(t.getAttribute(Qe)==="1")return{view:An.EXPANDED,panel:Tt.SETTINGS};if(t.getAttribute(gn)==="1")return{view:An.EXPANDED,panel:Tt.REPORT};let e=t.getAttribute(f1);return e==="flows"?{view:An.EXPANDED,panel:Tt.FLOWS}:e==="annotations"?{view:An.EXPANDED,panel:Tt.NOTES}:e==="harness"?{view:An.EXPANDED,panel:Tt.HARNESS}:t.getAttribute(ut)==="1"?{view:An.EXPANDED,panel:Tt.CHAT}:{view:An.COLLAPSED,panel:Tt.NONE}}function m1(t,e,n){let r=g=>{try{n(g)}catch{}},o=g=>{var A;let T=V4(g.composedPath());if(T===void 0||!jr(T))return;let _=h1(T);if(_!==void 0){if(!B4.has((A=T.getAttribute("role"))!=null?A:"")){r({control:_});return}oe(()=>{let N=T.getAttribute("aria-checked")==="true";r({control:_,toggle:N?gd.ON:gd.OFF})},0)}},s="",a=()=>{let g=wS(e),T=`${g.view}/${g.panel}`;T!==s&&(s=T,r(g))},l="",d=()=>{var _;if(Tt.CHAT!==wS(e).panel)return;let g=e.querySelector(`[${rp}]:not([hidden])`),T=(_=g==null?void 0:g.getAttribute(rp))!=null?_:"";T.length===0||T===l||(l=T,r({slide:T}))},u=new Set,p=()=>{let g=wS(e);for(let T of K4){if(u.has(T.surface)||!T.shown(g))continue;let _=e.querySelector(T.selector);_===null||!W4(_)||(u.add(T.surface),r({prompt:T.surface}))}},h=new MutationObserver(()=>{d(),a(),p()});h.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-active","hidden"]}),t.addEventListener("click",o,!0);let m=new MutationObserver(g=>{a(),0<g.length&&d(),p()});return m.observe(e,{attributes:!0,attributeFilter:[Me,ut,Qe,gn,f1]}),a(),p(),()=>{t.removeEventListener("click",o,!0),m.disconnect(),h.disconnect()}}var p1,f1,B4,K4,W4,g1=S(()=>{"use strict";Zc();D();Ye();dt();Et();Im();eo();mm();Lm();p1="data-reticle-",f1="data-reticle-page-open",B4=new Set(["switch","checkbox"]);K4=[{surface:fi.RAIL,selector:`[${rr}]`,shown:t=>Tt.CHAT===t.panel},{surface:fi.HARNESS,selector:`[data-reticle-page-panel="harness"] :is([${Ut}],[${Wu}])`,shown:t=>Tt.HARNESS===t.panel},{surface:fi.HEADER,selector:`[${Hu}]`,shown:t=>An.BUBBLE!==t.view}],W4=t=>t.closest("[hidden]")===null});function E1(){var t;try{let e=JSON.parse((t=globalThis.sessionStorage.getItem(OS))!=null?t:"[]");return Array.isArray(e)?e.filter(n=>typeof n=="object"&&n!==null&&typeof n.text=="string"&&typeof n.kind=="string"&&typeof n.ts=="string"&&typeof n.at=="number"):[]}catch{return[]}}function dp(t){try{globalThis.sessionStorage.setItem(OS,JSON.stringify(t))}catch{}}function b1(t){try{let e=t!=null?t:"",n=globalThis.sessionStorage.getItem(ct.PRESENTER_LOG_OWNER);return globalThis.sessionStorage.setItem(ct.PRESENTER_LOG_OWNER,e),n===null||n===e?!1:(globalThis.sessionStorage.removeItem(OS),!0)}catch{return!1}}var OS,T1=S(()=>{"use strict";Kr();OS=ct.PRESENTER_LOG});var I1={};Ua(I1,{GlowPhase:()=>Sr,LOG_KIND:()=>ke,LOG_RESULT:()=>Nn,Presenter:()=>IS});var z4,Ml,Pe,ei,Na,up,wa,Lr,Pl,$l,es,ti,Oa,Hl,Ul,kn,Fl,pp,Ia,Dn,po,fp,Vt,Gl,hp,mp,Ca,fo,kr,gp,Tn,ar,Dr,Ep,ts,bp,cr,ho,Mn,Bl,Vl,Pn,we,jl,Tp,K,S1,_1,Ra,CS,x1,A1,Ji,LS,y1,v1,kS,R1,N1,DS,w1,Dl,O1,IS,C1=S(()=>{"use strict";D();lt();_b();Db();dt();Ko();kL();yS();mm();eo();gm();Mu();Du();Et();n1();s1();l1();Tr();u1();aS();tl();yS();g1();lm();T1();Et();Ko();z4=1600,IS=class{constructor(e={}){b(this,K);b(this,Ml);b(this,Pe);b(this,ei);b(this,Na);b(this,up);b(this,wa);b(this,Lr);b(this,Pl);b(this,$l);b(this,es);b(this,ti);b(this,Oa);b(this,Hl,{passes:0,fails:0});b(this,Ul,We.IDLE);b(this,kn);b(this,Fl);b(this,pp);b(this,Ia);b(this,Dn);b(this,po,"");b(this,fp);b(this,Vt);b(this,Gl);b(this,hp);b(this,mp);b(this,Ca);b(this,fo,[]);b(this,kr,!1);b(this,gp,!1);b(this,Tn);b(this,ar);b(this,Dr);b(this,Ep);b(this,ts);b(this,bp,new cm);b(this,cr,[]);b(this,ho);b(this,Mn);b(this,Bl);b(this,Vl);b(this,Pn);b(this,we);b(this,jl);b(this,Tp,!1);var n,r,o,s,a,l,d,u,p;f(this,Ml,j0(e.paceMs)),f(this,kn,(n=e.now)!=null?n:Wf),f(this,Fl,(r=e.heartbeatMs)!=null?r:W0),f(this,pp,(o=e.idleNoticeMs)!=null?o:z0),f(this,Gl,(s=e.idleEndMs)!=null?s:Y0),f(this,hp,(a=e.sessionId)!=null?a:""),f(this,Ia,(l=e.border)!=null?l:B0),f(this,Dn,new Um({now:c(this,kn),idleAfterMs:(d=e.idleAfterMs)!=null?d:K0,glowFadeMs:(u=e.glowFadeMs)!=null?u:q0,borderMode:c(this,Ia),setMode:h=>this.setMode(h)})),f(this,Tn,nT(e.logMax)),f(this,Mn,e.onControl),f(this,Bl,e.onHudUse),f(this,Pn,new Nm({emit:(h,m)=>{var g;return(g=c(this,Mn))==null?void 0:g.call(this,m!==void 0?{kind:h,text:m}:{kind:h})},logHuman:h=>{this.log(ke.HUMAN,h)},endedFadeMs:(p=e.endedFadeMs)!=null?p:qC,runState:()=>this.runState(),clearRunLog:()=>E(this,K,kS).call(this),onStateChange:()=>E(this,K,Ra).call(this)})),f(this,we,new sp({onChatOpen:()=>c(this,we).pulseFab(!1),onExpand:()=>E(this,K,Ra).call(this),onAnnotateToggle:()=>E(this,K,Ra).call(this),onCollapse:()=>E(this,K,Ra).call(this),onSyncNow:()=>{var h;return(h=c(this,Mn))==null?void 0:h.call(this,{kind:Xt.SYNC})},onSignIn:()=>{var h;return(h=c(this,Mn))==null?void 0:h.call(this,{kind:Xt.SIGNIN})},onHarness:h=>{var m;return(m=c(this,Mn))==null?void 0:m.call(this,{kind:Xt.HARNESS,text:h?"on":"off"})},onHarnessRun:h=>{var m;return(m=c(this,Mn))==null?void 0:m.call(this,{kind:Xt.HARNESS_RUN,...h===void 0?{}:{text:h}})},onHarnessStop:()=>{var h;return(h=c(this,Mn))==null?void 0:h.call(this,{kind:Xt.HARNESS_STOP})},onHarnessLink:()=>{var h;return(h=c(this,Mn))==null?void 0:h.call(this,{kind:Xt.HARNESS_LINK})},settings:{onBeforeOpen:()=>{c(this,we).isCollapsed()&&c(this,we).expand()},onHideUntilRestart:()=>E(this,K,R1).call(this),onKill:()=>{var h;return(h=e.onKill)==null?void 0:h.call(e)},onSettingsChange:h=>E(this,K,N1).call(this,h),onHarness:h=>{var m;return(m=c(this,Mn))==null?void 0:m.call(this,{kind:Xt.HARNESS,text:h?"on":"off"})}}})),c(this,we).setProjectId(e.projectId)}setControlHandler(e){f(this,Mn,e)}get state(){return c(this,Pn).state}get sessionActive(){return c(this,kr)}setState(e,n,r){c(this,Pn).setState(e,n,r)}refilterFlows(){c(this,Pn).refilterFlows()}showSdkVersion(e){c(this,Pe)!==void 0&&IT(c(this,Pe),e)}handlePush(e){var a;let n=e.args;if(e.name===k.FLOWS)return void c(this,Pn).setFlows(n.flows);if(e.name===k.FLOW_PROGRESS)return void c(this,Pn).setFlowProgress(n);if(e.name===k.PLAN){let l=lC(n);l!==void 0&&c(this,bp).paint(l);return}if(e.name===k.IMPACT){let l=yC(n.snapshot);if(l!==void 0){c(this,we).report.setSnapshot(l),c(this,we).paintNotices(l.notices),c(this,we).paintHarness(l.harnessConfig),c(this,we).paintHarnessDrive(l.harnessDrive,l.lastDrive),E(this,K,A1).call(this,l.harnessDrive),c(this,we).paintAgent(l.agent),c(this,we).paintImpact(l.project.counts.verdicts);let d=((a=l.account)==null?void 0:a.signedIn)===!0?l.account.email:void 0;b1(d)&&E(this,K,kS).call(this),c(this,we).paintAccount(l.account,l.dashboardUrl,{projectName:l.projectName,dashboardUrl:l.dashboardUrl,verdicts:l.project.counts.verdicts,defects:l.project.counts.failed,...LI(l.harnessConfig,l.sync)})}return}let r=n.state,o=n.tone,s=typeof n.text=="string"&&n.text.length>0?n.text:void 0;Fx(r)&&this.setState(r,s,MA(o)?o:void 0)}get logMax(){return c(this,Tn)}set logMax(e){f(this,Tn,nT(e)),E(this,K,O1).call(this)}mount(){var o,s,a,l,d,u,p,h,m,g,T,_;if(c(this,Pe)!==void 0||typeof document=="undefined")return;let e=document.createElement("style");e.setAttribute("data-reticle-overlay",""),e.textContent=LL,document.head.appendChild(e);let n=document.createElement("div");n.setAttribute("data-reticle-overlay","");let r=`<div class="reticle-act-strip" data-liveness="idle"><span class="reticle-act-dot" aria-hidden="true"></span><span class="reticle-act" data-reticle-act-line>${_r.READY}</span>${JC}<span class="reticle-chip" data-reticle-chip></span><div class="reticle-act-actions">${QC}</div></div>`;n.innerHTML=`
|
|
1676
|
+
${LT()}
|
|
1686
1677
|
<div data-reticle-glow></div>
|
|
1687
1678
|
<div data-reticle-cursor></div>
|
|
1688
1679
|
<div data-reticle-ring></div>
|
|
1689
|
-
${Ou.dockHtml(r,"",JE,LO,kO)}`,document.body.appendChild(n),h(this,De,n),h(this,Fo,(o=n.querySelector("[data-reticle-glow]"))!=null?o:void 0),h(this,as,(a=n.querySelector("[data-reticle-cursor]"))!=null?a:void 0),h(this,Du,(s=n.querySelector("[data-reticle-ring]"))!=null?s:void 0),h(this,ss,(l=n.querySelector("[data-reticle-hud]"))!=null?l:void 0),h(this,Ar,(d=n.querySelector(".reticle-act"))!=null?d:void 0),h(this,El,(u=n.querySelector(".reticle-act-strip"))!=null?u:void 0),h(this,bl,(p=n.querySelector("[data-reticle-chat-pill-text]"))!=null?p:void 0),h(this,$i,(f=n.querySelector("[data-reticle-chat-pill-time]"))!=null?f:void 0),h(this,qn,(m=n.querySelector(`[${JE}]`))!=null?m:void 0),h(this,Zn,(g=n.querySelector(`[${xh}]`))!=null?g:void 0),h(this,Go,(T=n.querySelector("[data-reticle-chip]"))!=null?T:void 0),h(this,cs,(_=n.querySelector("[data-reticle-tally]"))!=null?_:void 0),c(this,we).mount(n),hh(n,yn(),!1),c(this,Nn).setElements(c(this,Fo),c(this,as)),c(this,In).mount(n,c(this,Fo)),c(this,Fu).mount(n),c(this,Al)!==void 0&&h(this,yl,WI(document,n,c(this,Al))),this.setMode(c(this,Sl)),E(this,K,ZI).call(this),E(this,K,ml).call(this)}bindAnnotator(e){h(this,vl,e);let n=c(this,De);if(n===void 0)return;let r=n.querySelector(`[${zf}]`),o=n.querySelector(`[${Yf}]`),a=n.querySelector(`[${ww}]`),s=n.querySelector(`[${Xf}]`),l=n.querySelector(`[${qf}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=p=>{u===0&&p>0&&c(this,we).openView("annotations"),u=p},d.onMarksChange=p=>c(this,we).paintAnnotations(p),s instanceof HTMLElement&&s.addEventListener("click",p=>{p.stopPropagation(),E(this,K,QI).call(this,e,s)}),r instanceof HTMLElement&&(d.markersBtn=r),o instanceof HTMLElement&&(d.clearBtn=o),a instanceof HTMLElement&&(d.countEl=a),e.attachChrome(d),e.setAccent(fu(yn().statusThemeId).active),E(this,K,is).call(this)}destroy(){var e,n;c(this,Nn).teardown(),c(this,Ct)!==void 0&&Te(c(this,Ct)),h(this,Ct,void 0),(e=c(this,yl))==null||e.call(this),h(this,yl,void 0),c(this,we).teardown(),c(this,In).teardown(),h(this,yr,!1),h(this,eo,void 0),h(this,qn,void 0),h(this,Zn,void 0),h(this,Qn,[]),ku([]),(n=c(this,De))==null||n.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(r=>r.remove()),h(this,De,void 0)}sessionStart(){var e,n;if(this.state===Me.ENDED){E(this,K,JI).call(this);return}c(this,yr)||(nb===((e=c(this,De))==null?void 0:e.getAttribute(Kf))&&c(this,De).removeAttribute(Kf),h(this,yr,!0),(n=c(this,Hu))!=null||h(this,Hu,c(this,Rn).call(this)),h(this,ds,void 0),E(this,K,CT).call(this),c(this,Nn).resetActivity(c(this,Rn).call(this)),E(this,K,LT).call(this),AT(yn().autoOpenChat)&&c(this,we).openChat())}showUnreachable(e,n){var o,a,s,l;if(c(this,yr))return;(o=c(this,De))==null||o.setAttribute(Kf,nb);let r=(a=c(this,De))==null?void 0:a.querySelector("[data-reticle-dock]");r==null||r.setAttribute(Wt,Oo),(s=c(this,ss))==null||s.setAttribute(Wt,Oo),h(this,Qr,Jv),E(this,K,Mi).call(this,c(this,Qr),!0),(l=c(this,Ar))==null||l.setAttribute("title",Af(e,n)),AT(yn().autoOpenChat)&&c(this,we).openChat()}sessionEnd(){var n,r,o,a;if(!c(this,yr))return;h(this,yr,!1),c(this,Ct)!==void 0&&(Te(c(this,Ct)),h(this,Ct,void 0));let e=(n=c(this,De))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Wt,Si),(r=c(this,ss))==null||r.setAttribute(Wt,Si),c(this,we).collapse(),c(this,ls)===Ma.SESSION&&((o=c(this,Fo))==null||o.setAttribute(Wt,Si),(a=c(this,Fo))==null||a.setAttribute(Jd,jf))}markActivity(){c(this,Nn).markActivity()}scheduleIdle(){c(this,Nn).scheduleIdle()}glowPhase(){return c(this,Nn).phase()}get mode(){return c(this,Sl)}setMode(e){var n,r;if(h(this,Sl,e),(n=c(this,De))==null||n.setAttribute("data-reticle-mode",e),c(this,Go)!==void 0){let o=pw[e];if(c(this,Go).setAttribute("data-mode",e),c(this,Go).replaceChildren(),o.length>0){let a=e===je.READING?Y.VIEW:e===je.ACTING?Y.POINTER:void 0;a!==void 0&&c(this,Go).appendChild(Fr(a,pe.CHIP));let s=document.createElement("span");s.className="reticle-chip-label",s.textContent=o,c(this,Go).appendChild(s)}}e===je.READING&&((r=c(this,as))==null||r.setAttribute(Wt,Si))}status(e){this.markActivity(),c(this,$i)!==void 0&&(c(this,$i).textContent=fr.NOW),h(this,Qr,e),E(this,K,Mi).call(this,e,!1)}placeHud(e,n){let r=c(this,De);if(r===void 0)return[];let o=[];if(En.REMOVED===e)return this.destroy(),[e];En.HIDDEN===e&&r.setAttribute(Nc,"1"),En.SHOWN===e&&r.removeAttribute(Nc),e!==void 0&&o.push(e);let a=r.querySelector(`[${D}]`);if(n!==void 0&&a instanceof HTMLElement){if(Ep.BOTTOM_RIGHT===n)ru(a);else{let s=Cc(a),l=n.endsWith("left")?0:window.innerWidth,d=n.startsWith("top")?0:window.innerHeight,u=Ic(l,d,s.width,s.height,window.innerWidth,window.innerHeight);xi(a,u.left,u.top)}o.push(n),gr(a,r)}return o}setIdleEndMs(e){Number.isFinite(e)&&h(this,xl,Math.max(vw,Math.floor(e)))}runState(){let e=LI({sessionId:c(this,Pu),state:this.state,startMs:c(this,Hu),endMs:c(this,ds),now:c(this,Rn).call(this),runLog:c(this,Jr)}),n=yn();return n.outputDetail===Er.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===Er.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r,o,a=!1){var g;let s=c(this,Rn).call(this);if(c(this,Nn).markActivity(s),h(this,$u,o),c(this,qn)===void 0)return;let l=n.trim();if(l.length===0)return;(g=c(this,eo))!=null||h(this,eo,s);let d=r!==void 0?{at:s-c(this,eo),kind:e,text:l,result:r}:{at:s-c(this,eo),kind:e,text:l};for(c(this,Jr).push(d);c(this,Jr).length>c(this,wn);)c(this,Jr).shift();let u=Ew(s-c(this,eo)),p=E(this,K,DT).call(this,o,a).map(T=>tb(T,e,l,u,c(this,wn),o)),f={result:T=>p.forEach(_=>_.result(T))};r!==void 0&&f.result(r);let m={kind:e,text:l,ts:u,at:s-c(this,eo),...o===void 0?{}:{actor:o},...a?{summary:!0}:{},...r===void 0?{}:{result:r}};for(c(this,Qn).push(m);c(this,Qn).length>c(this,wn);)c(this,Qn).shift();return ku(c(this,Qn)),c(this,we).isCollapsed()&&c(this,we).pulseFab(!0),E(this,K,ml).call(this),{result:T=>{f.result(T),d.result=T,m.result=T,ku(c(this,Qn)),E(this,K,ml).call(this)}}}narrate(e,n="info",r=ln.AGENT,o=!1){let a=n==="info"?e:`[${n}] ${e}`;return this.log(Fe.NARRATION,a,void 0,r,o)}setThrottled(e){var n;(n=c(this,De))==null||n.setAttribute(kw,e?"1":"0"),e&&c(this,Ar)!==void 0&&(c(this,Ar).textContent="Tab backgrounded - actions throttled. Bring tab to front or use `reticle drive`.")}async beforeAct(e,n,r){let o=J.resolve(e);if(this.status(`${$d(n)} ${r}`),!(o instanceof HTMLElement)){await vT(c(this,gl));return}let a=o.getBoundingClientRect(),s=a.left+a.width/2,l=a.top+a.height/2;DI(c(this,as),s,l),MI(c(this,Du),a),await vT(c(this,gl)),(k.CLICK===n||k.DBLCLICK===n||k.SUBMIT===n)&&$I(c(this,De),s,l)}};gl=new WeakMap,De=new WeakMap,Fo=new WeakMap,as=new WeakMap,Du=new WeakMap,ss=new WeakMap,Ar=new WeakMap,El=new WeakMap,bl=new WeakMap,$i=new WeakMap,Go=new WeakMap,cs=new WeakMap,Tl=new WeakMap,Sl=new WeakMap,Rn=new WeakMap,_l=new WeakMap,Mu=new WeakMap,ls=new WeakMap,Nn=new WeakMap,Qr=new WeakMap,$u=new WeakMap,Ct=new WeakMap,xl=new WeakMap,Pu=new WeakMap,Hu=new WeakMap,ds=new WeakMap,Jr=new WeakMap,yr=new WeakMap,wn=new WeakMap,qn=new WeakMap,Zn=new WeakMap,Uu=new WeakMap,Pi=new WeakMap,Fu=new WeakMap,Qn=new WeakMap,eo=new WeakMap,On=new WeakMap,Al=new WeakMap,yl=new WeakMap,In=new WeakMap,we=new WeakMap,vl=new WeakMap,K=new WeakSet,ZI=function(){if(!(c(this,qn)===void 0||0<c(this,Qn).length))for(let e of YI().slice(-c(this,wn))){for(let n of E(this,K,DT).call(this,e.actor,e.summary===!0)){let r=tb(n,e.kind,e.text,e.ts,c(this,wn),e.actor);e.result!==void 0&&r.result(e.result)}h(this,eo,c(this,Rn).call(this)-e.at),c(this,Jr).push({at:e.at,kind:e.kind,text:e.text,...e.result===void 0?{}:{result:e.result}}),c(this,Qn).push(e)}},QI=function(e,n){var o;let r=e.agentPrompt(window.location.href);(o=navigator.clipboard)==null||o.writeText(r).catch(()=>{}),n.setAttribute("data-copied","1"),ee(()=>n.removeAttribute("data-copied"),eG),yn().clearOnCopy&&e.clearAll()},is=function(){var n;let e=!c(this,we).isCollapsed()&&c(this,we).isAnnotateOn();(n=c(this,vl))==null||n.toggle(e),c(this,De)!==void 0&&hh(c(this,De),yn(),e)},CT=function(){var n,r,o;let e=(n=c(this,De))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(Wt,Oo),(r=c(this,ss))==null||r.setAttribute(Wt,Oo),c(this,ls)===Ma.SESSION&&((o=c(this,Fo))==null||o.setAttribute(Wt,Oo))},JI=function(){c(this,In).setState(Me.ACTIVE),h(this,ds,void 0),E(this,K,CT).call(this),c(this,Nn).resetActivity(c(this,Rn).call(this)),E(this,K,LT).call(this)},eC=function(e){e!==void 0&&e.runId!==c(this,Uu)&&(h(this,Uu,e.runId),c(this,Zn)!==void 0&&Vf(c(this,Zn)));let n=c(this,Pi);h(this,Pi,e==null?void 0:e.steps),e!==void 0?E(this,K,Mi).call(this,c(this,Qr),!1):n!==void 0&&E(this,K,Mi).call(this,fr.READY,!0)},Mi=function(e,n){var a;let r=c(this,Pi)===void 0?e:fr.harnessTesting(c(this,Pi));c(this,Ar)!==void 0&&(c(this,Ar).textContent=r,c(this,Ar).removeAttribute("title"));let o=n?"idle":"active";c(this,El)!==void 0&&c(this,El).setAttribute("data-liveness",o),(a=c(this,De))==null||a.setAttribute(tu,o),c(this,bl)!==void 0&&(c(this,bl).textContent=n?c(this,Qr)!==""?c(this,Qr):fr.READY:r)},LT=function(){c(this,Ct)!==void 0&&Te(c(this,Ct));let e=()=>{E(this,K,tC).call(this),h(this,Ct,ee(e,c(this,_l)))};h(this,Ct,ee(e,c(this,_l)))},tC=function(){if(!c(this,yr)||c(this,Ar)===void 0||this.state===Me.ENDED)return;let e=c(this,Rn).call(this)-c(this,Nn).lastActivityMs();if(e>=c(this,xl)){E(this,K,nC).call(this,e);return}if(e<c(this,Mu)||c(this,Qr)===""||c(this,Pi)!==void 0)return;if(ln.HARNESS===c(this,$u)){E(this,K,Mi).call(this,fr.READY,!0);return}let n=fr.SINCE_LAST;E(this,K,Mi).call(this,`${fr.PLANNING_PREFIX}${Qd(e)}${n}`,!0),c(this,$i)!==void 0&&(c(this,$i).textContent=Qd(e))},nC=function(e){h(this,ds,c(this,Rn).call(this)),c(this,In).setState(Me.ENDED,`${fr.STOPPED_PREFIX}${Qd(e)} quiet`),E(this,K,Mi).call(this,fr.STOPPED,!1),c(this,Ct)!==void 0&&(Te(c(this,Ct)),h(this,Ct,void 0))},kT=function(){h(this,Jr,[]),h(this,Qn,[]),ku([]),h(this,Tl,{passes:0,fails:0}),c(this,qn)!==void 0&&Vf(c(this,qn)),c(this,Zn)!==void 0&&Vf(c(this,Zn)),E(this,K,ml).call(this)},rC=function(){var e;(e=c(this,De))==null||e.setAttribute("data-reticle-hidden","1"),c(this,we).collapse()},oC=function(e){var n,r;(n=c(this,vl))==null||n.setAccent(fu(e.statusThemeId).active),e.showTally?E(this,K,ml).call(this):(r=c(this,cs))==null||r.setAttribute("hidden",""),E(this,K,is).call(this)},DT=function(e,n){let r=c(this,qn),o=c(this,Zn);return ln.HARNESS!==e||o===void 0?r===void 0?[]:[r]:n&&r!==void 0?[r,o]:[o]},ml=function(){var e;if(!yn().showTally){(e=c(this,cs))==null||e.setAttribute("hidden","");return}h(this,Tl,GI(c(this,cs),c(this,Jr),c(this,Tl)))},iC=function(){c(this,qn)!==void 0&&(Bf(c(this,qn),c(this,wn)),c(this,Zn)!==void 0&&Bf(c(this,Zn),c(this,wn)))}});var Be,cC,lC,dC,uC=S(()=>{"use strict";Be={NONE:"none",HUD:"hud",APP:"app",HUD_CHAT:"hud-chat",HUD_FLOWS:"hud-flows",HUD_ANNOTATE:"hud-annotate",HUD_IMPACT:"hud-impact",HUD_SETTINGS:"hud-settings"},cC=[{label:"Verify one flow",text:"verify the login flow with Reticle, and tell me the verdict"},{label:"Check what is proved",text:"/reticle"},{label:"Let it loose",text:"monkey-test the checkout flow with Reticle and tell me what breaks"}],lC=[{id:"connect",title:"Yayyy! It is connected",say:"That panel is Reticle. Seeing it is your proof the SDK is connected to your app.",why:"It only mounts on a connected session, so it cannot show up without one. Having the tools is not the same as being set up.",call:'reticle_session { action: "list" }',anchor:Be.HUD},{id:"look",title:"Look, without pixels",say:"Take a semantic snapshot. You get the controls and their refs, not pixels, so you can point at things by name.",why:"A ref is stable across snapshots, which is what lets you plan several steps before spending any of them.",call:'reticle_look { action: "page" }',anchor:Be.APP},{id:"declare",title:"Say it first",say:'Decide what should happen BEFORE you touch anything. "Clicking Pay makes the receipt appear" is a claim that can be wrong.',why:"This is the whole idea. A consequence named first is a check; the same sentence written after the fact is a rationalisation, and it is the difference between a verdict and a story.",call:'until: { signal: "order:placed" } // a consequence \u2014 not until: { ms: 500 }',anchor:Be.NONE},{id:"verdict",title:"Act, and prove it",say:"Act and prove in one call. The answer says verified yes / no / unknown, and `because` names the evidence that decided it.",why:'Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. A drive that ends without one has no result, however many tools it used \u2014 and "unknown" is an honest answer, not a pass.',call:'reticle_act_and_wait { ref, action: "click", until: { signal: "order:placed" } }',anchor:Be.HUD}],dC=[{id:"hud-chat",title:"Agent Log",say:"Watch what your agent is doing in your app, as it happens, and which steps it proved.",anchor:Be.HUD_CHAT,tryIt:"Open it."},{id:"hud-flows",title:"Saved flows",say:"Every journey your agent verifies is saved here. Replay one with a click, with no agent in the loop.",anchor:Be.HUD_FLOWS,tryIt:"Open them."},{id:"hud-annotate",title:"Notes",say:"Open Notes, then click anywhere in your app to drop a numbered pin with a note. Hand the pins to your agent and it fixes them.",anchor:Be.HUD_ANNOTATE,tryIt:"Open Notes, then pin something in your app."},{id:"hud-impact",title:"What's the impact?",say:"Everything Reticle has done here. Every bug it caught, every metric.",anchor:Be.HUD_IMPACT,tryIt:"Take a look."},{id:"hud-settings",title:"Make it yours",say:"Change how Reticle looks and behaves.",anchor:Be.HUD_SETTINGS,tryIt:"Open it."}]});var MT=S(()=>{"use strict";uC()});function HT(){return[...$T.map(nG),{index:tG,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Be.NONE,prompts:cC}]}function Gu(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function rG(t){return Gu(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function UT(t,e){let n=t+e;return n<0?0:n>qh-1?qh-1:n}function gC(t,e,n){let r=Math.max(0,t.left),o=Math.max(0,t.top),a=Math.min(e,t.left+t.width),s=Math.min(n,t.top+t.height);return[{left:0,top:0,width:e,height:o},{left:0,top:s,width:e,height:n-s},{left:0,top:o,width:r,height:s-o},{left:a,top:o,width:e-a,height:s-o}].filter(d=>d.width>0&&d.height>0)}function EC(t){let e=HT().map(s=>`<span class="reticle-tour-dot${s.index===t.index?" is-on":""}" aria-hidden="true"></span>`).join(""),n=t.tryIt===void 0?"":`<p class="reticle-tour-try" ${Bo}="try">${Gu(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((s,l)=>`<div class="reticle-tour-prompt" ${Bu}="${String(l)}"><span class="reticle-tour-prompt-label">${Gu(s.label)}</span><pre class="reticle-tour-prompt-text">${Gu(s.text)}</pre><button type="button" class="reticle-tour-copy" ${Bo}="copy" ${Bu}="${String(l)}">${PT}</button></div>`).join("")+"</div>",o=t.index===0?"":`<button type="button" class="reticle-tour-back" ${Bo}="back">Back</button>`,a=FT(t.index)?`<button type="button" class="reticle-tour-next" ${Bo}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${Bo}="next">Next</button>`;return`<div class="reticle-tour-card" role="dialog" aria-modal="false" aria-label="Reticle tour"><button type="button" class="reticle-tour-skip" ${Bo}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(qh)}</p><h2 class="reticle-tour-title">${Gu(t.title)}</h2><p class="reticle-tour-body">${rG(t.body)}</p>`+n+r+`<div class="reticle-tour-foot"><div class="reticle-tour-dots">${e}</div><div class="reticle-tour-nav">${o}${a}</div></div></div>`}var $T,tG,qh,de,Bo,Bu,PT,pC,fC,hC,nG,mC,FT,bC,TC=S(()=>{"use strict";MT();$T=[...lC.slice(0,1),...dC],tG=$T.length,qh=$T.length+1,de="data-reticle-tour",Bo="data-reticle-tour-target",Bu="data-reticle-tour-prompt",PT="Copy",pC="Copied",fC="Selected \u2014 press Ctrl/Cmd+C",hC=1600,nG=(t,e)=>{var n;return{index:e,title:t.title,body:t.say,anchor:(n=t.anchor)!=null?n:Be.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}},mC=t=>t.tryIt!==void 0;FT=t=>t===qh-1;bC=`
|
|
1690
|
-
[${
|
|
1680
|
+
${sp.dockHtml(r,"",tT,eL,tL)}`,document.body.appendChild(n),f(this,Pe,n),f(this,ei,(o=n.querySelector("[data-reticle-glow]"))!=null?o:void 0),f(this,Na,(s=n.querySelector("[data-reticle-cursor]"))!=null?s:void 0),f(this,up,(a=n.querySelector("[data-reticle-ring]"))!=null?a:void 0),f(this,wa,(l=n.querySelector("[data-reticle-hud]"))!=null?l:void 0),f(this,Lr,(d=n.querySelector(".reticle-act"))!=null?d:void 0),f(this,Pl,(u=n.querySelector(".reticle-act-strip"))!=null?u:void 0),f(this,$l,(p=n.querySelector("[data-reticle-chat-pill-text]"))!=null?p:void 0),f(this,es,(h=n.querySelector("[data-reticle-chat-pill-time]"))!=null?h:void 0),f(this,ar,(m=n.querySelector(`[${tT}]`))!=null?m:void 0),f(this,Dr,(g=n.querySelector(`[${hm}]`))!=null?g:void 0),f(this,ti,(T=n.querySelector("[data-reticle-chip]"))!=null?T:void 0),f(this,Oa,(_=n.querySelector("[data-reticle-tally]"))!=null?_:void 0),c(this,we).mount(n),sm(n,nr(),!1),c(this,Dn).setElements(c(this,ei),c(this,Na)),c(this,Pn).mount(n,c(this,ei)),c(this,bp).mount(n),c(this,Bl)!==void 0&&f(this,Vl,m1(document,n,c(this,Bl))),this.setMode(c(this,Ul)),E(this,K,S1).call(this),E(this,K,Dl).call(this)}bindAnnotator(e){f(this,jl,e);let n=c(this,Pe);if(n===void 0)return;let r=n.querySelector(`[${Hh}]`),o=n.querySelector(`[${Uh}]`),s=n.querySelector(`[${Q0}]`),a=n.querySelector(`[${Fh}]`),l=n.querySelector(`[${Gh}]`),d={};l instanceof HTMLElement&&(d.copyRow=l);let u=e.markCount;d.onCount=p=>{u===0&&p>0&&c(this,we).openView("annotations"),u=p},d.onMarksChange=p=>c(this,we).paintAnnotations(p),a instanceof HTMLElement&&a.addEventListener("click",p=>{p.stopPropagation(),E(this,K,_1).call(this,e,a)}),r instanceof HTMLElement&&(d.markersBtn=r),o instanceof HTMLElement&&(d.clearBtn=o),s instanceof HTMLElement&&(d.countEl=s),e.attachChrome(d),e.setAccent(Bu(nr().statusThemeId).active),E(this,K,Ra).call(this)}destroy(){var e,n;c(this,Dn).teardown(),c(this,Vt)!==void 0&&_e(c(this,Vt)),f(this,Vt,void 0),(e=c(this,Vl))==null||e.call(this),f(this,Vl,void 0),c(this,we).teardown(),c(this,Pn).teardown(),f(this,kr,!1),f(this,ho,void 0),f(this,ar,void 0),f(this,Dr,void 0),f(this,cr,[]),dp([]),(n=c(this,Pe))==null||n.remove(),document.querySelectorAll("style[data-reticle-overlay]").forEach(r=>r.remove()),f(this,Pe,void 0)}sessionStart(){var e,n;if(this.state===$e.ENDED){E(this,K,x1).call(this);return}c(this,kr)||(rT===((e=c(this,Pe))==null?void 0:e.getAttribute(Ph))&&c(this,Pe).removeAttribute(Ph),f(this,kr,!0),(n=c(this,mp))!=null||f(this,mp,c(this,kn).call(this)),f(this,Ca,void 0),E(this,K,CS).call(this),c(this,Dn).resetActivity(c(this,kn).call(this)),E(this,K,LS).call(this),AS()&&c(this,we).openChat())}showUnreachable(e,n){var o,s,a,l;if(c(this,kr))return;(o=c(this,Pe))==null||o.setAttribute(Ph,rT);let r=(s=c(this,Pe))==null?void 0:s.querySelector("[data-reticle-dock]");r==null||r.setAttribute(tn,Wo),(a=c(this,wa))==null||a.setAttribute(tn,Wo),f(this,po,_w),E(this,K,Ji).call(this,c(this,po),!0),(l=c(this,Lr))==null||l.setAttribute("title",dh(e,n)),AS()&&c(this,we).openChat()}sessionEnd(){var n,r,o,s;if(!c(this,kr))return;f(this,kr,!1),c(this,Vt)!==void 0&&(_e(c(this,Vt)),f(this,Vt,void 0));let e=(n=c(this,Pe))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(tn,$i),(r=c(this,wa))==null||r.setAttribute(tn,$i),c(this,we).collapse(),c(this,Ia)===ta.SESSION&&((o=c(this,ei))==null||o.setAttribute(tn,$i),(s=c(this,ei))==null||s.setAttribute(wu,Mh))}markActivity(){c(this,Dn).markActivity()}scheduleIdle(){c(this,Dn).scheduleIdle()}glowPhase(){return c(this,Dn).phase()}get mode(){return c(this,Ul)}setMode(e){var n,r;if(f(this,Ul,e),(n=c(this,Pe))==null||n.setAttribute("data-reticle-mode",e),c(this,ti)!==void 0){let o=P0[e];if(c(this,ti).setAttribute("data-mode",e),c(this,ti).replaceChildren(),o.length>0){let s=e===We.READING?Q.VIEW:e===We.ACTING?Q.POINTER:void 0;s!==void 0&&c(this,ti).appendChild(Qr(s,he.CHIP));let a=document.createElement("span");a.className="reticle-chip-label",a.textContent=o,c(this,ti).appendChild(a)}}e===We.READING&&((r=c(this,Na))==null||r.setAttribute(tn,$i))}status(e){this.markActivity(),c(this,es)!==void 0&&(c(this,es).textContent=_r.NOW),f(this,po,e),E(this,K,Ji).call(this,e,!1)}placeHud(e,n){let r=c(this,Pe);if(r===void 0)return c(this,Tp)?[Vx]:[];let o=[];if(yn.REMOVED===e)return f(this,Tp,!0),this.destroy(),[e];yn.HIDDEN===e&&r.setAttribute(Wc,"1"),yn.SHOWN===e&&r.removeAttribute(Wc),e!==void 0&&o.push(e);let s=r.querySelector(`[${M}]`);if(n!==void 0&&s instanceof HTMLElement){if(Qp.BOTTOM_RIGHT===n)Lu(s);else{let a=qc(s),l=n.endsWith("left")?0:window.innerWidth,d=n.startsWith("top")?0:window.innerHeight,u=Xc(l,d,a.width,a.height,window.innerWidth,window.innerHeight);Ui(s,u.left,u.top)}o.push(n),yr(s,r)}return o}setIdleEndMs(e){Number.isFinite(e)&&f(this,Gl,Math.max(X0,Math.floor(e)))}runState(){let e=t1({sessionId:c(this,hp),state:this.state,startMs:c(this,mp),endMs:c(this,Ca),now:c(this,kn).call(this),runLog:c(this,fo)}),n=nr();return n.outputDetail===vr.MINIMAL?{session:e.session,url:e.url,state:e.state,startedMs:e.startedMs,durationMs:e.durationMs,counts:e.counts}:n.outputDetail===vr.VERBOSE&&n.reactComponents?{...e,includeReactComponents:!0}:e}log(e,n,r,o,s=!1){var g;let a=c(this,kn).call(this);if(c(this,Dn).markActivity(a),f(this,fp,o),c(this,ar)===void 0)return;let l=n.trim();if(l.length===0)return;(g=c(this,ho))!=null||f(this,ho,a);let d=r!==void 0?{at:a-c(this,ho),kind:e,text:l,result:r}:{at:a-c(this,ho),kind:e,text:l};for(c(this,fo).push(d);c(this,fo).length>c(this,Tn);)c(this,fo).shift();let u=G0(a-c(this,ho)),p=E(this,K,DS).call(this,o,s).map(T=>Dh(T,e,l,u,c(this,Tn),o)),h={result:T=>p.forEach(_=>_.result(T))};r!==void 0&&h.result(r);let m={kind:e,text:l,ts:u,at:a-c(this,ho),...o===void 0?{}:{actor:o},...s?{summary:!0}:{},...r===void 0?{}:{result:r}};for(c(this,cr).push(m);c(this,cr).length>c(this,Tn);)c(this,cr).shift();return dp(c(this,cr)),E(this,K,w1).call(this,e),c(this,we).isCollapsed()&&c(this,we).pulseFab(!0),E(this,K,Dl).call(this),{result:T=>{h.result(T),d.result=T,m.result=T,dp(c(this,cr)),E(this,K,Dl).call(this)}}}narrate(e,n="info",r=Jt.AGENT,o=!1){let s=n==="info"?e:`[${n}] ${e}`;return this.log(ke.NARRATION,s,void 0,r,o)}setThrottled(e){var n;(n=c(this,Pe))==null||n.setAttribute(rI,e?"1":"0"),e&&c(this,Lr)!==void 0&&(c(this,Lr).textContent="Tab backgrounded - actions throttled. Bring tab to front or use `reticle drive`.")}async beforeAct(e,n,r){let o=X.resolve(e);if(this.status(`${uu(n)} ${r}`),!(o instanceof HTMLElement)){await vS(c(this,Ml));return}let s=o.getBoundingClientRect(),a=s.left+s.width/2,l=s.top+s.height/2;r1(c(this,Na),a,l),o1(c(this,up),s),await vS(c(this,Ml)),(L.CLICK===n||L.DBLCLICK===n||L.SUBMIT===n)&&i1(c(this,Pe),a,l)}};Ml=new WeakMap,Pe=new WeakMap,ei=new WeakMap,Na=new WeakMap,up=new WeakMap,wa=new WeakMap,Lr=new WeakMap,Pl=new WeakMap,$l=new WeakMap,es=new WeakMap,ti=new WeakMap,Oa=new WeakMap,Hl=new WeakMap,Ul=new WeakMap,kn=new WeakMap,Fl=new WeakMap,pp=new WeakMap,Ia=new WeakMap,Dn=new WeakMap,po=new WeakMap,fp=new WeakMap,Vt=new WeakMap,Gl=new WeakMap,hp=new WeakMap,mp=new WeakMap,Ca=new WeakMap,fo=new WeakMap,kr=new WeakMap,gp=new WeakMap,Tn=new WeakMap,ar=new WeakMap,Dr=new WeakMap,Ep=new WeakMap,ts=new WeakMap,bp=new WeakMap,cr=new WeakMap,ho=new WeakMap,Mn=new WeakMap,Bl=new WeakMap,Vl=new WeakMap,Pn=new WeakMap,we=new WeakMap,jl=new WeakMap,Tp=new WeakMap,K=new WeakSet,S1=function(){if(!(c(this,ar)===void 0||0<c(this,cr).length))for(let e of E1().slice(-c(this,Tn))){for(let n of E(this,K,DS).call(this,e.actor,e.summary===!0)){let r=Dh(n,e.kind,e.text,e.ts,c(this,Tn),e.actor);e.result!==void 0&&r.result(e.result)}f(this,ho,c(this,kn).call(this)-e.at),c(this,fo).push({at:e.at,kind:e.kind,text:e.text,...e.result===void 0?{}:{result:e.result}}),c(this,cr).push(e)}},_1=function(e,n){var o;let r=e.agentPrompt(window.location.href);(o=navigator.clipboard)==null||o.writeText(r).catch(()=>{}),n.setAttribute("data-copied","1"),oe(()=>n.removeAttribute("data-copied"),z4),nr().clearOnCopy&&e.clearAll()},Ra=function(){var n;let e=!c(this,we).isCollapsed()&&c(this,we).isAnnotateOn();(n=c(this,jl))==null||n.toggle(e),c(this,Pe)!==void 0&&sm(c(this,Pe),nr(),e)},CS=function(){var n,r,o;let e=(n=c(this,Pe))==null?void 0:n.querySelector("[data-reticle-dock]");e==null||e.setAttribute(tn,Wo),(r=c(this,wa))==null||r.setAttribute(tn,Wo),c(this,Ia)===ta.SESSION&&((o=c(this,ei))==null||o.setAttribute(tn,Wo))},x1=function(){c(this,Pn).setState($e.ACTIVE),f(this,Ca,void 0),E(this,K,CS).call(this),c(this,Dn).resetActivity(c(this,kn).call(this)),E(this,K,LS).call(this)},A1=function(e){var o;let n=c(this,Dr);if(e!==void 0&&e.runId!==c(this,Ep)&&(f(this,Ep,e.runId),n!==void 0&&kh(n)),n!==void 0&&n.childElementCount===0)for(let s of(o=e==null?void 0:e.lines)!=null?o:[])Dh(n,ke.NARRATION,s,"",c(this,Tn),Jt.HARNESS);let r=c(this,ts);f(this,ts,e==null?void 0:e.steps),e!==void 0?E(this,K,Ji).call(this,c(this,po),!1):r!==void 0&&E(this,K,Ji).call(this,_r.READY,!0)},Ji=function(e,n){var s;let r=c(this,ts)===void 0?e:_r.harnessTesting(c(this,ts));c(this,Lr)!==void 0&&(c(this,Lr).textContent=r,c(this,Lr).removeAttribute("title"));let o=n?"idle":"active";c(this,Pl)!==void 0&&c(this,Pl).setAttribute("data-liveness",o),(s=c(this,Pe))==null||s.setAttribute(Iu,o),c(this,$l)!==void 0&&(c(this,$l).textContent=n?c(this,po)!==""?c(this,po):_r.READY:r)},LS=function(){c(this,Vt)!==void 0&&_e(c(this,Vt));let e=()=>{E(this,K,y1).call(this),f(this,Vt,oe(e,c(this,Fl)))};f(this,Vt,oe(e,c(this,Fl)))},y1=function(){if(!c(this,kr)||c(this,Lr)===void 0||this.state===$e.ENDED)return;let e=c(this,kn).call(this)-c(this,Dn).lastActivityMs();if(e>=c(this,Gl)){E(this,K,v1).call(this,e);return}if(e<c(this,pp)||c(this,po)===""||c(this,ts)!==void 0)return;if(Jt.HARNESS===c(this,fp)){E(this,K,Ji).call(this,_r.READY,!0);return}let n=_r.SINCE_LAST;E(this,K,Ji).call(this,`${_r.PLANNING_PREFIX}${Nu(e)}${n}`,!0),c(this,es)!==void 0&&(c(this,es).textContent=Nu(e))},v1=function(e){f(this,Ca,c(this,kn).call(this)),c(this,Pn).setState($e.ENDED,`${_r.STOPPED_PREFIX}${Nu(e)} quiet`),E(this,K,Ji).call(this,_r.STOPPED,!1),c(this,Vt)!==void 0&&(_e(c(this,Vt)),f(this,Vt,void 0))},kS=function(){f(this,fo,[]),f(this,cr,[]),dp([]),f(this,Hl,{passes:0,fails:0}),c(this,ar)!==void 0&&kh(c(this,ar)),c(this,Dr)!==void 0&&kh(c(this,Dr)),E(this,K,Dl).call(this)},R1=function(){var e;(e=c(this,Pe))==null||e.setAttribute("data-reticle-hidden","1"),c(this,we).collapse()},N1=function(e){var n,r;(n=c(this,jl))==null||n.setAccent(Bu(e.statusThemeId).active),e.showTally?E(this,K,Dl).call(this):(r=c(this,Oa))==null||r.setAttribute("hidden",""),E(this,K,Ra).call(this)},DS=function(e,n){let r=c(this,ar),o=c(this,Dr);return Jt.HARNESS!==e||o===void 0?r===void 0?[]:[r]:n&&r!==void 0?[r,o]:[o]},w1=function(e){c(this,gp)||ke.HUMAN===e||(f(this,gp,!0),e1(nr().autoOpenChat)&&c(this,we).openChat())},Dl=function(){var e;if(!nr().showTally){(e=c(this,Oa))==null||e.setAttribute("hidden","");return}f(this,Hl,d1(c(this,Oa),c(this,fo),c(this,Hl)))},O1=function(){c(this,ar)!==void 0&&(Lh(c(this,ar),c(this,Tn)),c(this,Dr)!==void 0&&Lh(c(this,Dr),c(this,Tn)))}});var Ve,L1,k1,D1,M1=S(()=>{"use strict";Ve={NONE:"none",HUD:"hud",APP:"app",HUD_CHAT:"hud-chat",HUD_FLOWS:"hud-flows",HUD_ANNOTATE:"hud-annotate",HUD_IMPACT:"hud-impact",HUD_SETTINGS:"hud-settings"},L1=[{label:"Verify one flow",text:"verify the login flow with Reticle, and tell me the verdict"},{label:"Check what is proved",text:"/reticle"},{label:"Let it loose",text:"monkey-test the checkout flow with Reticle and tell me what breaks"}],k1=[{id:"connect",title:"Yayyy! It is connected",say:"That panel is Reticle. Seeing it is your proof the SDK is connected to your app.",why:"It only mounts on a connected session, so it cannot show up without one. Having the tools is not the same as being set up.",call:'reticle_session { action: "list" }',anchor:Ve.HUD},{id:"look",title:"Look, without pixels",say:"Take a semantic snapshot. You get the controls and their refs, not pixels, so you can point at things by name.",why:"A ref is stable across snapshots, which is what lets you plan several steps before spending any of them.",call:'reticle_look { action: "page" }',anchor:Ve.APP},{id:"declare",title:"Say it first",say:'Decide what should happen BEFORE you touch anything. "Clicking Pay makes the receipt appear" is a claim that can be wrong.',why:"This is the whole idea. A consequence named first is a check; the same sentence written after the fact is a rationalisation, and it is the difference between a verdict and a story.",call:'until: { signal: "order:placed" } // a consequence \u2014 not until: { ms: 500 }',anchor:Ve.NONE},{id:"verdict",title:"Act, and prove it",say:"Act and prove in one call. The answer says verified yes / no / unknown, and `because` names the evidence that decided it.",why:'Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. A drive that ends without one has no result, however many tools it used \u2014 and "unknown" is an honest answer, not a pass.',call:'reticle_act_and_wait { ref, action: "click", until: { signal: "order:placed" } }',anchor:Ve.HUD}],D1=[{id:"hud-chat",title:"Agent Log",say:"Watch what your agent is doing in your app, as it happens, and which steps it proved.",anchor:Ve.HUD_CHAT,tryIt:"Open it."},{id:"hud-flows",title:"Saved flows",say:"Every journey your agent verifies is saved here. Replay one with a click, with no agent in the loop.",anchor:Ve.HUD_FLOWS,tryIt:"Open them."},{id:"hud-annotate",title:"Notes",say:"Open Notes, then click anywhere in your app to drop a numbered pin with a note. Hand the pins to your agent and it fixes them.",anchor:Ve.HUD_ANNOTATE,tryIt:"Open Notes, then pin something in your app."},{id:"hud-impact",title:"What's the impact?",say:"Everything Reticle has done here. Every bug it caught, every metric.",anchor:Ve.HUD_IMPACT,tryIt:"Take a look."},{id:"hud-settings",title:"Make it yours",say:"Change how Reticle looks and behaves.",anchor:Ve.HUD_SETTINGS,tryIt:"Open it."}]});var MS=S(()=>{"use strict";M1()});function HS(){return[...PS.map(X4),{index:Y4,title:"Get Started",body:"Paste one of these into Claude Code, Cursor, Codex, or whatever you use.",anchor:Ve.NONE,prompts:L1}]}function Sp(t){return t.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")}function q4(t){return Sp(t).replace(/`([^`]+)`/g,'<code class="reticle-tour-code">$1</code>')}function US(t,e){let n=t+e;return n<0?0:n>Fm-1?Fm-1:n}function F1(t,e,n){let r=Math.max(0,t.left),o=Math.max(0,t.top),s=Math.min(e,t.left+t.width),a=Math.min(n,t.top+t.height);return[{left:0,top:0,width:e,height:o},{left:0,top:a,width:e,height:n-a},{left:0,top:o,width:r,height:a-o},{left:s,top:o,width:e-s,height:a-o}].filter(d=>d.width>0&&d.height>0)}function G1(t){let e=HS().map(a=>`<span class="reticle-tour-dot${a.index===t.index?" is-on":""}" aria-hidden="true"></span>`).join(""),n=t.tryIt===void 0?"":`<p class="reticle-tour-try" ${ni}="try">${Sp(t.tryIt)}</p>`,r=t.prompts===void 0?"":'<div class="reticle-tour-prompts">'+t.prompts.map((a,l)=>`<div class="reticle-tour-prompt" ${_p}="${String(l)}"><span class="reticle-tour-prompt-label">${Sp(a.label)}</span><pre class="reticle-tour-prompt-text">${Sp(a.text)}</pre><button type="button" class="reticle-tour-copy" ${ni}="copy" ${_p}="${String(l)}">${$S}</button></div>`).join("")+"</div>",o=t.index===0?"":`<button type="button" class="reticle-tour-back" ${ni}="back">Back</button>`,s=FS(t.index)?`<button type="button" class="reticle-tour-next" ${ni}="done">Done</button>`:`<button type="button" class="reticle-tour-next" ${ni}="next">Next</button>`;return`<div class="reticle-tour-card" role="dialog" aria-modal="false" aria-label="Reticle tour"><button type="button" class="reticle-tour-skip" ${ni}="skip" aria-label="Skip the tour">Skip</button><p class="reticle-tour-step">Step ${String(t.index+1)} of ${String(Fm)}</p><h2 class="reticle-tour-title">${Sp(t.title)}</h2><p class="reticle-tour-body">${q4(t.body)}</p>`+n+r+`<div class="reticle-tour-foot"><div class="reticle-tour-dots">${e}</div><div class="reticle-tour-nav">${o}${s}</div></div></div>`}var PS,Y4,Fm,pe,ni,_p,$S,P1,$1,H1,X4,U1,FS,B1,V1=S(()=>{"use strict";MS();PS=[...k1.slice(0,1),...D1],Y4=PS.length,Fm=PS.length+1,pe="data-reticle-tour",ni="data-reticle-tour-target",_p="data-reticle-tour-prompt",$S="Copy",P1="Copied",$1="Selected \u2014 press Ctrl/Cmd+C",H1=1600,X4=(t,e)=>{var n;return{index:e,title:t.title,body:t.say,anchor:(n=t.anchor)!=null?n:Ve.NONE,...t.tryIt===void 0?{}:{tryIt:t.tryIt}}},U1=t=>t.tryIt!==void 0;FS=t=>t===Fm-1;B1=`
|
|
1681
|
+
[${pe}]{position:fixed;inset:0;z-index:${String(2147483630)};pointer-events:none;
|
|
1691
1682
|
font:13px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
|
|
1692
|
-
[${
|
|
1683
|
+
[${pe}] .reticle-tour-scrim{position:absolute;inset:0;background:rgba(6,8,14,.55);
|
|
1693
1684
|
backdrop-filter:blur(1.5px);pointer-events:auto;z-index:0;}
|
|
1694
1685
|
/* Blocks the click everywhere the hole is not. Same job as the scrim, minus the one rectangle the
|
|
1695
1686
|
slide is inviting somebody to press. */
|
|
1696
|
-
[${
|
|
1687
|
+
[${pe}] .reticle-tour-blocker{position:absolute;pointer-events:auto;z-index:0;}
|
|
1697
1688
|
/* Ringed slides dim through the ring's own 9999px shadow, which leaves a hole over the thing being
|
|
1698
1689
|
pointed at. The scrim would cover that hole -- dimming the HUD the slide is ABOUT, and washing
|
|
1699
1690
|
the page twice (~80% rather than 55%).
|
|
@@ -1701,7 +1692,7 @@ ${sI}`});function EI(){let t=Ee(Y.REMOVE,pe.MIN);return`<div ${w} class="reticle
|
|
|
1701
1692
|
VISIBLY blocking: reported from the field on 3.1.0 by several users, one of whom removed the
|
|
1702
1693
|
plugin, because a cleared scrim went on eating every press on a page that looked lit and
|
|
1703
1694
|
reachable. An overlay that looks transparent and behaves opaque reads as the app being broken. */
|
|
1704
|
-
[${
|
|
1695
|
+
[${pe}] .reticle-tour-scrim.is-clear{background:transparent;backdrop-filter:none;
|
|
1705
1696
|
pointer-events:none;}
|
|
1706
1697
|
/* Above the ring, and the z-index is the whole point.
|
|
1707
1698
|
The ring is appended after the card, and both are positioned with an auto z-index, so the ring
|
|
@@ -1709,58 +1700,58 @@ ${sI}`});function EI(){let t=Ee(Y.REMOVE,pe.MIN);return`<div ${w} class="reticle
|
|
|
1709
1700
|
card as well. On every ringed slide the card was washed at 55% and read as sitting BEHIND the page
|
|
1710
1701
|
it was drawn over. The ring must stay above the scrim and below the card; saying so explicitly is
|
|
1711
1702
|
the fix, because DOM order alone cannot express "between these two". */
|
|
1712
|
-
[${
|
|
1703
|
+
[${pe}] .reticle-tour-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
|
|
1713
1704
|
width:min(430px,calc(100vw - 32px));box-sizing:border-box;pointer-events:auto;z-index:3;
|
|
1714
1705
|
background:#14161d;color:#e8eaf0;border:1px solid #2b303d;border-radius:14px;padding:20px 20px 16px;
|
|
1715
1706
|
box-shadow:0 24px 60px rgba(0,0,0,.5);}
|
|
1716
|
-
[${
|
|
1707
|
+
[${pe}] .reticle-tour-skip{position:absolute;top:10px;right:12px;background:none;border:0;
|
|
1717
1708
|
color:#8a93a6;font:inherit;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;}
|
|
1718
|
-
[${
|
|
1719
|
-
[${
|
|
1709
|
+
[${pe}] .reticle-tour-skip:hover{color:#e8eaf0;background:rgba(255,255,255,.06);}
|
|
1710
|
+
[${pe}] .reticle-tour-step{margin:0 0 6px;font-size:11px;letter-spacing:.06em;
|
|
1720
1711
|
text-transform:uppercase;color:#7f8798;}
|
|
1721
|
-
[${
|
|
1712
|
+
[${pe}] .reticle-tour-title{margin:0 0 8px;font-size:18px;line-height:1.25;font-weight:650;
|
|
1722
1713
|
color:#f2f4f8;}
|
|
1723
|
-
[${
|
|
1714
|
+
[${pe}] .reticle-tour-body{margin:0 0 10px;color:#c9cedb;}
|
|
1724
1715
|
/* A call named inside a sentence. Sets its own colour for the reason every other text class does:
|
|
1725
1716
|
an inherited one loses to any direct element selector in the host app. */
|
|
1726
|
-
[${
|
|
1717
|
+
[${pe}] .reticle-tour-code{padding:1px 5px;border-radius:5px;background:#0c0e14;
|
|
1727
1718
|
border:1px solid #232834;color:#9fb6ff;
|
|
1728
1719
|
font:11.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;}
|
|
1729
|
-
[${
|
|
1720
|
+
[${pe}] .reticle-tour-try{margin:0 0 12px;padding:8px 10px;border-radius:8px;
|
|
1730
1721
|
background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.32);color:#c7cbff;
|
|
1731
1722
|
font-size:12.5px;font-weight:550;}
|
|
1732
|
-
[${
|
|
1733
|
-
[${
|
|
1723
|
+
[${pe}] .reticle-tour-prompts{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;}
|
|
1724
|
+
[${pe}] .reticle-tour-prompt{display:grid;gap:6px;padding:9px 10px;border-radius:8px;
|
|
1734
1725
|
background:#0c0e14;border:1px solid #232834;
|
|
1735
1726
|
grid-template-columns:1fr auto;grid-template-areas:"label copy" "text text";align-items:center;}
|
|
1736
|
-
[${
|
|
1727
|
+
[${pe}] .reticle-tour-prompt-label{grid-area:label;color:#8a93a6;font-size:11px;
|
|
1737
1728
|
letter-spacing:.05em;text-transform:uppercase;}
|
|
1738
|
-
[${
|
|
1729
|
+
[${pe}] .reticle-tour-prompt-text{grid-area:text;width:100%;box-sizing:border-box;margin:0;
|
|
1739
1730
|
white-space:pre-wrap;overflow-wrap:anywhere;color:#c9cedb;
|
|
1740
1731
|
font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;}
|
|
1741
|
-
[${
|
|
1732
|
+
[${pe}] .reticle-tour-copy{grid-area:copy;padding:5px 10px;border-radius:6px;
|
|
1742
1733
|
border:1px solid #2b303d;background:transparent;color:#c9cedb;font:inherit;font-size:11.5px;
|
|
1743
1734
|
font-weight:600;cursor:pointer;white-space:nowrap;}
|
|
1744
|
-
[${
|
|
1735
|
+
[${pe}] .reticle-tour-copy:hover{background:rgba(255,255,255,.07);color:#fff;}
|
|
1745
1736
|
/* The flash that tells somebody the click did something. Colour AND text: colour alone is not an
|
|
1746
1737
|
answer for the people who cannot see the difference. */
|
|
1747
|
-
[${
|
|
1748
|
-
[${
|
|
1749
|
-
[${
|
|
1750
|
-
[${
|
|
1751
|
-
[${
|
|
1752
|
-
[${
|
|
1753
|
-
[${
|
|
1754
|
-
[${
|
|
1738
|
+
[${pe}] .reticle-tour-copy.is-done{background:#16a34a;border-color:#16a34a;color:#fff;}
|
|
1739
|
+
[${pe}] .reticle-tour-copy.is-manual{background:#b45309;border-color:#b45309;color:#fff;}
|
|
1740
|
+
[${pe}] .reticle-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;}
|
|
1741
|
+
[${pe}] .reticle-tour-dots{display:flex;gap:6px;}
|
|
1742
|
+
[${pe}] .reticle-tour-dot{width:6px;height:6px;border-radius:50%;background:#333a49;}
|
|
1743
|
+
[${pe}] .reticle-tour-dot.is-on{background:#6366f1;}
|
|
1744
|
+
[${pe}] .reticle-tour-nav{display:flex;gap:8px;}
|
|
1745
|
+
[${pe}] .reticle-tour-back,[${pe}] .reticle-tour-next{padding:8px 14px;border-radius:8px;
|
|
1755
1746
|
font:inherit;font-weight:600;cursor:pointer;border:1px solid #2b303d;background:transparent;color:#c9cedb;}
|
|
1756
|
-
[${
|
|
1757
|
-
[${
|
|
1758
|
-
[${
|
|
1759
|
-
[${
|
|
1747
|
+
[${pe}] .reticle-tour-next{background:#6366f1;border-color:#6366f1;color:#fff;}
|
|
1748
|
+
[${pe}] .reticle-tour-next:hover{filter:brightness(1.08);}
|
|
1749
|
+
[${pe}] .reticle-tour-back:hover{background:rgba(255,255,255,.06);color:#e8eaf0;}
|
|
1750
|
+
[${pe}] .reticle-tour-ring{position:absolute;border-radius:14px;pointer-events:none;z-index:1;
|
|
1760
1751
|
box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);transition:all .25s ease;}
|
|
1761
1752
|
/* A ring somebody is being asked to press, rather than to look at: it pulses, so the invitation in
|
|
1762
1753
|
the prose has something on the page agreeing with it. */
|
|
1763
|
-
[${
|
|
1754
|
+
[${pe}] .reticle-tour-ring.is-live{animation:reticle-tour-pulse 1.8s ease-in-out infinite;}
|
|
1764
1755
|
@keyframes reticle-tour-pulse{
|
|
1765
1756
|
0%,100%{box-shadow:0 0 0 3px #6366f1,0 0 0 9999px rgba(6,8,14,.55);}
|
|
1766
1757
|
50%{box-shadow:0 0 0 6px rgba(99,102,241,.55),0 0 0 9999px rgba(6,8,14,.55);}
|
|
@@ -1769,13 +1760,13 @@ ${sI}`});function EI(){let t=Ee(Y.REMOVE,pe.MIN);return`<div ${w} class="reticle
|
|
|
1769
1760
|
something small and wrong for the app: the hole becomes the whole viewport, the dimming
|
|
1770
1761
|
disappears, and the card is left competing with a fully lit page while the ring edges sit off at
|
|
1771
1762
|
the margins pointing at nothing. An outline says "all of this" without turning the lights on. */
|
|
1772
|
-
[${
|
|
1763
|
+
[${pe}] .reticle-tour-ring.is-region{box-shadow:none;border:2px dashed #7c83f5;
|
|
1773
1764
|
background:rgba(99,102,241,.06);}
|
|
1774
1765
|
@media (prefers-reduced-motion:reduce){
|
|
1775
|
-
[${
|
|
1766
|
+
[${pe}] .reticle-tour-ring{transition:none;}
|
|
1776
1767
|
}
|
|
1777
|
-
`});var AC={};bs(AC,{HUD_CONTROL_SELECTORS:()=>SC,TOUR_SEEN_KEY_PREFIX:()=>kp,isLastSlide:()=>FT,mountTour:()=>lG,openedByReticle:()=>_C,safeLocalStorage:()=>dG,tourAlreadySeen:()=>xC,tourSeenKey:()=>GT});function aG(t,e){var s;let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let l of e){let d=(s=t.querySelector(l))==null?void 0:s.getBoundingClientRect();d===void 0||d.width<=0||d.height<=0||(n=Math.min(n,d.left),r=Math.min(r,d.top),o=Math.max(o,d.left+d.width),a=Math.max(a,d.top+d.height))}if(o!==Number.NEGATIVE_INFINITY)return{left:n,top:r,width:o-n,height:a-r}}function sG(t,e){var r;if(Be.HUD===e)return aG(t,iG);let n=SC[e];if(n!==void 0){let o=(r=t.querySelector(n))==null?void 0:r.getBoundingClientRect();return o===void 0?void 0:o}if(Be.APP===e)for(let o of oG){let a=t.querySelector(o);if(a===null)continue;let s=a.getBoundingClientRect();if(s.width>0)return s}}function _C(t){if(t===void 0||t==="")return!1;let e=new URLSearchParams(t.startsWith("?")?t.slice(1):t);return e.has($n.OPENED)||e.has($n.SESSION)||e.has($n.PROJECT)}function xC(t,e){if(t===void 0)return!0;try{return t.getItem(GT(e))!==null}catch{return!0}}function cG(t,e){try{t==null||t.setItem(GT(e),"1")}catch{}}function lG(t){var y;if(t.isDriving()||_C(t.search)||((y=t.navigator)==null?void 0:y.webdriver)===!0||xC(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(de,""),n.textContent=bC,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(de,"");let o=HT(),a=0,s=!0,l=()=>{},d=()=>{},u=()=>{s&&(s=!1,l(),d(),r.remove(),n.remove())},p=()=>{s&&(cG(t.storage,t.projectId),u())},f=()=>{t.isDriving()&&u()},m=()=>{var v,O,B,oe;let A=o[a];if(A!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${EC(A)}`,Be.NONE!==A.anchor)){let ce=sG(e,A.anchor);if(ce!==void 0&&ce.width>0){let he=Be.APP===A.anchor,Ie=e.createElement("div");Ie.className=he?"reticle-tour-ring is-region":"reticle-tour-ring";let Ge=he?-2:6;if(Ie.style.left=`${String(Math.round(ce.left-Ge))}px`,Ie.style.top=`${String(Math.round(ce.top-Ge))}px`,Ie.style.width=`${String(Math.round(ce.width+Ge*2))}px`,Ie.style.height=`${String(Math.round(ce.height+Ge*2))}px`,r.appendChild(Ie),he||(v=r.querySelector(".reticle-tour-scrim"))==null||v.classList.add("is-clear"),mC(A)){Ie.classList.add("is-live"),(O=r.querySelector(".reticle-tour-scrim"))==null||O.remove();let mn=e.defaultView;for(let Cn of gC({left:ce.left-Ge,top:ce.top-Ge,width:ce.width+Ge*2,height:ce.height+Ge*2},(B=mn==null?void 0:mn.innerWidth)!=null?B:e.documentElement.clientWidth,(oe=mn==null?void 0:mn.innerHeight)!=null?oe:e.documentElement.clientHeight)){let pt=e.createElement("div");pt.className="reticle-tour-blocker",pt.style.left=`${String(Math.round(Cn.left))}px`,pt.style.top=`${String(Math.round(Cn.top))}px`,pt.style.width=`${String(Math.round(Cn.width))}px`,pt.style.height=`${String(Math.round(Cn.height))}px`,r.appendChild(pt)}}}}},g=A=>{var Ie,Ge;let v=o[a],O=Number(A.getAttribute(Bu)),B=(Ie=v==null?void 0:v.prompts)==null?void 0:Ie[O];if(B===void 0)return;let oe=(mn,Cn)=>{var pt;A.textContent=mn,A.classList.add(Cn),(pt=e.defaultView)==null||pt.setTimeout(()=>{A.textContent=PT,A.classList.remove(Cn)},hC)},ce=mn=>{var pt;if(mn){oe(pC,"is-done");return}let Cn=r.querySelector(`.reticle-tour-prompt[${Bu}="${String(O)}"] .reticle-tour-prompt-text`);Cn!==null&&((pt=t.select)==null||pt.call(t,Cn)),oe(fC,"is-manual")},he=(Ge=t.copy)==null?void 0:Ge.call(t,B.text);if(he===void 0){ce(!1);return}if(typeof he=="boolean"){ce(he);return}he.then(ce).catch(()=>{ce(!1)})};r.addEventListener("click",A=>{let v=A.target;if(!(v instanceof Element))return;let O=v.closest(`[${Bo}]`);if(O===null)return;let B=O.getAttribute(Bo);if(B===null)return;if(A.preventDefault(),A.stopPropagation(),B==="skip"||B==="done"){p();return}if(B==="copy"){g(O);return}let oe=UT(a,B==="back"?-1:1);oe!==a&&(a=oe,m())});let T=A=>{if(!s||Ip(e))return;let v=A.key==="ArrowRight"?1:A.key==="ArrowLeft"?-1:0;if(A.key==="Escape"){A.preventDefault(),p();return}if(v===0)return;let O=UT(a,v);O!==a&&(A.preventDefault(),a=O,m())};e.addEventListener("keydown",T),l=()=>{e.removeEventListener("keydown",T)},m(),e.body.appendChild(r);let _=e.querySelector("[data-reticle-overlay]");if(_!==null){let A=new MutationObserver(f);A.observe(_,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>A.disconnect(),f()}return{destroy:p,isOpen:()=>s}}function dG(){try{return window.localStorage}catch{return}}var oG,iG,SC,GT,yC=S(()=>{"use strict";TC();MT();H();at();Lr();oG=["main","#root","#app"],iG=["[data-reticle-hud]","[data-reticle-chat-panel]"];SC={[Be.HUD_CHAT]:"[data-reticle-chat-toggle]",[Be.HUD_FLOWS]:'[data-reticle-chat-view-btn="flows"]',[Be.HUD_ANNOTATE]:'[data-reticle-chat-view-btn="annotations"]',[Be.HUD_IMPACT]:"[data-reticle-chat-impact]",[Be.HUD_SETTINGS]:"[data-reticle-settings-btn]"};GT=t=>`${kp}${t}`});var yG={};bs(yG,{Annotator:()=>Da,RefRegistry:()=>id,Reticle:()=>Ll,SESSION_AUTO:()=>Wl,adapterNames:()=>_d,buildSnapshot:()=>Kp,canvasChartData:()=>CA,commitAndSignal:()=>KC,createReticleEmitter:()=>jC,describe:()=>Mr,elementHasHoverHandlers:()=>Jp,executeAction:()=>wd,executeSequence:()=>gf,getAccessibleName:()=>Ne,getCapabilities:()=>si,getRole:()=>xe,getStates:()=>go,hasCapabilities:()=>Zp,identifyComponent:()=>$r,inspectChart:()=>Hp,installAnnotator:()=>rw,isVisible:()=>Gt,jotaiStore:()=>$C,markAdapterSource:()=>zp,matchQuery:()=>xd,mobxStore:()=>UC,piniaStore:()=>BC,pushStore:()=>VC,readComponentState:()=>Qp,readStores:()=>Ty,readStoresWithTruncation:()=>Sd,recoilStore:()=>FC,refs:()=>J,registerAdapter:()=>Ny,registerCapabilities:()=>tc,registerReticleDomain:()=>WC,registerStore:()=>gy,resolveMarkAnchor:()=>Gd,reticle:()=>Qh,runQuery:()=>nf,setCapabilitiesListener:()=>qp,setIgnoreSelectors:()=>dA,sourceOwner:()=>_y,storeNames:()=>ai,svelteStore:()=>GC,tanstackQueryStore:()=>MC,unregisterStore:()=>Ey,valtioStore:()=>HC,xstateStore:()=>PC});at();H();Bt();Un();var p2=new Set(["submit","button","reset","image"]);function f2(t){return Ze(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!p2.has(t.type.toLowerCase()):!1}var h2="A",m2=/^\s*(#.*|javascript:.*)?$/i;function g2(t){if(h2!==t.tagName)return;let e=t.getAttribute("href");return e===null||m2.test(e)?void 0:e}function gd(t){var o,a,s,l,d,u;let e=g2(t);if(e!==void 0)return e;let n=t.closest("form"),r=f2(t)?["",""]:[(o=t.textContent)!=null?o:"",(a=t.getAttribute("value"))!=null?a:""];return[Ne(t),...r,(s=t.getAttribute("title"))!=null?s:"",(l=t.getAttribute("aria-label"))!=null?l:"",(d=t.getAttribute("href"))!=null?d:"",(u=n==null?void 0:n.getAttribute("action"))!=null?u:""].join(" ")}var E2='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function jA(t){var n;let e=(n=t.closest("form"))==null?void 0:n.querySelector(E2);return Ze(e)?e:null}function Bp(t,e){return z_(t,e)}var Pg;function Hg(t){Pg=t}function KA(t){if(Pg!==void 0)for(let e of t){if(e===null)continue;let n=Y_(gd(e),xe(e));if(n!==void 0&&!Pg.includes(n))throw new Error(X_(n))}}H();on();var WA=(t,e)=>Array.from(t.querySelectorAll(e)).some(n=>n.closest(Xl)===null);function zA(t){return[...WA(t,`[${Ds}]`)?[pa.SOURCE]:[],...WA(t,rr())?[pa.TESTID]:[]]}function YA(t){return t.buildPlugin||0<t.adapters.length||t.markers.includes(pa.SOURCE)?[]:[bp]}H();Lr();var XA=st.SESSION;function qA(t,e,n){var l;let r=()=>{try{let d=e==null?void 0:e.getItem(XA);return d!=null&&d.length>0?d:void 0}catch{return}},o=d=>{try{e==null||e.setItem(XA,d)}catch{}},a=t!==void 0&&t.length>0?t:void 0,s=(l=a!=null?a:r())!=null?l:n();return o(s),s}Rt();var b2="vite:afterUpdate",T2=3,S2="no longer resolves to an element",_2="the code changed underneath it";function Ug(t){return t!==null&&typeof t=="object"?t:void 0}function x2(t){var e;return typeof((e=Ug(t))==null?void 0:e.on)=="function"}function A2(t){var r,o;let e=(r=Ug(t))==null?void 0:r.updates;if(!Array.isArray(e))return[];let n=[];for(let a of e){let s=(o=Ug(a))==null?void 0:o.path;typeof s=="string"&&s.length>0&&!n.includes(s)&&n.push(s)}return n}var Ed,Qs,Js,Fg=class{constructor(e){b(this,Ed,0);b(this,Qs,[]);b(this,Js);h(this,Js,e)}get current(){return c(this,Ed)}observe(e){x2(e)&&e.on(b2,n=>this.applied(A2(n)))}applied(e){h(this,Ed,c(this,Ed)+1),h(this,Qs,e.slice(0,T2)),c(this,Js).markEdited()}staleRefMessage(e){let n=`ref '${ga(e)}' ${S2}`;if(!c(this,Js).mintedBeforeLastEdit(e))return n;let r=c(this,Qs).length===0?"the page hot-updated":`${c(this,Qs).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${_2} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};Ed=new WeakMap,Qs=new WeakMap,Js=new WeakMap;var bd=new Fg(J);H();H();Ys();Un();Bt();Rt();at();var jp=new Set(["button","link","textbox","searchbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),y2=new Set(["script","style","noscript","template","head","meta","link"]),v2=new Set(["alert","status"]);function JA(t,e){if(v2.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var ZA=80;function R2(t){let e=ey(t),n=(e.own?e.text:"").replace(/\s+/g," ").trim();return n.length>ZA?`${n.slice(0,ZA)}\u2026`:n}function ey(t){var r,o;let e="",n=!1;for(let a of t.childNodes)if(a.nodeType===3)e+=(r=a.textContent)!=null?r:"",n||(n=0<((o=a.textContent)!=null?o:"").trim().length);else if(an(a)&&ny(a)){let s=ey(a);e+=s.text,n||(n=s.own)}else an(a)&&ty(a)&&jp.has(xe(a))&&(e+=Ne(a));return{text:e,own:n}}function ty(t){let e=t.ownerDocument.defaultView,n=t.parentElement;if(e===null||n===null)return!1;let r=e.getComputedStyle(n).display;return r.includes("flex")||r.includes("grid")?!1:e.getComputedStyle(t).display==="inline"}function ny(t){if(oy(t)||!ty(t))return!1;let e=xe(t);return!jp.has(e)&&!JA(t,e)&&Ne(t).length===0}var N2=50;function ry(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function oy(t){return y2.has(t.tagName.toLowerCase())||rn(t)?!0:ry(t)}function w2(t){let e=go(t).filter(n=>n===fe.DISABLED||n===fe.CHECKED||n===fe.EXPANDED||n===fe.PRESSED||n===fe.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function O2(t,e,n,r,o,a=""){let s=" ".repeat(e),l=Mg(t),d=r,u=d.length>0?` "${d}"`:"",p=jp.has(n)||d.length>0?` (ref=${J.refFor(t)})`:"",f=l!==void 0&&l.length>0?` [value="${l}"]`:"",m=o.length>0?` [${o}]`:"",g=a.length>0?` [text="${a}"]`:"";return`${s}- ${n}${u}${p}${f}${g}${m}${w2(t)}`}function I2(t,e){return`${" ".repeat(t)}- text "${e}"`}function C2(t){if(t===null)return"";let e=t.display;if(e==="grid"||e==="inline-grid"){let n=t.gridTemplateColumns;return n!==""&&n!=="none"?`grid-cols:${n}`:"grid"}return""}var iy=t=>t.hasAttribute("data-aria-hidden")&&t.getAttribute("aria-hidden")==="true";function QA(t,e){for(let n of t){if(e.unread.length>=N2){e.unreadOverflow=!0;return}e.unread.push(J.refFor(n))}}function L2(t){var r,o;let e=[...t.children],n=(r=t.shadowRoot)!=null?r:zs(t);if(n!==null&&e.push(...n.children),Lp(t))try{let a=(o=t.contentDocument)==null?void 0:o.body;a!=null&&e.push(...a.children)}catch{}return e}function Gg(t,e,n,r){if(!(n.throughOverlay===!0&&iy(t)&&!rn(t)&&!(t instanceof HTMLElement&&t.hidden))&&oy(t)){ry(t)&&(n.hiddenSkipped+=1);return}let a=t.ownerDocument.defaultView,s=a!==null?a.getComputedStyle(t):null;if(s!==null&&s.display==="none"){n.hiddenSkipped+=1;return}if(s!==null&&s.display==="inline"&&!r&&ny(t)){Vp(t,e,n,r);return}let l=xe(t),d=Ne(t),u=jp.has(l),p=r||JA(t,l),f=n.mode===Is.INTERACTIVE&&!p,m=!f&&d.length===0?R2(t):"",g=f?"":C2(s),T=u,_=T||l!=="generic"||d.length>0||m.length>0||g.length>0,y=f?T:_;f&&!y&&_&&(n.leanSkipped+=1),y?(n.nodes+=1,n.lines.push(l==="generic"&&m.length>0&&g.length===0?I2(e,m):O2(t,e,l,d,g,m)),Vp(t,e+1,n,p)):Vp(t,e,n,p)}function Vp(t,e,n,r=!1){let o=L2(t);if(e>n.maxDepth){o.length>0&&(n.truncated=!0,QA([t],n));return}for(let a=0;a<o.length;a+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,QA(o.slice(a),n);return}let s=o[a];s!==void 0&&Gg(s,e,n,r)}}function k2(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)ht(r)||Gt(r)&&n.push(Ne(r)||"(unnamed dialog)");return n}var D2='[role="dialog"], [role="alertdialog"], dialog[open], [aria-modal="true"]';function M2(t){if(t!==document.body)return;let e=document.body.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n,r;for(let s of e)if(!ht(s)){if(Gt(s)){n=s;break}r!=null||(r=s)}if(n!=null||(n=r),n===void 0)return;let o=n,a=Array.from(document.body.children).filter(s=>!s.contains(o));if(a.length!==0&&a.every(s=>s.getAttribute("aria-hidden")==="true"))return"the rest of the page is aria-hidden behind an open overlay (a focus-trap modal), so this snapshot shows only the overlay. If it will not close its cleanup may be stuck on a throttled tab: dismiss the overlay, or snapshot with { scope } inside it."}function $2(t){let e=k2(t),n=M2(t);return{route:`${location.pathname}${location.search}${location.hash}`,title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Kp(t={}){var l,d,u,p;let e=(l=t.mode)!=null?l:Is.FULL,n=t.scope!==void 0?(d=J.resolve(t.scope))!=null?d:document.querySelector(t.scope):document.body,r=t.scope!==void 0&&!(n instanceof Element),o=n instanceof Element?n:document.body,a=$2(o);if(r)return{tree:"",status:a,nodes:0,truncated:!1,scopeMissing:!0};if(e===Is.STATUS)return{tree:"",status:a,nodes:0,truncated:!1};let s={lines:[],nodes:0,leanSkipped:0,hiddenSkipped:0,truncated:!1,mode:e,maxNodes:(u=t.maxNodes)!=null?u:400,maxDepth:(p=t.maxDepth)!=null?p:20,unread:[],unreadOverflow:!1};if(t.includeRoot===!0?Gg(o,0,s,!1):Vp(o,0,s),s.nodes===0&&o===document.body){s.throughOverlay=!0;for(let f of Array.from(o.children))iy(f)&&f.querySelector(D2)!==null&&Gg(f,0,s,!1);s.throughOverlay=!1}return{tree:s.lines.join(`
|
|
1778
|
-
`),status:a,nodes:s.nodes,truncated:s.truncated,...s.nodes===0?{domElements:o.querySelectorAll("*").length}:{},...s.leanSkipped>0?{leanSkipped:s.leanSkipped}:{},...s.hiddenSkipped>0?{hiddenSkipped:s.hiddenSkipped}:{},...s.unread.length>0?{unread:s.unread}:{},...s.unreadOverflow?{unreadOverflow:!0}:{}}}var P2=["filter","opacity","transform","mix-blend-mode","backdrop-filter"],H2={filter:"none",opacity:"1",transform:"none","mix-blend-mode":"normal","backdrop-filter":"none"};function U2(t){if(t.id.length>0)return`#${t.id}`;let e=t.getAttribute("class");return e!==null&&e.trim().length>0?`.${e.trim().split(/\s+/).join(".")}`:t.tagName.toLowerCase()}function ay(t){let e=t.ownerDocument.defaultView;if(e===null)return[];let n=[];for(let r=t;r!==null&&r!==t.ownerDocument.documentElement;r=r.parentElement){let o=e.getComputedStyle(r);for(let a of P2){let s=o.getPropertyValue(a);s.length>0&&s!==H2[a]&&n.push({on:U2(r),property:a,value:s})}}return n}H();Un();Ys();Bt();at();Dr();ci();li();Rt();on();var $y=Ds,z2=12,Y2=2e3,X2=()=>`[${$y}], ${rr()}, button, a, input, select, textarea, [role]`;function Pr(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}function Fn(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}function Zg(t,e){return Fn(t).toLowerCase().includes(Fn(e).toLowerCase())}function Qg(t,e,n){return e.matchCase!==!0?Zg(t,n):Fn(t).includes(Fn(n))}function q2(t,e){return Fn(t)===Fn(e)}var Z2=["script","style","template","noscript"];function Py(t){return Z2.includes(t.tagName.toLowerCase())}function Q2(t){if(ve(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return Py(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("")}function ef(t,e){var a;if(Py(t)||rn(t))return"";let n=Gt(t,e),r=J2(t),o="";for(let s of Array.from(t.childNodes))if(Node.TEXT_NODE===s.nodeType&&n)o+=(a=s.textContent)!=null?a:"";else if(an(s)){let l=ef(s,e);o+=r||e$(s)?` ${l} `:l}return o}function J2(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"";return e.includes("flex")||e.includes("grid")}function e$(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"inline";return!e.startsWith("inline")&&e!=="contents"}function t$(t){if(ve(t)||Ft(t)||or(t))return!0;let e=t.tagName.toLowerCase();return e==="button"||e==="meter"||e==="output"||e==="progress"||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")}function tf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=J.resolve(t);if(ri(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(ri(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function n$(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${$y}^="${n}"]`))}catch{return[]}}function r$(t,e){let n=[],r=0;for(let o of Array.from(t.querySelectorAll(X2()))){if(r>=Y2)break;r+=1;let a=$r(o);a!==null&&a.componentStack[0]===e&&n.push(o)}return n}function wy(t,e){if(e.source!==void 0){let n=n$(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?r$(t,e.component):[]}function o$(t,e){return t===e||e==="textbox"&&t==="searchbox"}function qg(t,e,n){return Pr(t).filter(r=>o$(xe(r),e)&&(n===void 0||q2(Ne(r),n)))}function Oy(t,e,n){return Pr(t).filter(r=>Qg(Q2(r),n,e))}function Iy(t,e){let n=Fn(e).toLowerCase(),r=[],o=[];for(let a of Pr(t)){if(!t$(a))continue;let s=Fn(Ne(a)).toLowerCase();s.includes(n)&&(s===n?r:o).push(a)}return r.length>0?r:o}function Cy(t,e){return Pr(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&Zg(r,e)})}function Ly(t,e){return Pr(t).filter(n=>Pe(n)===e)}function ky(t,e){return Pr(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&Zg(r,e)})}function Dy(t,e){var o;let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case et.ROLE:return qg(t,r,e.name);case et.TEXT:return Oy(t,r,e);case et.LABEL:return Iy(t,r);case et.PLACEHOLDER:return Cy(t,r);case et.TESTID:return Ly(t,r);case et.ALT:return ky(t,r);case et.COMPONENT:return wy(t,{...e,component:(o=e.component)!=null?o:r});default:throw new Error(`unsupported query strategy '${String(n)}' - use one of: ${Object.values(et).join(", ")}`)}return e.component!==void 0||e.source!==void 0?wy(t,e):e.role!==void 0?qg(t,e.role,e.name):e.text!==void 0?Oy(t,e.text,e):e.label!==void 0?Iy(t,e.label):e.placeholder!==void 0?Cy(t,e.placeholder):e.testid!==void 0?Ly(t,e.testid):e.alt!==void 0?ky(t,e.alt):[]}function i$(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}var a$=3;function s$(t){let e=[],n=(r,o)=>{var a;for(let s of r.querySelectorAll("*")){let l=(a=s.shadowRoot)!=null?a:zs(s);if(l!==null){e.push(l),n(l,o);continue}if(o>=a$||!Lp(s))continue;let d=i$(s);d!==null&&(e.push(d),n(d,o+1))}};return n(t,0),e}function Hy(t){let{container:e,scopeMissing:n}=tf(t.scope);if(e===null)return{candidates:[],scopeMissing:!0};if(t.self===!0)return t.scope===void 0?{candidates:[],scopeMissing:n}:t.text!==void 0&&!Qg(ef(e,new Map),t,t.text)?{candidates:[],scopeMissing:n}:{candidates:rn(e)?[]:[e],scopeMissing:n};let r=new Set,o=[],a=s=>{for(let l of s)r.has(l)||rn(l)||(r.add(l),o.push(l))};a(Dy(e,t));for(let s of s$(e))a(Dy(s,t));return{candidates:o,scopeMissing:n}}var c$=512,l$=12;function d$(t,e){let n={};for(let r of e.slice(0,l$)){let o=t.getAttribute(r);o!==null&&(n[r]=tt(r)?_e:o.slice(0,c$))}return Object.keys(n).length>0?n:void 0}function u$(t,e,n){return fe.IN_VIEWPORT===e?$g(t,n):go(t,Gt(t,n)).includes(e)}var My=G.MAX_COLLECTION_ITEMS;function xd(t,e,n=My,r=!0){let o=Hy(t),a=o.scopeMissing,s=r&&g$(t)?Fy(t):void 0,l=o.candidates.length===0?tf(t.scope).container:null,d=l===null||s===void 0?void 0:Uy(l,s,t),u=d===void 0?o.candidates:[d],p=new Map,f=e===void 0?u:u.filter(y=>u$(y,e,p)),m=t.attrs,g=f.slice(0,Math.max(0,Math.min(n,My))),T=g.length>1||fe.IN_VIEWPORT===e,_=g.map(y=>{let A=Mr(y,p);if(T&&$g(y,p)&&!A.states.includes(fe.IN_VIEWPORT)&&(A={...A,states:[...A.states,fe.IN_VIEWPORT]}),m===void 0||m.length===0)return A;let v=d$(y,m);return v===void 0?A:{...A,attrs:v}});return{matched:f.length>0,count:f.length,elements:_,...a?{scopeMissing:!0}:{},...f.length===0?{hint:Gy(t)}:{}}}function p$(t){let e=t.getAttribute("aria-labelledby");if(e===null)return;let n=e.split(/\s+/).map(r=>{var o,a,s;return r.length>0&&(s=(a=(o=t.ownerDocument.getElementById(r))==null?void 0:o.textContent)==null?void 0:a.trim())!=null?s:""}).filter(r=>r.length>0).join(" ");return n.length>0?n:void 0}function f$(t){var o,a,s,l,d,u,p,f;let e=(o=tf(t.scope).container)!=null?o:document.body,n=[],r=["list","listbox","grid","table","tree","treegrid","dialog","alertdialog","navigation","main","banner","form","search","menu","menubar","tablist"];for(let m of r){let g=qg(e,m,void 0);for(let T of g){if(ht(T))continue;let _=(l=(s=(a=T.getAttribute("aria-label"))!=null?a:p$(T))!=null?s:Pe(T))!=null?l:void 0,y=T.querySelectorAll("[role]"),A=[];for(let O of Array.from(y)){if(A.length>=3)break;let B=O.getAttribute("role"),oe=(f=(p=(d=O.getAttribute("aria-label"))!=null?d:Pe(O))!=null?p:(u=O.textContent)==null?void 0:u.trim().slice(0,40))!=null?f:"";B!==null&&oe.length>0&&A.push(`${B}[${oe}]`)}let v={role:m,childCount:y.length,sample:A};if(_!==void 0&&_.length>0&&(v.name=_),n.push(v),n.length>=10)return n}}return n}function Uy(t,e,n){let r,o=-1,a=new Map;for(let s of Pr(t)){if(rn(s)||!Qg(ef(s,a),n,e))continue;let l=0;for(let d=s.parentElement;d!==null;d=d.parentElement)l++;l>o&&(r=s,o=l)}return r}function h$(t,e){let n=Fn(e).toLowerCase();if(n.length===0)return;let r=new Map;for(let o of Pr(t)){if(rn(o))continue;let a=Fn(ef(o,r)),s=a.toLowerCase().indexOf(n);if(s!==-1)return a.slice(s,s+n.length)}}var m$=new Set(["text","matchCase","scope","by","value"]);function g$(t){return(t.by===void 0||et.TEXT===t.by)&&Object.keys(t).every(e=>m$.has(e))}function Fy(t){return t.text!==void 0?t.text:et.TEXT===t.by?t.value:void 0}var E$=5;function b$(t,e){let n=et.ROLE===e.by?e.value:e.role,r=e.name;if(n===void 0||r===void 0||r.length===0)return[];let o=Fn(r).toLowerCase();if(o.length===0)return[];let a=[];for(let s of Pr(t)){if(rn(s)||xe(s)!==n)continue;let l=Fn(Ne(s));if(l.length===0)continue;let d=l.toLowerCase();if(!(!d.includes(o)&&!o.includes(d))&&(a.includes(l)||a.push(l),a.length>=E$))break}return a}function T$(t,e){if(et.TESTID!==e.by||e.value===void 0)return;let n=Bs();for(let r of[ca,...g_]){if(r===n)continue;if(Pr(t).some(a=>a.getAttribute(r)===e.value&&!rn(a)))return r}}function Gy(t){var m;let e=(m=tf(t.scope).container)!=null?m:document.body,n=e.querySelectorAll(rr()),r=[],o=new Set;for(let g of Array.from(n)){if(rn(g))continue;let T=Pe(g);T===null||T.length===0||o.has(T)||(o.add(T),r.length<z2&&r.push(T))}let a=vy(),s=r.some(g=>a.includes(g)),d={route:`${location.pathname}${location.search}`,presentTestids:r,...o.size>r.length?{presentTestidsTotal:o.size}:{},presentRegions:f$(t),knownEmptyState:s},u=Fy(t);if(u!==void 0){let g=Uy(e,u,t);if(g!==void 0)d.splitText=Mr(g);else if(t.matchCase===!0){let T=h$(e,u);T!==void 0&&(d.caseMiss=T)}}let p=b$(e,t);p.length>0&&(d.nameNearMiss=p);let f=T$(e,t);return f!==void 0&&(d.testidFoundUnder=f),d}function By(t){return Hy(t).candidates}function nf(t,e){let n=xd(t,void 0,e,!1),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:Gy(t),...r}:{elements:n.elements,count:n.count,...r}}H();rc();Rt();oi();Un();var S$=/\b(current|new)-password\b/,_$=/Chrome|Chromium|Edg\/|Firefox|Gecko\//;function eE(t,e=navigator.userAgent){var r,o,a;return!(t instanceof HTMLInputElement)||!(t.type.toLowerCase()==="password"||S$.test((r=t.getAttribute("autocomplete"))!=null?r:""))||_$.test(e)?!1:600<=Number((a=(o=/AppleWebKit\/(\d+)/.exec(e))==null?void 0:o[1])!=null?a:0)}function of(t,e){let n=EA(t),r=n===void 0?void 0:xA(n);r!==void 0?r.call(t,e):t.value=e;let o=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!o}function x$(t){let e=t.getAttribute("contenteditable");if(Ze(t)&&t.isContentEditable||e!==null&&e!=="false"||t.getAttribute("role")==="textbox")return!0;if(!("editContext"in t))return!1;let n=t;return n.editContext!==null&&n.editContext!==void 0}function tE(t,e){if(x$(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function nE(t,e){if(t.disabled)throw new Error(`cannot ${e} a disabled <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`);if(t.readOnly)throw new Error(`cannot ${e} a readonly <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`)}Bt();li();Un();lt();at();Bt();var oE=200,Zy=" | ",A$=3,y$=/\p{L}/u;function v$(t){return y$.test(t)}var R$=3;function N$(t){return t instanceof Element&&t.querySelectorAll("*").length>R$}var oc,Ad,ui,iE,aE,sf=class{constructor(){b(this,ui);b(this,oc,new Set);b(this,Ad,0)}collect(e){for(let n of e){if(E(this,ui,iE).call(this))return;if(n.type==="characterData"){E(this,ui,aE).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(E(this,ui,iE).call(this))return;if(N$(r))continue;let o=A$===r.nodeType?r.parentElement:w$(r);E(this,ui,aE).call(this,r.textContent,o)}}}effect(e){let n=[...c(this,oc)].filter(o=>o!==e);if(n.length===0)return{};let r=n.join(Zy);return{appeared:r.length>oE?`${r.slice(0,oE)}\u2026`:r}}};oc=new WeakMap,Ad=new WeakMap,ui=new WeakSet,iE=function(){return c(this,Ad)>oE},aE=function(e,n){if(n!==null&&rn(n)||n!==null&&ir(n))return;let r=(e!=null?e:"").replace(/\s+/g," ").trim();r.length!==0&&v$(r)&&(c(this,oc).has(r)||(c(this,oc).add(r),h(this,Ad,c(this,Ad)+(r.length+Zy.length))))};function w$(t){return t instanceof Element?t:t.parentElement}H();Un();var O$=new Set(["checkbox","switch"]),Qy="aria-checked",cf=t=>{var e;return!ve(t)&&O$.has((e=t.getAttribute("role"))!=null?e:"")},Jy=t=>t.getAttribute(Qy)==="true";function ev(t,e,n){var o;if(n||!cf(t)||e!==k.CHECK&&e!==k.UNCHECK)return;let r=e===k.CHECK;if(Jy(t)!==r)throw new Error(`${e} clicked the ${(o=t.getAttribute("role"))!=null?o:""} but ${Qy} is still "${String(!r)}" \u2014 the app did not toggle it`)}function lf(t,e){if(e!==k.CHECK&&e!==k.UNCHECK)return!1;let n=e===k.CHECK;return ve(t)?t.checked===n:cf(t)&&Jy(t)===n}H();rc();lt();Un();var sE=t=>new Promise(e=>ee(e,t));function I$(t,e=""){return typeof t=="string"?t:e}function uf(t){return Vm(t)}var C$=["metaKey","ctrlKey","shiftKey","altKey"],ov={meta:"metaKey",cmd:"metaKey",command:"metaKey",super:"metaKey",win:"metaKey",control:"ctrlKey",ctrl:"ctrlKey",shift:"shiftKey",alt:"altKey",option:"altKey",opt:"altKey"};function iv(t){let e=t.modifiers,n=Array.isArray(e)?e.map(o=>I$(o).toLowerCase()):[],r={metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1};for(let o of n){let a=ov[o];a!==void 0&&(r[a]=!0)}return r}function tv(t){return ov[t.toLowerCase()]}function df(t,e){let n=t.code;return typeof n=="string"&&0<n.length?n:e===" "?"Space":e.length===1?/[a-z]/i.test(e)?`Key${e.toUpperCase()}`:/[0-9]/.test(e)?`Digit${e}`:"":/^[A-Z][A-Za-z0-9]*$/.test(e)&&D$.has(e)?e:""}function pf(t,e,n,r,o=!1){if(nv!==e&&e.length!==1)return;let a=new KeyboardEvent("keypress",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:o,...r}),s=nv===e?L$:e.charCodeAt(0);for(let l of k$)Object.defineProperty(a,l,{value:s});We(()=>t.dispatchEvent(a))}var nv="Enter",L$=13,k$=["keyCode","charCode","which"],D$=new Set(["Enter","Escape","Tab","Backspace","Delete","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Insert","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),M$="no document to press into";function av(){let t=document.activeElement;if(Ze(t)&&document.body!==t)return t;if(Ze(document.body))return document.body;let e=document.documentElement;if(Ze(e))return e;throw new Error(M$)}function sv(t,e,n){return t.length===0&&x_(n)&&k.PRESS===e}function cv(t){return jm(t)}var $$=33,rv=500,P$={Backspace:8,Tab:9,Enter:13,Shift:16,Control:17,Alt:18,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Delete:46,Meta:91},H$=/^[a-z0-9]$/i,U$=t=>{var e;return(e=P$[t])!=null?e:H$.test(t)?t.toUpperCase().charCodeAt(0):0};function yd(t,e){let n=new KeyboardEvent(t,e),r=U$(e.key);for(let o of["keyCode","which"])Object.defineProperty(n,o,{get:()=>r});return n}async function lv(t,e,n,r,o){let a=Date.now();for(o>rv&&await sE(rv);Date.now()-a<o;)We(()=>t.dispatchEvent(yd("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r})))&&pf(t,e,n,r,!0),await sE(Math.min($$,Math.max(0,o-(Date.now()-a))))}async function dv(t,e,n,r){let o={...n},a=(p,f)=>{let m=df({},f);return We(()=>t.dispatchEvent(yd(p,{key:f,code:m,bubbles:!0,cancelable:!0,...o})))},s=new Map;for(let p of C$)o[p]&&s.set(p,1);let l=p=>{var f;s.set(p,((f=s.get(p))!=null?f:0)+1),o[p]=!0},d=p=>{var m;let f=((m=s.get(p))!=null?m:1)-1;s.set(p,f),f<=0&&(o[p]=!1)},u=!1;for(let p of e){let f=tv(p);f!==void 0&&l(f);let m=a("keydown",p);m||(u=!0),m&&pf(t,p,df({},p),o),cE(t,p,m)}r>0&&await sE(r);for(let p of[...e].reverse()){let f=tv(p);f!==void 0&&d(f),a("keyup",p)}return u}function cE(t,e,n){var r,o;if(!(e!=="Escape"||!n))for(let a=t.closest("dialog");a!==null;a=(o=(r=a.parentElement)==null?void 0:r.closest("dialog"))!=null?o:null){try{if(!a.open||!a.matches(":modal"))continue}catch{return}typeof a.requestClose=="function"?a.requestClose():a.dispatchEvent(new Event("cancel",{cancelable:!0}))&&a.close();return}}on();H();Bt();li();function uv(t){var l;let e=(l=Pe(t))!=null?l:void 0,n=$r(t),r={};e!==void 0&&(r.testid=e);let o=n==null?void 0:n.componentStack[0];o!==void 0&&(r.component=o),(n==null?void 0:n.source)!==void 0&&(r.source=n.source);let a=xe(t),s=Ne(t);if(a.length>0&&(r.role=a),s.length>0&&(r.name=s),a.length>0&&s.length>0){let d=By({by:et.ROLE,value:a,name:s}),u=d.indexOf(t);1<d.length&&0<=u&&(r.nth=u,r.of=d.length)}return r}var pv=(t,e,n,r,o,a,s)=>{let l={ok:!0,ref:t,action:e,dispatched:!0,settled:r,settleReason:o,effect:n};return a.testid!==void 0&&(l.testid=a.testid),a.component!==void 0&&(l.component=a.component),a.source!==void 0&&(l.source=a.source),a.role!==void 0&&(l.role=a.role),a.name!==void 0&&(l.name=a.name),a.nth!==void 0&&(l.nth=a.nth),a.of!==void 0&&(l.of=a.of),s!==void 0&&(l.warning=s),l};Rt();at();var F$=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],G$=3;function ff(t,e){var u;if(e.width===0||e.height===0)return null;let n=t.ownerDocument;if(typeof n.elementFromPoint!="function")return null;let r=n,o=p=>Gs(p)&&p!==t&&!t.contains(p)&&!p.contains(t),a=(p,f)=>{var g,T,_;return(_=((T=(g=r.elementsFromPoint)==null?void 0:g.call(r,p,f))!=null?T:[n.elementFromPoint(p,f)]).find(y=>y!==null&&!o(y)))!=null?_:null},s=new Map;for(let[p,f]of F$){let m=a(e.left+e.width*p,e.top+e.height*f);m!==null&&(m===t||t.contains(m)||m.contains(t)||s.set(m,((u=s.get(m))!=null?u:0)+1))}let l=null,d=0;for(let[p,f]of s)f>d&&(l=p,d=f);return d>=G$?l:null}lt();rc();var hf={occluded:!1,occludedBy:null,scrolledIntoView:!1};function pi(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function mf(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}var dt=1,vd=0;function He(t,e,n,r,o,a=0){let s={bubbles:!(e.endsWith("enter")||e.endsWith("leave")),cancelable:!0,detail:a,clientX:n.x,clientY:n.y,screenX:n.x,screenY:n.y,buttons:r,button:0,...o!==void 0?{relatedTarget:o}:{}};return t.dispatchEvent(e.startsWith("pointer")?mf(t,e,{...s,pointerId:1,isPrimary:!0}):pi(t,e,s))}async function Rd(t,e,n){var u;let r=t.ownerDocument,o=(u=r.activeElement)!=null?u:r.body,a=lE(t),s=n!=null?n:0;We(()=>He(t,"pointerdown",a,dt,o,s)),We(()=>He(t,"mousedown",a,dt,void 0,s)),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let l=0;if(e!==void 0&&e.ms>0){let p=e.now();await e.sleep(e.ms),l=e.now()-p}return We(()=>He(t,"pointerup",a,vd,o,s)),We(()=>He(t,"mouseup",a,vd,void 0,s)),{prevented:!We(()=>He(t,"click",a,vd,void 0,s)),heldMs:l}}function B$(t){return t.width>0||t.height>0}function V$(t,e){let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=e.left+e.width/2,o=e.top+e.height/2;return r<0||o<0||r>n.innerWidth||o>n.innerHeight}function j$(t,e){let n=ff(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:J.refFor(n)}}function gv(t){if(typeof t.getBoundingClientRect!="function")return hf;let e=t.getBoundingClientRect();if(!B$(e))return hf;let n=!1;return V$(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect()),{...j$(t,e),scrolledIntoView:n}}function dE(t,e,n=null){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function Ev(t,e,n=null){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function K$(t){if(typeof DataTransfer!="function")return null;let e=new DataTransfer,n=Array.isArray(t)?t:t!==void 0?[t]:[];for(let r of n)if(typeof r=="object"&&r!==null){let o=r;typeof o.mime=="string"&&typeof o.value=="string"&&e.setData(o.mime,o.value)}return e}var fv=5;function lE(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function W$(t,e,n){return{x:Math.round(t.x+(e.x-t.x)*n),y:Math.round(t.y+(e.y-t.y)*n)}}async function uE(t,e,n){let r=e!=null?e:t,o=lE(t),a=lE(r),s=t.getBoundingClientRect(),l=e!==null?r.getBoundingClientRect():null,d=(m,g)=>g.x>=m.left&&g.x<=m.right&&g.y>=m.top&&g.y<=m.bottom;He(t,"pointerdown",o,dt),He(t,"mousedown",o,dt),await di();let u=!1,p=!1;for(let m=1;m<=fv;m+=1){let g=W$(o,a,m/fv);!u&&!d(s,g)&&(u=!0,He(t,"pointerout",g,dt,r),He(t,"mouseout",g,dt,r),He(t,"pointerleave",g,dt,r),He(t,"mouseleave",g,dt,r)),u&&!p&&l!==null&&d(l,g)&&(p=!0,He(r,"pointerover",g,dt,t),He(r,"mouseover",g,dt,t),He(r,"pointerenter",g,dt,t),He(r,"mouseenter",g,dt,t)),He(r,"pointermove",g,dt),He(r,"mousemove",g,dt),await di()}!p&&l!==null&&(He(r,"pointerover",a,dt,t),He(r,"mouseover",a,dt,t),He(r,"pointerenter",a,dt,t),He(r,"mouseenter",a,dt,t)),He(r,"pointerup",a,vd),He(r,"mouseup",a,vd);let f=!1;if(typeof DragEvent=="function"){let m=K$(n),g={bubbles:!0,cancelable:!0};m!==null&&(g.dataTransfer=m),t.dispatchEvent(new DragEvent("dragstart",g)),await di(),r.dispatchEvent(new DragEvent("dragenter",g)),r.dispatchEvent(new DragEvent("dragover",g)),await di(),f=!r.dispatchEvent(new DragEvent("drop",g)),t.dispatchEvent(new DragEvent("dragend",g))}return f}async function bv(t,e){let n=z$(t);hv(t,"pointerdown"),We(()=>t.dispatchEvent(mv("touchstart",n))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let r=0;if(e!==void 0&&e.ms>0){let a=e.now();await e.sleep(e.ms),r=e.now()-a}return We(()=>t.dispatchEvent(mv("touchend",[]))),hv(t,"pointerup"),{prevented:!We(()=>t.dispatchEvent(pi(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function hv(t,e){We(()=>t.dispatchEvent(mf(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function z$(t){if(typeof Touch!="function"||typeof t.getBoundingClientRect!="function")return[];let e=t.getBoundingClientRect();try{return[new Touch({identifier:0,target:t,clientX:e.left+e.width/2,clientY:e.top+e.height/2})]}catch{return[]}}function mv(t,e){if(typeof TouchEvent=="function")try{return new TouchEvent(t,{bubbles:!0,cancelable:!0,touches:e,targetTouches:e,changedTouches:e})}catch{}return new Event(t,{bubbles:!0,cancelable:!0})}var Y$=new Set(["menu","menubar","listbox","dialog","alertdialog","tooltip"]),X$="closed";function Tv(t){var e,n;for(let r=t.parentElement;r!==null;r=r.parentElement)if(X$===r.getAttribute("data-state")&&Y$.has((e=r.getAttribute("role"))!=null?e:""))throw new Error(`'${(n=r.getAttribute("role"))!=null?n:"popup"}' holding this element is closing (data-state="closed"), so a person could not click it: look again once it has gone and act on what is open`)}Rt();var q$=400,Z$=.8;function Q$(t,e){var r;let n=t;for(;n!==null&&n!==document.body;){let o=getComputedStyle(n),a=e==="x"?o.overflowX:o.overflowY,s=e==="x"?n.scrollWidth>n.clientWidth:n.scrollHeight>n.clientHeight;if((a==="auto"||a==="scroll")&&s)return n;n=n.parentElement}return(r=document.scrollingElement)!=null?r:document.documentElement}function Sv(t,e,n,r){let o=t!==void 0?J.resolve(t):null;return pE(o instanceof Element?o:void 0,e,n,r)}function pE(t,e,n,r){var p;let a=t!==void 0?Q$(t,r!==void 0&&r!==0&&(e===void 0||e===0)?"x":"y"):(p=document.scrollingElement)!=null?p:document.documentElement,s=a.scrollTop,l=a.scrollLeft;if(n!==void 0&&n>=0&&n<=1)a.scrollTop=Math.round(a.scrollHeight*n);else if(r!==void 0&&r!==0&&(a.scrollLeft=l+r),r===void 0||e!==void 0&&e!==0){let f=e!=null?e:Math.round(a.clientHeight*Z$)||q$;a.scrollTop=s+f}a.dispatchEvent(new Event("scroll",{bubbles:!1}));let d=a.scrollTop,u=a.scrollLeft;return{scrolled:d!==s||u!==l,scrollTop:d,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight,atEnd:d+a.clientHeight>=a.scrollHeight-1,atStart:d<=1,scrollLeft:u,scrollWidth:a.scrollWidth,clientWidth:a.clientWidth,atLeftEnd:u<=1,atRightEnd:u+a.clientWidth>=a.scrollWidth-1}}function Nd(t,e=""){return typeof t=="string"?t:e}function J$(t){let e=J.resolve(t);if(e===null)throw new Error(`ref '${ga(t)}' no longer resolves to an element`);if(!ri(e))throw new Error(`ref '${ga(t)}' is not an HTML or SVG element`);return e}var eP=new Set([k.FILL,k.TYPE,k.CLEAR,k.SELECT]),tP=t=>eP.has(t),nP=new Set([k.CLICK,k.DBLCLICK,k.CHECK,k.UNCHECK]);function yv(t){let e=Nd(t.toRef);return e!==""?e:Nd(t.target)}var _v=new Set(["content","name","type","__base64"]),rP=new Set([ip,RS,"holdMs"]);function oP(t){let e=Object.keys(t),n=e.filter(o=>!_v.has(o)&&!rP.has(o));if(n.length===0&&e.some(o=>_v.has(o)))return;let r=n.length===0?"no file was described":`upload does not read ${n.join(", ")}, so it would be dropped`;throw new Error(`upload needs the file described as args: { name, content?, type? } \u2014 ${r}. To upload a file from disk, use the reticle daemon which reads it via args.path and delivers real bytes; calling with { path } directly reaches only fabricated content.`)}function iP(t,e,n){let r=e===k.CLICK||e===k.DBLCLICK||e===k.CHECK||e===k.UNCHECK||e===k.DRAG||e===k.SUBMIT||e===k.PRESS&&uf(n)==="Enter",o=e===k.DRAG?J.resolve(yv(n)):null,a=e===k.PRESS&&uf(n)==="Enter"?jA(t):null;r&&KA([t,a,ri(o)?o:null]);let s=Bp(gd(t),xe(t))||a!==null&&Bp(gd(a),xe(a)),l=ri(o)&&Bp(gd(o),xe(o));if(r&&(s||l)&&n[ip]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${ip}=true`)}function aP(t,e){var r,o;if(t.some(a=>a.value===e))return e;let n=t.filter(a=>a.label.trim()===e.trim());return n.length===1&&(o=(r=n[0])==null?void 0:r.value)!=null?o:e}function vv(t){return!go(t).includes(fe.DISABLED)}function xv(t){if(ve(t)||Ft(t)||or(t))return t.value}function Av(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:J.refFor(e)}async function sP(t,e,n){if(k.CLICK===e){let r=Ms(n.holdMs);return await Rd(t,r===0?void 0:{ms:r,sleep:hE,now:()=>Date.now()})}if(k.TAP===e){let r=Ms(n.holdMs);return await bv(t,r===0?void 0:{ms:r,sleep:hE,now:()=>Date.now()})}return{prevented:await lP(t,e,n),heldMs:0}}var cP="cannot zoom from inside the page \u2014 CSS zoom changes how it LOOKS without changing the layout viewport, visualViewport or media queries, so a layout that breaks at 200% would be reported as checked and passing. Drive a real browser (reticle drive <url>, or reticle_lease) and zoom there.";function fE(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function lP(t,e,n){var r;switch(e){case k.DBLCLICK:return await Rd(t,void 0,1),await Rd(t,void 0,2),!We(()=>t.dispatchEvent(pi(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case k.HOVER:{let o=t.ownerDocument,a=(r=o.activeElement)!=null?r:o.body;dE(t,"pointerover",a),t.dispatchEvent(pi(t,"mouseover",{bubbles:!0,relatedTarget:a})),Ev(t,"pointerenter",a),t.dispatchEvent(pi(t,"mouseenter",{relatedTarget:a})),dE(t,"pointermove",a);let s=t.dispatchEvent(pi(t,"mousemove",{bubbles:!0,cancelable:!0})),l=Ms(n.holdMs);return l>0&&await hE(l),!s}case k.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case k.BLUR:{let a=t.getRootNode().activeElement===t;return t.blur(),a||(t.dispatchEvent(new FocusEvent("blur")),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0}))),!1}case k.FILL:if(ve(t)||Ft(t)){if(typeof n.value!="string")throw new Error("fill requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }. To empty a field on purpose use the `clear` action, or fill with an explicit \"\".");return nE(t,"fill"),eE(t)||t.focus(),of(t,n.value)}throw tE(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case k.TYPE:if(ve(t)||Ft(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return nE(t,"type"),t.focus(),of(t,t.value+n.text)}throw tE(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case k.CLEAR:if(ve(t)||Ft(t))return of(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case k.SELECT:if(or(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let o=Array.from(t.options),a=aP(o,n.value);if(!o.some(s=>s.value===a)){let s=o.map(l=>`${l.value} (${l.label})`).join(", ");throw new Error(`no <option> with value '${ga(a)}' \u2014 available: ${o.length===0?"(none)":s}`)}return t.value=a,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case k.CHECK:case k.UNCHECK:{let o=cf(t);if(!ve(t)&&!o)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!vv(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!ve(t))return lf(t,e)?!1:(await Rd(t)).prevented;if(t.type==="radio"&&e===k.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(lf(t,e))return!1;let a=pi(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!We(()=>t.dispatchEvent(a))||a.defaultPrevented}case k.SUBMIT:{let o=gA(t)?t:t.closest("form");if(o===null)throw new Error("no form to submit");return o.requestSubmit(),!1}case k.PRESS:{let o=iv(n),a=cv(n);if(a.length>0)return await dv(t,a,o,Ms(n.holdMs));let s=uf(n),l=df(n,s),d=We(()=>t.dispatchEvent(yd("keydown",{key:s,code:l,bubbles:!0,cancelable:!0,...o})));cE(t,s,d),d&&pf(t,s,l,o);let u=Ms(n.holdMs);return u>0&&await lv(t,s,l,o,u),We(()=>t.dispatchEvent(yd("keyup",{key:s,code:l,bubbles:!0,...o}))),!d}case k.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case k.ZOOM:throw new Error(cP);case k.SCROLL:{let o=fE(n.dy),a=fE(n.dx),s=fE(n.fraction);return pE(t,o,s,a),!1}case k.UPLOAD:{if(!ve(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');oP(n);let o=Nd(n.content,"reticle test file"),a=o;if(n.__base64===!0){let u=atob(o),p=new Uint8Array(u.length);for(let f=0;f<u.length;f++)p[f]=u.charCodeAt(f);a=p.buffer.slice(0)}let s=new File([a],Nd(n.name,"file.txt"),{type:Nd(n.type,"text/plain")}),l=new DataTransfer;l.items.add(s),t.files=l.files;let d=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!d}case k.DRAG:{let o=yv(n);if(o==="")return await uE(t,null,n.data);let a=J.resolve(o);if(!ri(a))throw new Error(`drag target '${ga(o)}' did not resolve to an element \u2014 pass a ref from reticle_snapshot or reticle_query as args.toRef (alias: args.target)`);return await uE(t,a,n.data)}default:throw new Error(`unknown action '${e}'`)}}function dP(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.max(0,Math.min(t,uP))}var uP=200;async function wd(t,e,n={}){let r=0<t.length,o=sv(t,e,n)?av():J$(t);r&&iP(o,e,n),r&&Tv(o);let a=r?uv(o):{},s=Gt(o),l=vv(o),d=Av(o),u=xv(o),p=nP.has(e)?gv(o):hf,f=lf(o,e),m=0,g=new sf,T=new MutationObserver(he=>{m+=he.length,g.collect(he)});T.observe(o.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let _=!1,y=0,A=!1,v=null;try{let he=await sP(o,e,n);_=he.prevented,y=he.heldMs}finally{let he=dP(n.settleMs),Ie=await qy(he);A=Ie.settled,v=Ie.settled?null:OS.TIMEOUT,T.disconnect()}ev(o,e,f);let O=xv(o),B=Av(o),oe={dispatched:!0,targetMatched:r&&o.isConnected,visible:s,enabled:l,defaultPrevented:_,focusMoved:d!==B?`${d!=null?d:"null"}->${B!=null?B:"null"}`:null,valueChanged:tP(e)?u!==O:!1,...k.FILL===e&&eE(o)?{autofillSafe:!0}:{},domMutatedWithin:m,...g.effect(O),occluded:p.occluded,occludedBy:p.occludedBy,scrolledIntoView:p.scrolledIntoView,...y>0?{heldMs:y}:{},...f?{alreadyAtValue:!0}:{}},ce=r?p.occluded?cp.CLICK_OCCLUDED:e===k.HOVER&&Jp(o)?cp.HOVER_NATIVE_ENTER_LEAVE:void 0:cp.GLOBAL_PRESS;return pv(t,e,oe,A,v,a,ce)}var hE=t=>new Promise(e=>ee(e,t));async function gf(t){var r;let e=[],n=[];for(let o of t){let a=await wd(o.ref,o.action,(r=o.args)!=null?r:{});e.push(a.effect);let s={ref:a.ref,action:a.action,dispatched:a.dispatched,settled:a.settled,settleReason:a.settleReason};a.testid!==void 0&&(s.testid=a.testid),a.component!==void 0&&(s.component=a.component),a.role!==void 0&&(s.role=a.role),a.name!==void 0&&(s.name=a.name),a.source!==void 0&&(s.source=a.source),a.warning!==void 0&&(s.warning=a.warning),n.push(s)}return{ok:!0,count:t.length,effects:e,steps:n}}Bt();hd();var Rv="data-theme";function pP(){let t=new Set;for(let e of Array.from(document.styleSheets)){let n=null;try{n=e.cssRules}catch{continue}if(n!==null){for(let r of Array.from(n))if(r instanceof CSSStyleRule)for(let o of Array.from(r.style))o.startsWith("--")&&t.add(o)}}return t}function fP(){var o;let t=new Map,e=(o=document.body)!=null?o:document.documentElement;if(e===null)return t;let n=getComputedStyle(e),r=document.createElement("span");r.style.position="absolute",r.style.pointerEvents="none",document.body.appendChild(r);try{for(let a of pP()){let s=hP(r,n.getPropertyValue(a).trim());if(s===null)continue;let l=t.get(s);l===void 0?t.set(s,[a]):l.push(a)}}finally{r.remove()}for(let a of t.values())a.sort();return t}function hP(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function Nv(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function mP(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(o=>`.${o}`).join(""),n=t.getAttribute(Rv),r=`${e}${n===null?"":`[${Rv}="${n}"]`}`;return r.length===0?null:r}function wv(t){var e;return t.length===1&&(e=t[0])!=null?e:null}function Ov(t){var l,d;let e=fP(),n=(l=e.get(t.color))!=null?l:[],r=(d=e.get(t.backgroundColor))!=null?d:[],o=!Nv(t.color)&&n.length===0,a=!Nv(t.backgroundColor)&&r.length===0,s=0;for(let u of e.values())s+=u.length;return{colorToken:wv(n),colorTokens:n,backgroundToken:wv(r),backgroundTokens:r,offTheme:s>0&&(o||a),tokenCount:s,themeScope:mP()}}Rt();Un();H();Dr();Lr();function q(t){try{t()}catch{}}function cn(t){try{return t()}catch{return}}function Od(t){try{return t()}catch{return null}}function Ef(t){var n;let e={};if(t===null)return e;for(let r=0;r<t.length;r+=1){let o=t.key(r);if(o===null)continue;let a=(n=t.getItem(o))!=null?n:"";e[o]=tt(o)?_e:fa(a)}return e}function Iv(){let t={},e="";try{e=typeof document!="undefined"?document.cookie:""}catch{return t}for(let n of e.split(";")){let r=n.indexOf("=");if(r===-1)continue;let o=n.slice(0,r).trim();if(o==="")continue;if(tt(o)){t[o]=_e;continue}let a="";try{a=decodeURIComponent(n.slice(r+1).trim())}catch{a=n.slice(r+1).trim()}t[o]=fa(a)}return t}function Cv(t){return t===ha.LOCAL?Ef(Od(()=>window.localStorage)):t===ha.SESSION?Ef(Od(()=>window.sessionStorage)):ha.COOKIE===t?Iv():{local:Ef(Od(()=>window.localStorage)),session:Ef(Od(()=>window.sessionStorage)),cookies:Iv()}}function ba(t,e){if(e!==null)return tt(t)?_e:fa(e)}function Lv(t){var p,f,m;if(typeof Storage=="undefined")return()=>{};let e=Storage.prototype,n=(p=Object.getOwnPropertyDescriptor(e,"setItem"))==null?void 0:p.value,r=(f=Object.getOwnPropertyDescriptor(e,"removeItem"))==null?void 0:f.value,o=(m=Object.getOwnPropertyDescriptor(e,"clear"))==null?void 0:m.value;if(n===void 0||r===void 0||o===void 0)return()=>{};let a=g=>g===Od(()=>window.sessionStorage)?ha.SESSION:ha.LOCAL,s=(g,T)=>{try{return g.getItem(T)}catch{return null}},l=function(g,T){var y;let _=(y=cn(()=>s(this,g)))!=null?y:null;n.call(this,g,T),_!==T&&($p(g)||q(()=>{var A;t(x.STORAGE_CHANGE,{area:a(this),key:g,...ba(g,_)===void 0?{}:{old:ba(g,_)},new:(A=ba(g,T))!=null?A:_e})}))};e.setItem=l;let d=function(g){var _;let T=(_=cn(()=>s(this,g)))!=null?_:null;r.call(this,g),!$p(g)&&q(()=>{t(x.STORAGE_CHANGE,{area:a(this),key:g,...ba(g,T)===void 0?{}:{old:ba(g,T)}})})};e.removeItem=d;let u=function(){let g=a(this),T=[];try{for(let _=0;_<this.length;_+=1){let y=this.key(_);y!==null&&!$p(y)&&T.push({key:y,old:s(this,y)})}}catch{}o.call(this);for(let{key:_,old:y}of T)q(()=>{t(x.STORAGE_CHANGE,{area:g,key:_,...ba(_,y)===void 0?{}:{old:ba(_,y)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=o)}}H();lt();at();var gP=ws.FULL_PAGE_UNSUPPORTED,EP=[gP,ws.NOT_COMPOSITED],bP="__TAURI_INTERNALS__";function TP(){let t=window[bP];if(typeof(t==null?void 0:t.invoke)!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(wp,{fullPage:n===!0});return typeof r=="string"?r:null}}async function SP(t){let e=[...document.querySelectorAll(ti)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await di(),await di()),await t()}finally{e.forEach((r,o)=>{var a;r.style.visibility=(a=n[o])!=null?a:""})}}async function kv(t=!1){let e=window[uo],n=typeof(e==null?void 0:e.capture)=="function"?e.capture:TP();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await SP(()=>n(t));return typeof r=="string"&&r.length>0?{ok:!0,path:r}:{ok:!1,reason:"capture returned no image"}}catch(r){let o=r instanceof Error?r.message:String(r);for(let a of EP)if(o.includes(a))return{ok:!1,reason:a};return{ok:!1,reason:o}}}li();Ea();Dr();ci();function _P(t,e){var n;return(n=Object.getOwnPropertyDescriptor(t,e))==null?void 0:n.value}function sr(t,e){let n=_P(t,e);if(n===void 0)throw new Error(`[Reticle] cannot patch ${String(e)}: it is not an own property of the target`);return n}oi();var xP=12e4,ac=!1,bo=0,Dv=0,Mv=1,To=[],ic=null,Ta,bf={};function $v(){if(ic===null)return;let t=ic,e=t.clearTimeout.bind(window);Ta!==void 0&&e(Ta),Ta=t.setTimeout.bind(window)(()=>{Ta=void 0,sc()},xP)}function Pv(){return ac}function Hv(){if(ac||typeof window=="undefined")return;ac=!0,bo=0,Dv=Date.now(),ic={setTimeout:sr(window,"setTimeout"),clearTimeout:sr(window,"clearTimeout"),setInterval:sr(window,"setInterval"),clearInterval:sr(window,"clearInterval"),dateNow:sr(Date,"now")};let t=(r,o,a)=>{let s=Mv;return Mv+=1,To.push({id:s,time:bo+Math.max(0,o),cb:r,interval:a}),s},e=r=>{To=To.filter(o=>o.id!==r)},n=(r,o)=>()=>{r(...o)};window.setTimeout=((r,o=0,...a)=>t(n(r,a),o)),window.clearTimeout=(r=>e(r)),window.setInterval=((r,o=0,...a)=>t(n(r,a),o,Math.max(1,o))),window.clearInterval=(r=>e(r)),bf={setTimeout:Re(window,"setTimeout"),clearTimeout:Re(window,"clearTimeout"),setInterval:Re(window,"setInterval"),clearInterval:Re(window,"clearInterval")},Date.now=()=>Dv+bo,bf.dateNow=Re(Date,"now"),$v()}function Uv(t){if(!ac)return;let e=bo+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let o=To.filter(a=>a.time<=e).sort((a,s)=>a.time-s.time)[0];if(o===void 0)break;To=To.filter(a=>a!==o),bo=o.time,o.cb(),o.interval!==void 0&&To.push({...o,time:bo+o.interval})}bo=e,$v()}function sc(){if(!ac||ic===null)return;let t=ic,e=To;Ta!==void 0&&(t.clearTimeout.bind(window)(Ta),Ta=void 0);let n=bf;bf={},window.setTimeout===n.setTimeout&&(window.setTimeout=t.setTimeout),window.clearTimeout===n.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.setInterval===n.setInterval&&(window.setInterval=t.setInterval),window.clearInterval===n.clearInterval&&(window.clearInterval=t.clearInterval),Date.now===n.dateNow&&(Date.now=t.dateNow);let r=bo;if(ic=null,To=[],ac=!1,bo=0,e.length===0)return;let o=t.setTimeout.bind(window),a=t.setInterval.bind(window),s=new Map,l={},d=u=>{s.delete(u),s.size===0&&l.current!==void 0&&yP(t,l.current)};for(let u of e)u.interval!==void 0?s.set(u.id,a(u.cb,u.interval)):s.set(u.id,o(()=>{d(u.id),u.cb()},Math.max(0,u.time-r)));l.current=AP(s,t,d)}function AP(t,e,n){let r=o=>{let a=o.bind(window);return(s=>{let l=t.get(s);if(l===void 0){a(s);return}a(l),n(s)})};return window.clearTimeout=r(e.clearTimeout),window.clearInterval=r(e.clearInterval),{clearTimeout:Re(window,"clearTimeout"),clearInterval:Re(window,"clearInterval")}}function yP(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var Tf="_reticle_reload";function Ue(t){return typeof t=="string"?t:void 0}function zv(t){return typeof t=="number"?t:void 0}function Kv(t){return typeof t=="object"&&t!==null?t:{}}function FP(t){if(typeof t!="object"||t===null)return;let e=t;if(!(typeof e.file!="string"||typeof e.line!="number"))return{file:e.file,line:e.line,column:zv(e.column)}}function GP(t){return{by:Ue(t.by),value:Ue(t.value),role:Ue(t.role),name:Ue(t.name),text:Ue(t.text),label:Ue(t.label),placeholder:Ue(t.placeholder),testid:Ue(t.testid),alt:Ue(t.alt),component:Ue(t.component),scope:Ue(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:FP(t.source)}}function BP(t){var f,m,g,T,_,y,A;let e=J.resolve(t);if(e===null)throw new Error(bd.staleRefMessage(t));let n=e.getBoundingClientRect(),r=$r(e),o=e.ownerDocument.defaultView,a=o!==null?o.getComputedStyle(e):null,s=a!==null?{color:a.color,backgroundColor:a.backgroundColor,opacity:a.opacity,cursor:a.cursor,display:a.display,visibility:a.visibility}:null,l=Fp(Up(e,r==null?void 0:r.source)),d=l!==void 0?void 0:kA(e.ownerDocument)?"This element has no source stamp. Others on the page do, so the stamping loader is running \u2014 the nearest stamped ancestor is out of range, or this element is rendered outside instrumented code.":"No element in this document carries a source stamp, so the stamping loader is not running: an older adapter, a bundler whose hook never ran, or a build the plugin was dropped from. Add @reticlehq/vite-plugin (or @reticlehq/babel-plugin) to the dev build and restart the dev server to get `file:line` back.",u={scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,overflowY:(f=a==null?void 0:a.overflowY)!=null?f:"visible",scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,overflowX:(m=a==null?void 0:a.overflowX)!=null?m:"visible"},p=ay(e);return{...Mr(e),...l!==void 0?{source:l}:{},...p.length>0?{paintContext:p}:{},...d!==void 0?{sourceUnavailable:d}:{},tag:e.tagName.toLowerCase(),href:(g=e.getAttribute("href"))!=null?g:void 0,formAction:(Vs(e)||ve(e))&&(_=(T=e.form)==null?void 0:T.getAttribute("action"))!=null?_:void 0,formText:(Vs(e)||ve(e))&&(A=(y=e.form)==null?void 0:y.textContent)!=null?A:void 0,box:{x:n.x,y:n.y,width:n.width,height:n.height},occluded:VP(e,n),styles:s,scroll:u,theme:a!==null?Ov(a):null,component:r}}function VP(t,e){return ff(t,e)!==null}function jP(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var Wv={ok:!1,reason:IS.UNAVAILABLE};function KP(t,e,n,r){let o=ai();if(n!==void 0||r!==void 0){let d=Wg(e);if(e!==void 0&&!Object.hasOwn(d,e))return{store:e,path:n,found:!1,value:null,storeNames:o};let u=e!==void 0?d[e]:{stores:d,storeNames:o},p=n!==void 0?Ax(u,n):{found:!0,value:u},f=p.found&&r!==void 0?Us(p.value,r):p.value,m=pd(f);return{store:e,path:n,found:p.found,value:m.value,...m.truncation===void 0?{}:{truncation:m.truncation},..."availableKeys"in p?{availableKeys:p.availableKeys}:{},..."totalKeys"in p?{totalKeys:p.totalKeys}:{},storeNames:o}}let{stores:a,truncation:s}=Sd(e),l={stores:a,storeNames:o};if(s!==void 0&&(l.truncation=s),t!==void 0&&t.length>0){let d=J.resolve(t);if(d===null)l.component=Wv;else{let u=Qp(d);l.component=jP(u)?u:Wv}}return l}function WP(){let t=document;return typeof t.getAnimations!="function"?{animations:[]}:{animations:t.getAnimations().map(n=>{var s;let r=n.effect,o=r==null?void 0:r.getTiming(),a=(s=r==null?void 0:r.target)!=null?s:null;return{playState:n.playState,currentTime:n.currentTime,duration:o==null?void 0:o.duration,target:a===null?null:Mr(a)}})}}function zP(t,e){if(t.length===0||t.length>G.MAX_URL_LENGTH)return null;try{let n=new URL(t,e);return n.protocol==="http:"||n.protocol==="https:"?n.toString():null}catch{return null}}function Yv(){let t=new Map;return t.set(L.SNAPSHOT,e=>{var n;return Kp({scope:Ue(e.scope),mode:(n=Ue(e.mode))!=null?n:Is.FULL,includeRoot:e.includeRoot===!0})}),t.set(L.QUERY,e=>{let n=e.limit;return nf(GP(e),typeof n=="number"?n:void 0)}),t.set(L.MATCH,e=>xd(jl.parse(Kv(e.query)),Ue(e.state))),t.set(L.ACT,e=>{var r,o;let n=(r=Ue(e.action))!=null?r:"";return wd((o=Ue(e.ref))!=null?o:"",n,Kv(e.args))}),t.set(L.ACT_SEQUENCE,e=>gf(Array.isArray(e.steps)?e.steps:[])),t.set(L.INSPECT,e=>{var n;return BP((n=Ue(e.ref))!=null?n:"")}),t.set(L.ANIMATIONS,()=>WP()),t.set(L.CLOCK,e=>{if(e.reset===!0)sc();else{e.freeze===!0&&Hv();let n=e.advanceMs;typeof n=="number"&&Uv(n)}return{frozen:Pv()}}),t.set(L.STATE_READ,e=>KP(Ue(e.ref),Ue(e.store),Ue(e.path),zv(e.depth))),t.set(L.STORAGE_READ,e=>Cv(Ue(e.area))),t.set(L.CAPABILITIES,()=>si()),t.set(L.CAPTURE,e=>kv(e.fullPage===!0)),t.set(L.RENDER,()=>Promise.resolve().then(()=>(jv(),Vv)).then(e=>e.renderPage())),t.set(L.SCROLL,e=>{let n=e.dy,r=e.fraction;return Sv(Ue(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(L.NAVIGATE,e=>{let n=Ue(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=zP(n,window.location.href);return r===null?{ok:!1,reason:"only http(s) navigation is allowed"}:(window.location.assign(r),{ok:!0,url:r})}),t.set(L.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(Tf,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}H();lt();Td();Dr();function YP(t){if(typeof document=="undefined")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var mE=1e3,XP=3e4;function qP(t){return Math.min(t*2,XP)}var ZP=500,QP=1008,JP=3,Vt,So,fi,xf,hi,cc,lc,Sa,dc,Cd,uc,Ld,pc,_a,fc,hc,jt,kd,Ae,Xv,Sf,gE,qv,EE,bE,Zv,Id,Qv,_f=class{constructor(e){b(this,Ae);b(this,Vt);b(this,So,[]);b(this,fi,[]);b(this,xf,0);b(this,hi,!1);b(this,cc,!1);b(this,lc);b(this,Sa,mE);b(this,dc,!1);b(this,Cd,!1);b(this,uc,0);b(this,Ld,!1);b(this,pc,0);b(this,_a);b(this,fc);b(this,hc);b(this,jt);b(this,kd);var n;h(this,jt,e),h(this,kd,(n=e.now)!=null?n:af)}connect(){var e,n;typeof WebSocket!="undefined"&&(h(this,hi,!1),(n=c(this,hc))!=null||h(this,hc,((e=c(this,jt).onVisible)!=null?e:YP)(()=>E(this,Ae,Xv).call(this))),E(this,Ae,Sf).call(this))}sendEvent(e){E(this,Ae,Id).call(this,kr({kind:Dt.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}reannounce(){c(this,Vt)===void 0||c(this,Vt).readyState!==WebSocket.OPEN||c(this,Vt).send(JSON.stringify(c(this,jt).hello()))}close(){var e,n;h(this,hi,!0),(e=c(this,hc))==null||e.call(this),h(this,hc,void 0),(n=c(this,Vt))==null||n.close(),h(this,Vt,void 0)}};Vt=new WeakMap,So=new WeakMap,fi=new WeakMap,xf=new WeakMap,hi=new WeakMap,cc=new WeakMap,lc=new WeakMap,Sa=new WeakMap,dc=new WeakMap,Cd=new WeakMap,uc=new WeakMap,Ld=new WeakMap,pc=new WeakMap,_a=new WeakMap,fc=new WeakMap,hc=new WeakMap,jt=new WeakMap,kd=new WeakMap,Ae=new WeakSet,Xv=function(){c(this,hi)||(h(this,Sa,mE),c(this,Vt)===void 0&&(h(this,cc,!1),E(this,Ae,Sf).call(this)))},Sf=function(){let e;try{e=new WebSocket(c(this,jt).url)}catch{E(this,Ae,bE).call(this),E(this,Ae,EE).call(this),E(this,Ae,gE).call(this);return}h(this,Vt,e),e.onopen=()=>{var o,a,s;h(this,lc,void 0),h(this,dc,!1),h(this,Cd,!0),h(this,Sa,mE);let n=c(this,jt).hello();(o=c(this,fc))!=null||h(this,fc,n.sessionId),e.send(JSON.stringify(n)),E(this,Ae,Qv).call(this,e,n.sessionId);let r=[...c(this,So),...c(this,fi)].sort((l,d)=>l.order-d.order);for(let l of r)e.send(l.text);h(this,So,[]),h(this,fi,[]),(s=(a=c(this,jt)).onConnected)==null||s.call(a)},e.onmessage=n=>{let r=n.data;E(this,Ae,Zv).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{var r,o;if(h(this,Vt,void 0),n.code===QP){h(this,cc,!0);let a=n.reason.length>0?n.reason:"policy violation";ar(`[reticle] bridge refused the connection: ${a} \u2014 not retrying until you come back to this tab.`),(o=(r=c(this,jt)).onConnectionLost)==null||o.call(r);return}E(this,Ae,bE).call(this),E(this,Ae,EE).call(this),E(this,Ae,gE).call(this)},e.onerror=()=>{e.close()}},gE=function(){var r;if(c(this,hi)||c(this,cc))return;let e=c(this,Sa);h(this,Sa,qP(e)),((r=c(this,jt).schedule)!=null?r:ee)(()=>E(this,Ae,qv).call(this),e)},qv=function(){c(this,hi)||c(this,Vt)!==void 0||E(this,Ae,Sf).call(this)},EE=function(){var e,n;c(this,Cd)||c(this,Ld)||(h(this,uc,c(this,uc)+1),c(this,uc)>=JP&&(h(this,Ld,!0),(n=(e=c(this,jt)).onUnreachable)==null||n.call(e,{url:c(this,jt).url,attempts:c(this,uc)})))},bE=function(){var n,r,o;let e=c(this,kd).call(this);(n=c(this,lc))!=null||h(this,lc,e),!c(this,dc)&&e-c(this,lc)>=O_.BRIDGE_LOST_MS&&(h(this,dc,!0),(o=(r=c(this,jt)).onConnectionLost)==null||o.call(r))},Zv=async function(e){var s;let n;try{n=JSON.parse(e)}catch{return}let r=ag.safeParse(n);if(!r.success){let l=n==null?void 0:n.id;typeof l=="string"&&l.length>0&&E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:l,ok:!1,error:"this page could not parse the command \u2014 the @reticlehq/browser SDK and the daemon are probably different versions. Nothing ran."}));return}let o=r.data;if(o.sessionId!==void 0&&o.sessionId!==c(this,fc)){E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:o.id,ok:!1,error:`command addressed to session ${o.sessionId} but this page is ${(s=c(this,fc))!=null?s:"(none)"} \u2014 the page reconnected under a new id, or two sessions share a socket. Nothing ran.`}));return}let a;try{a=await c(this,jt).handleCommand(o)}catch(l){a={ok:!1,error:l instanceof Error?l.message:String(l)}}E(this,Ae,Id).call(this,kr({kind:Dt.COMMAND_RESULT,id:o.id,ok:a.ok,result:a.result,error:a.error}))},Id=function(e,n){if(c(this,Vt)!==void 0&&c(this,Vt).readyState===WebSocket.OPEN){c(this,Vt).send(e);return}if(c(this,So).length+c(this,fi).length>=ZP){let a=c(this,So).length>0?c(this,So).shift():c(this,fi).shift();if((a==null?void 0:a.event)!==void 0){h(this,pc,c(this,pc)+1);let s=c(this,_a);(s===void 0||a.event.t<s.t)&&h(this,_a,a.event)}}let r=n!==void 0&&T_.has(n.type),o=eS(this,xf)._++;r?c(this,So).push({text:e,event:n,order:o}):c(this,fi).push({text:e,event:n,order:o})},Qv=function(e,n){let r=c(this,_a);if(r===void 0)return;let o={t:r.t,seq:r.seq,type:x.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,pc)}};e.send(kr({kind:Dt.EVENT,event:o})),h(this,_a,void 0),h(this,pc,0)};TE();li();H();Ea();function eR(){let t=[R.UI,R.NET,R.LOG,R.ROUTE,R.STORAGE,R.TIME,R.SIGNAL];return ai().length>0?[...t,R.STATE]:t}H();var e5="__TAURI_INTERNALS__";function tR(){if(typeof window=="undefined")return Or.SERVICE;let t=window;return t[uo]!==void 0||t[e5]!==void 0?Or.WEBVIEW:Or.WEB}var t5=[L.SNAPSHOT,L.QUERY,L.MATCH,L.INSPECT,L.ACT,L.ACT_SEQUENCE,L.ANIMATIONS,L.NARRATE,L.CLOCK,L.CAPABILITIES,L.STATE_READ,L.STORAGE_READ,L.SCROLL,L.SESSION_CONFIG,L.PRESENTER,L.IMPACT,L.CAPTURE,L.RENDER,L.NAVIGATE,L.REFRESH,L.FLOWS,L.FLOW_PROGRESS,L.PLAN,L.MARKERS];function nR(){return[...t5]}ci();on();H();Bt();Rt();at();Ys();Un();function n5(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}function SE(t){let e=[],n=(r,o)=>{if(!(o>=3))for(let a of r.querySelectorAll("iframe")){let s=n5(a);s!==null&&(e.push(s),n(s,o+1))}};return n(t,0),e}function rR(t){let e=new AbortController,n=()=>{for(let o of SE(document))t(o)};n();let r=o=>{o.target instanceof HTMLIFrameElement&&n()};return document.addEventListener("load",r,{capture:!0,signal:e.signal}),()=>e.abort()}function oR(t){var r;let e=an(t)?t:null;if(e===null)return;let n=e.closest(rr());return(r=n?Pe(n):null)!=null?r:J.refFor(e)}var r5=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],iR=120;function yf(t){if(t!==null)return t.length>iR?`${t.slice(0,iR)}\u2026`:t}var o5=new Set(["dialog","alertdialog"]),i5=new Set(["alert","status"]),Dd=40;function aR(t,e){return t!=="generic"||e.length>0}var a5=40;function sR(t){let e=xe(t),n=Ne(t);if(aR(e,n))return{role:e,name:n,el:t};let r=0;for(let o of t.querySelectorAll("*")){if(r>=a5)return;if(r+=1,ni(o))continue;let a=xe(o),s=Ne(o);if(aR(a,s))return{role:a,name:s,el:o}}}var s5=3;function _E(t){var r;let e="";for(let o of t)o.nodeType===s5&&(e+=(r=o.nodeValue)!=null?r:"");let n=e.trim();return n.length>0?n:void 0}var c5=new Set(["class","style","type","disabled","readonly","required","hidden"]);function l5(t,e){return!c5.has(e)&&!e.startsWith("aria-")&&ir(t)}function cR(t){let e=OA(),n=new MutationObserver(s=>{var f,m,g,T,_;let l=0,d=0,u=0,p=0;for(let y of s){if(y.type==="attributes"){let A=y.target;if(an(A)&&y.attributeName!==null&&!ni(A)){if(u>=Dd){p+=1;continue}u+=1;let v=l5(A,y.attributeName),O=v?_e:yf(A.getAttribute(y.attributeName)),B=v&&y.oldValue!==null?_e:yf(y.oldValue);t(x.DOM_ATTR,{attr:y.attributeName,...O===void 0?{}:{value:O},...B===void 0?{}:{old:B}},J.refFor(A))}continue}if(y.type==="characterData"){let A=y.target.parentElement;if(A!==null&&!ni(A)){if(u>=Dd){p+=1;continue}u+=1;let v=ir(A),O=v?_e:((f=y.target.textContent)!=null?f:"").trim().slice(0,80),B=v?void 0:yf((g=(m=y.oldValue)==null?void 0:m.trim())!=null?g:null);t(x.DOM_TEXT,{text:O,...B===void 0?{}:{old:B}},J.refFor(A))}continue}if(_E(y.addedNodes)!==void 0||_E(y.removedNodes)!==void 0){let A=an(y.target)?y.target:null;if(A!==null&&!ni(A))if(u>=Dd)p+=1;else{u+=1;let v=ir(A),O=v?_e:((T=A.textContent)!=null?T:"").trim().slice(0,80),B=v?void 0:yf((_=_E(y.removedNodes))!=null?_:null);t(x.DOM_TEXT,{text:O,...B===void 0?{}:{old:B}},J.refFor(A))}}for(let A of y.addedNodes){if(!an(A))continue;if(l>=Dd){p+=1;continue}if(ni(A))continue;let v=sR(A);if(v===void 0)continue;let{role:O,name:B}=v;l+=1;let oe=J.refFor(v.el);t(x.DOM_ADDED,{role:O,name:B,region:oR(y.target)},oe),(o5.has(O)||i5.has(O)||A.getAttribute("aria-modal")==="true")&&Gt(A)&&t(x.VISIBLE_SHOWN,{role:O,name:B},oe)}for(let A of y.removedNodes){if(!an(A))continue;if(d>=Dd){p+=1;continue}if(ni(A)||an(y.target)&&ni(y.target))continue;let v=sR(A);if(v===void 0)continue;let{role:O,name:B}=v;d+=1,t(x.DOM_REMOVED,{role:O,name:B,region:oR(y.target)})}}p>0&&t(x.TRUNCATED,{channel:sp.DOM,dropped:p})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:r5,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let s of RA())n.observe(s,r);let o=wA(s=>n.observe(s,r)),a=rR(s=>n.observe(s,r));return()=>{a(),o(),e(),n.disconnect()}}H();Ea();Dr();function lR(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function d5(t,e){if(!lR(t)||!lR(e))return Object.is(t,e)?[]:[{path:"",old:t,new:e}];let n=[];for(let r of new Set([...Object.keys(t),...Object.keys(e)]))Object.is(t[r],e[r])||n.push({path:r,old:t[r],new:e[r]});return n}function dR(t,e){return tt(t)?_e:ud(e)}function uR(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function pR(t){try{return t()}catch{return}}function fR(t){let e=new Map,n=([o,a,s])=>{var d;try{(d=e.get(o))==null||d()}catch{}let l=pR(a);e.set(o,s(()=>{q(()=>{let u=pR(a),p=d5(l,u);l=u;for(let f of p){let m=dR(f.path,f.new),g=dR(f.path,f.old);(tt(f.path)?uR(ud(f.old),ud(f.new)):uR(g,m))||q(()=>t(x.STATE_CHANGE,{name:o,path:f.path,value:m,old:g}))}})}))};for(let o of by())n(o);e.size===0&&t(x.BLIND_SPOT,{kind:Pt.UNWATCHED_STATE,count:1});let r=my(o=>{let a=e.size===0;n(o),a&&e.size>0&&t(x.BLIND_SPOT,{kind:Pt.UNWATCHED_STATE,count:0})});return()=>{r();for(let o of e.values())try{o()}catch{}e.clear()}}H();Bt();function mc(t){if(!(t instanceof Element)||t===document.body)return;let e=xe(t),n=Ne(t);return n.length>0?`${e} "${n}"`:e}function u5(t){return t===null||t===document.body}function hR(t){let e=new AbortController,{signal:n}=e,r=null,o=s=>{let l=s.target,d=r;r=l,t(x.FOCUS_CHANGE,{...mc(l)===void 0?{}:{to:mc(l)},...mc(d)===void 0?{}:{from:mc(d)},toBody:u5(l)})},a=s=>{if(s.relatedTarget!==null)return;let l=r;r=null,t(x.FOCUS_CHANGE,{...mc(l)===void 0?{}:{from:mc(l)},toBody:!0})};return document.addEventListener("focusin",o,{signal:n}),document.addEventListener("focusout",a,{signal:n}),()=>e.abort()}on();H();Bt();var mR=160,p5=150;function gR(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function f5(t){let e=Pe(t);if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=Ne(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function ER(t){let e=new AbortController,{signal:n}=e,r=new Map,o=(d,u)=>{let p=d.value,f=ir(d);t(x.FIELD_CHANGE,{field:f5(d),kind:u,length:p.length,...f?{redacted:!0}:{value:p.length>mR?`${p.slice(0,mR)}\u2026`:p}})},a=d=>{let u=r.get(d);u!==void 0&&clearTimeout(u),r.delete(d)},s=d=>{let u=d.target;gR(u)&&(a(u),r.set(u,setTimeout(()=>{r.delete(u),o(u,"input")},p5)))},l=d=>{let u=d.target;gR(u)&&(a(u),o(u,"change"))};return document.addEventListener("input",s,{signal:n,capture:!0}),document.addEventListener("change",l,{signal:n,capture:!0}),()=>{for(let d of r.values())clearTimeout(d);r.clear(),e.abort()}}H();function h5(t){let e=t;for(let n=0;n<3;n+=1){let r=Array.from(e.children).filter(a=>a instanceof HTMLElement),o=r.length===1?r[0]:void 0;if(o===void 0||o.offsetHeight<e.scrollHeight*.9)return e;e=o}return e}function m5(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=h5(t),o=Array.from(r.children).filter(p=>p instanceof HTMLElement);if(o.length<2)return 0;let a=1/0,s=0,l=0;for(let p of o){let f=p.offsetTop,m=f+p.offsetHeight;f<a&&(a=f),m>s&&(s=m),l+=p.offsetHeight}let d=Math.max(0,a)+Math.max(0,e-s);if(d<e*.25)return 0;let u=l/o.length;return u<=0?0:Math.round(d/u)}function bR(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=m5(e));return t}Ys();lt();function g5(){var e;let t=0;for(let n of document.querySelectorAll("*"))n.tagName.includes("-")&&n.shadowRoot===null&&(NA(n)||n.children.length>0||((e=n.textContent)!=null?e:"").trim().length>0||n.offsetHeight<=0&&n.offsetWidth<=0||(t+=1));return t}function E5(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function b5(t){let e=0;for(let n of t)E5(n)&&(e+=1);return e}function T5(){return b5(Array.from(document.querySelectorAll("iframe")))}function S5(){return SE(document).length}var _5=250;function TR(t){let e=[{kind:Pt.CROSS_ORIGIN_IFRAME,count:T5},{kind:Pt.UNINSTRUMENTED_FRAME,count:S5},{kind:Pt.CLOSED_SHADOW_ROOT,count:g5},{kind:Pt.VIRTUALIZED_UNMOUNTED,count:bR}],n=new Map,r=()=>{for(let s of e){let l=s.count();l!==n.get(s.kind)&&(n.set(s.kind,l),l>0&&t(x.BLIND_SPOT,{kind:s.kind,count:l}))}};r();let o,a=new MutationObserver(()=>{o===void 0&&(o=ee(()=>{o=void 0,r()},_5))});return a.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{o!==void 0&&Te(o),a.disconnect()}}H();oi();H();Dr();lt();var x5=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,A5=/event-stream|x-ndjson|application\/stream/i,y5=/event-stream/i;function xR(t,e){return t!==null&&y5.test(t)?!1:e===null}var v5=500;async function AR(t){let e;try{return await Promise.race([t,new Promise(n=>{e=ee(()=>n(void 0),v5)})])}finally{e!==void 0&&Te(e)}}function xE(t){return t===null||A5.test(t)?!1:x5.test(t)}var yR=8192,R5=262144,N5=256,Md=yR;function vR(t){Number.isFinite(t)&&(Md=Math.min(R5,Math.max(N5,Math.floor(t))))}var w5=yR*2;function O5(t){let e=Md*2;return t?Math.min(e,w5):e}var I5=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function SR(t){return t.replace(I5,(e,n)=>`${n} ${_e}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>tt(n)?`${n}${r}${_e}`:e)}var _R=4096;function AE(t,e){return e&&t>=400}function yE(t,e){let n=mi(t,e);return n.body.length<=_R?n:{body:n.body.slice(0,_R),truncated:!0}}function mi(t,e){let n=e!==null&&/json|graphql/i.test(e),r=O5(!n),o=t.length>r,a=o?t.slice(0,r):t,s;if(n)try{s=kr(JSON.parse(a))}catch{s=SR(a)}else s=SR(a);s=fa(s);let l=o||s.length>Md;return{body:s.length>Md?s.slice(0,Md):s,truncated:l}}var C5=/text\/|json|csv|xml|ndjson|javascript/i,L5=2e3;function RR(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),o=new Map,a=Re(URL,"createObjectURL"),s=function(g){let T=r(g);return q(()=>{if(typeof Blob!="undefined"&&g instanceof Blob){let _=C5.test(g.type)?g.text().catch(()=>{}):Promise.resolve(void 0);o.set(T,{type:g.type,size:g.size,text:_})}}),T};URL.createObjectURL=s;let l=(m,g)=>{let T=o.get(m);T!==void 0&&(o.delete(m),T.text.then(_=>{q(()=>{d(T,g,_)})}))},d=(m,g,T)=>{let _={mimeType:m.type,bytes:m.size};if(g!==void 0&&g.length>0&&(_.filename=g),T!==void 0&&(_.lines=T.split(`
|
|
1779
|
-
`).filter(
|
|
1780
|
-
`).slice(1).map(o=>o.trim()).filter(o=>o.length>0&&!Y5.test(o)),n=e.find(o=>!X5.test(o));return(r=n!=null?n:e[0])==null?void 0:r.slice(0,300)}function NE(){return q5(new Error().stack)}function Z5(t){if(t===void 0)return{};let e={};return t.responseStart>0&&t.requestStart>0&&(e.ttfbMs=Math.round(t.responseStart-t.requestStart)),t.transferSize>0&&(e.transferSize=t.transferSize),e}function CR(t){try{let e=performance.getEntriesByName(t,"resource");return Z5(e[e.length-1])}catch{return{}}}function Q5(t){try{return new URL(t,location.href).pathname===oa}catch{return t.includes(oa)}}function J5(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var LR=new WeakSet;function kR(t,e={}){var gs,WT,zT;let n=e.captureBodies===!0,r=e.captureErrorBodies!==!1,o=e.reinterpret,a=sr(window,"fetch"),s=a.bind(window);!J5(a)&&!LR.has(a)&&t(x.BLIND_SPOT,{kind:Pt.WRAPPED_NETWORK,count:1});let l=0,d=()=>`n${++l}`;window.fetch=async(Ce,ue)=>{var XT,qT,ZT;let Je=K5(Ce);if(((XT=e.ignore)==null?void 0:XT.call(e,Je))===!0)return s(Ce,ue);let xt=d(),Ve=performance.now(),qt=W5(Ce,ue),Lt=z5(Ce,ue),Wo=Lt===void 0?{}:{[Sp]:Lt},Gi=(qT=cn(()=>RE(ue==null?void 0:ue.body,n)))!=null?qT:{},Es=wr(Je),zu=Es.url,YT=cn(()=>NE()),Jh=YT===void 0?{}:{initiatorStack:YT};q(()=>{t(x.NET_PENDING,{id:xt,method:qt,...Es,initiator:"fetch",...Jh})});try{let At=await s(Ce,ue),zC=performance.now(),kl=(ZT=cn(()=>At.headers.get("content-type")))!=null?ZT:null;q(()=>{wR(t,At,xt,Es,kl,At.headers.get("content-length"))}),Ge.add(Je);let QT=Dl=>{q(()=>{var Ml;t(x.NET_REQUEST,{id:xt,method:qt,...Es,status:At.status,ok:OR(At.status),durationMs:Math.round(zC-Ve),initiator:"fetch",...Jh,...CR(Je),...IR(At.statusText,kl,At.headers.get("content-length")),...Gi,...Wo,...Dl,...(Ml=o==null?void 0:o(zu,$l=>At.headers.get($l)))!=null?Ml:{}})})},YC=AE(At.status,r);if((n||YC)&&xE(kl)){let Dl;try{Dl=At.clone()}catch{}(async()=>{let Ml={};if(Dl!==void 0)try{let $l=await AR(Dl.text());if($l!==void 0){let{body:XC,truncated:qC}=n?mi($l,kl):yE($l,kl);Ml={responseBody:XC,...qC?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}}catch{}try{QT(Ml)}catch{}})().catch(()=>{})}else QT({});return At}catch(At){throw q(()=>{t(x.NET_REQUEST,{id:xt,method:qt,url:zu,status:0,ok:!1,error:At instanceof Error?At.message:String(At),durationMs:Math.round(performance.now()-Ve),initiator:"fetch",...Jh,...Wo})}),At}};let u=sr(window,"fetch");LR.add(u);let p=new WeakMap,f=XMLHttpRequest.prototype,m=Re(f,"open"),g=Re(f,"send"),T=m;f.open=function(Ce,ue,...Je){q(()=>{p.set(this,{id:d(),method:Ce.toUpperCase(),url:xp(String(ue)),rawUrl:String(ue),start:0})}),T.call(this,Ce,ue,...Je)};let _=Re(f,"open"),y=new WeakSet;f.send=function(Ce){q(()=>{var Je;let ue=p.get(this);if(ue!==void 0){ue.start=performance.now(),ue.reqFields=(Je=cn(()=>RE(Ce!=null?Ce:null,n)))!=null?Je:{},ue.initiatorStack=NE();let xt=ue.initiatorStack===void 0?{}:{initiatorStack:ue.initiatorStack};t(x.NET_PENDING,{id:ue.id,method:ue.method,...wr(ue.rawUrl),initiator:"xhr",...xt}),y.has(this)||(y.add(this),this.addEventListener("loadend",()=>{q(()=>{let Ve=p.get(this);if(Ve===void 0)return;Ge.add(Ve.rawUrl);let qt=this.getResponseHeader("content-type"),Lt={},Wo=this.responseType===""||this.responseType==="text",Gi=AE(this.status,r);if((n||Gi)&&Wo&&xE(qt))try{let{body:Es,truncated:zu}=n?mi(this.responseText,qt):yE(this.responseText,qt);Lt={responseBody:Es,...zu?{responseBodyTruncated:!0}:{},...n?{}:{responseBodyReason:"error-status"}}}catch{}t(x.NET_REQUEST,{id:Ve.id,method:Ve.method,...wr(Ve.rawUrl),status:this.status,ok:OR(this.status),durationMs:Math.round(performance.now()-Ve.start),initiator:"xhr",...Ve.initiatorStack===void 0?{}:{initiatorStack:Ve.initiatorStack},...CR(Ve.rawUrl),...IR(this.statusText,qt,this.getResponseHeader("content-length")),...Ve.reqFields,...Lt})})}))}}),g.call(this,Ce!=null?Ce:null)};let A=Re(f,"send"),v=window.EventSource,O=window.WebSocket,B,oe;n&&typeof v=="function"&&(window.EventSource=class extends v{constructor(Ce,ue){super(Ce,ue),q(()=>{let Je=wr(String(Ce));t(x.NET_STREAM,{transport:Ir.SSE,direction:Cr.OPEN,...Je}),this.addEventListener("message",xt=>{q(()=>{t(x.NET_STREAM,{transport:Ir.SSE,direction:Cr.IN,...Je,...vE(xt.data,n)})})})})}},B=window.EventSource),n&&typeof O=="function"&&(window.WebSocket=(WT=class extends O{constructor(ue,Je){super(ue,Je);b(this,gs);h(this,gs,Q5(String(ue))),!c(this,gs)&&q(()=>{let xt=wr(String(ue));t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.OPEN,...xt}),this.addEventListener("message",Ve=>{q(()=>{t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.IN,...xt,...vE(Ve.data,n)})})})})}send(ue){if(c(this,gs)){super.send(ue);return}super.send(ue),q(()=>{t(x.NET_STREAM,{transport:Ir.WS,direction:Cr.OUT,...wr(this.url),...vE(ue,n)})})}},gs=new WeakMap,WT),oe=window.WebSocket);let ce=typeof navigator!="undefined"?Object.getPrototypeOf(navigator):null,he=ce===null||(zT=Object.getOwnPropertyDescriptor(ce,"sendBeacon"))==null?void 0:zT.value,Ie;ce!==null&&he!==void 0&&(Ie=function(Ce,ue){let Je=d(),xt=cn(()=>wr(String(Ce))),Ve=cn(()=>NE()),qt=he.call(this,Ce,ue);return q(()=>{t(x.NET_REQUEST,{id:Je,method:"POST",...xt,status:0,ok:qt,queued:qt,durationMs:0,initiator:"beacon",...Ve===void 0?{}:{initiatorStack:Ve},...RE(ue,!1)})}),qt},ce.sendBeacon=Ie);let Ge=new Set,mn=0,Cn=200,pt;if(typeof PerformanceObserver!="undefined")try{let Ce=new PerformanceObserver(ue=>{var Je,xt,Ve;for(let qt of ue.getEntries()){let Lt=qt;if(mn>=Cn)return;let Wo=Lt.initiatorType||"other";if(Wo==="fetch"||Wo==="xmlhttprequest")continue;let Gi=Lt.name;Ge.has(Gi)||(Ge.add(Gi),mn+=1,t(x.NET_REQUEST,{id:d(),method:"GET",...wr(Gi),durationMs:Math.round(Lt.duration),initiator:Wo,...Lt.transferSize>0?{transferSize:Lt.transferSize}:{},...((Je=Lt.responseStatus)!=null?Je:0)>0?{status:Lt.responseStatus,ok:((xt=Lt.responseStatus)!=null?xt:0)>=200&&((Ve=Lt.responseStatus)!=null?Ve:0)<400}:{}}))}});pt=Ce,Ce.observe({type:"resource",buffered:!0})}catch{}return()=>{pt==null||pt.disconnect(),window.fetch===u&&(window.fetch=a),Re(f,"open")===_&&(f.open=m),Re(f,"send")===A&&(f.send=g),B!==void 0&&window.EventSource===B&&(window.EventSource=v),oe!==void 0&&window.WebSocket===oe&&(window.WebSocket=O),ce!==null&&he!==void 0&&ce.sendBeacon===Ie&&(ce.sendBeacon=he)}}H();var eH="Tauri-Response",tH="error",DR={OK:"Ok",ERROR:"Err"},MR=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function $R(t,e){let n=MR.exec(t),r=n==null?void 0:n[1];if(r===void 0)return;let o=e(eH)!==tH;return{url:`${Xm}${r}`,initiator:nr.IPC,method:nr.IPC,ok:o,status:o?ql.OK:ql.ERROR,statusText:o?DR.OK:DR.ERROR}}function PR(t){var e;return((e=MR.exec(t))==null?void 0:e[1])===wp}function nH(){return navigator.userAgent.includes("Electron")}function HR(t,e={}){let n=window[uo];if(typeof(n==null?void 0:n.subscribe)!="function")return nH()&&t(x.BLIND_SPOT,{kind:Pt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(o=>{q(()=>{var d;let a=`${Xm}${o.channel}`;if(o.phase==="start"){t(x.NET_PENDING,{id:o.id,method:nr.IPC,url:a,initiator:nr.IPC});return}let s=o.oneWay===!0&&o.ok===void 0;s&&t(x.BLIND_SPOT,{kind:Pt.VERDICTLESS_SEND,count:1});let l=o.ok===!0;t(x.NET_REQUEST,{id:o.id,method:nr.IPC,url:a,...s?{}:{ok:l,status:l?ql.OK:ql.ERROR},...o.oneWay===!0?{oneWay:!0}:{},durationMs:(d=o.durationMs)!=null?d:0,initiator:nr.IPC,...o.error===void 0?{}:{error:o.error},...o.responseSize===void 0?{}:{responseSize:o.responseSize},...e.captureBodies===!0?{...o.requestBody===void 0?{}:{requestBody:o.requestBody},...o.responseBody===void 0?{}:{responseBody:o.responseBody},...o.responseBodyTruncated===!0?{responseBodyTruncated:!0}:{}}:{}})})});return()=>{var o;(o=n.unsubscribe)==null||o.call(n,r)}}H();Rt();on();at();Un();var UR=t=>t===void 0?0:Math.max(0,t.width)*Math.max(0,t.height);function FR(t){let e=globalThis.CSS;if(typeof(e==null?void 0:e.escape)=="function")return e.escape(t);let n="";for(let[r,o]of[...t].entries())/\d/.test(o)&&(r===0||r===1&&t.startsWith("-"))?n+=`\\${o.charCodeAt(0).toString(16)} `:/[\w-]/.test(o)?n+=o:n+=`\\${o}`;return n}function rH(t){let e=Pe(t);if(e!==null)return`[${Bs()}="${e.replace(/["\\]/g,"\\$&")}"]`;let n=t.tagName.toLowerCase();if(0<t.id.length)return`${n}#${FR(t.id)}`;let r=t.classList.item(0);return r===null?n:`${n}.${FR(r)}`}function oH(t){var n;let e;for(let r of t!=null?t:[]){let o=(n=r.node)!=null?n:null,a=o===null?null:an(o)?o:o.parentElement;if(a===null||ht(a))continue;let s=Math.max(UR(r.previousRect),UR(r.currentRect));(e===void 0||s>e.area)&&(e={el:a,area:s})}return e===void 0?void 0:{ref:J.refFor(e.el),selector:rH(e.el)}}function GR(t){if(typeof PerformanceObserver!="function")return()=>{};let e=[],n=(a,s)=>{try{let l=new PerformanceObserver(d=>{for(let u of d.getEntries())s(u)});l.observe({type:a,buffered:!0}),e.push(l)}catch{}},r=0,o=0;return n("largest-contentful-paint",a=>{let s=Math.round(a.startTime);s<=o||(o=s,t(x.PERF,{metric:Os.LCP,value:s,at:s}))}),n("layout-shift",a=>{var d;let s=a;if(s.hadRecentInput===!0)return;r+=(d=s.value)!=null?d:0;let l=oH(s.sources);t(x.PERF,{metric:Os.CLS,value:r,at:Math.round(a.startTime),...l===void 0?{}:{shifted:l}})}),n("longtask",a=>{t(x.PERF,{metric:Os.LONGTASK,value:Math.round(a.duration),at:Math.round(a.startTime)})}),()=>{for(let a of e)a.disconnect()}}H();oi();function iH(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}function BR(t){let e=new AbortController,n=Re(history,"pushState"),r=Re(history,"replaceState"),o=n.bind(history),a=r.bind(history),s=location.href,l=(f,m)=>{q(()=>{let g=iH();g.href!==f&&(s=g.href,t(x.ROUTE_CHANGE,{from:f,to:g.href,pathname:g.pathname,search:g.search,hash:g.hash,[lg]:m}))})},d=(f,m,g)=>{let T=location.href;o(f,m,g!=null?g:null),l(T,ed.PUSH)},u=(f,m,g)=>{let T=location.href;a(f,m,g!=null?g:null),l(T,ed.REPLACE)};history.pushState=d,history.replaceState=u;let p=()=>{l(s,ed.POP)};return window.addEventListener("popstate",p,{signal:e.signal}),window.addEventListener("hashchange",p,{signal:e.signal}),()=>{history.pushState===d&&(history.pushState=n),history.replaceState===u&&(history.replaceState=r),e.abort()}}H();var aH=new Set(["navigate","reload","back_forward"]);function sH(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function VR(t){var s,l;let e=sH(),n=e==null?void 0:e.type,r=e==null?void 0:e.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!aH.has(n))return()=>{};let o=e.responseStatus,a=typeof o=="number"&&o>0;return t(x.NET_REQUEST,{id:`doc-${String(Math.round((s=e.duration)!=null?s:0))}`,method:"GET",url:r,initiator:nr.DOCUMENT,durationMs:Math.round((l=e.duration)!=null?l:0),...a?{status:o,ok:o<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}H();var cH=/^(javascript|mailto|tel|sms|blob|data):/i;function lH(){if(typeof window=="undefined")return;let t=window.navigation;return t instanceof EventTarget?t:void 0}function dH(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}var uH=1e3;function jR(t,e,n){if(t.length===0||cH.test(t))return!1;if(e)return!0;try{let r=new URL(t,n),o=new URL(n);return r.origin===o.origin?r.pathname!==o.pathname||r.search!==o.search:!0}catch{return!1}}function KR(t){if(typeof document=="undefined")return()=>{};let e=0,n,r=(l,d)=>{let u=Date.now();n!==void 0&&n.url===l&&u-n.at<uH||(n={url:l,at:u},e+=1,t(x.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:l,initiator:nr.NAVIGATION,...d?{download:!0}:{}}))},o=l=>{q(()=>{var g;let d=dH(l.target);if(d===void 0)return;let u=(g=d.getAttribute("href"))!=null?g:"",p=document.location.href,f=d.hasAttribute("download");if(!jR(u,f,p))return;let m=new URL(u,p).toString();queueMicrotask(()=>{q(()=>{l.defaultPrevented||r(m,f)})})})},a=l=>{q(()=>{let d=l.destination;if(d===void 0||d.sameDocument)return;let u=d.url;jR(u,!1,document.location.href)&&queueMicrotask(()=>{q(()=>{l.defaultPrevented||r(u,!1)})})})},s=lH();return s!==void 0&&s.addEventListener("navigate",a),document.addEventListener("click",o,!0),()=>{document.removeEventListener("click",o,!0),s!==void 0&&s.removeEventListener("navigate",a)}}H();Dr();H();var pH=3,fH=256,hH={emit:!0},mH={emit:!1};function gH(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function EH(t){var e,n,r;return Fs([t.message,(e=t.source)!=null?e:"",t.line===void 0?"":String(t.line),(n=t.kind)!=null?n:"",(r=t.stack)!=null?r:""].join("\0"))}function WR(t=pH,e=fH){let n=new Map;return{admit(r){var s,l;let o=EH(r),a=((s=n.get(o))!=null?s:0)+1;if(n.delete(o),n.size>=e){let d=n.keys().next();(l=d.done)!=null&&l||n.delete(d.value)}return n.set(o,a),a<=t?hH:gH(a)?{emit:!0,repeats:a}:mH}}}var zR="securitypolicyviolation",bH="report",TH={log:x.CONSOLE_LOG,warn:x.CONSOLE_WARN,error:x.CONSOLE_ERROR,info:x.CONSOLE_INFO,debug:x.CONSOLE_DEBUG};function SH(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:kr(e)).join(" ")}var YR=G.MAX_STACK_LENGTH;function OE(t){if(!(t===void 0||t.length===0))return t.length>YR?t.slice(0,YR):t}function _H(t){for(let e of t)if(e instanceof Error)return OE(e.stack)}function XR(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let f of e){let m=sr(console,f);n.set(f,m);let g=m.bind(console),T=(..._)=>{g(..._),q(()=>{let y=f==="error"?_H(_):void 0;t(TH[f],{message:SH(_),...y===void 0?{}:{stack:y}})})};r.set(f,T),console[f]=T}let o=WR(),a=f=>{let m=o.admit(f);m.emit&&t(x.ERROR_UNCAUGHT,{...f,...m.repeats===void 0?{}:{repeats:m.repeats}})},s=f=>{var m,g;if(!(f instanceof ErrorEvent)){let T=f.target;if(!(T instanceof Element)||T===document)return;let _=T.tagName.toLowerCase(),y=(g=(m=T.getAttribute("src"))!=null?m:T.getAttribute("href"))!=null?g:"";q(()=>{let A=`<${_}> failed to load${y.length===0?"":`: ${y}`}`;a({message:A,kind:"resource",...y.length===0?{}:{source:y}})});return}q(()=>{let T=OE(f.error instanceof Error?f.error.stack:void 0),_={message:f.message,source:f.filename,line:f.lineno,...T===void 0?{}:{stack:T}};a(_)})},l=f=>{q(()=>{let m=f.reason,g=OE(m instanceof Error?m.stack:void 0),T={message:m instanceof Error?m.message:String(m),kind:"unhandledrejection",...g===void 0?{}:{stack:g}};a(T)})},d=f=>{let m=f.blockedURI.length===0?"inline content":f.blockedURI,g=bH===f.disposition;t(g?x.CONSOLE_WARN:x.CONSOLE_ERROR,{message:g?`[Report Only] Content Security Policy directive: ${f.violatedDirective} would block ${m}`:`Content Security Policy directive: ${f.violatedDirective} blocked ${m}`,kind:zR,...f.blockedURI.length===0?{}:{source:f.blockedURI}})},u=new AbortController,{signal:p}=u;return window.addEventListener("error",s,{capture:!0,signal:p}),window.addEventListener("unhandledrejection",l,{signal:p}),window.addEventListener(zR,d,{capture:!0,signal:p}),()=>{for(let[f,m]of n)console[f]===r.get(f)&&(console[f]=m);u.abort()}}H();rc();var xH={alert:void 0,confirm:!1,prompt:null},AH=["alert","confirm","prompt"];function qR(t){let e=window,n=new Map,r=new Map;for(let o of AH){let a=e[o];if(typeof a!="function")continue;n.set(o,a);let s=a.bind(window),l=(...d)=>{if(!rf())return s(...d);let u=xH[o],p=d[0];return q(()=>{t(x.DIALOG_OPENED,{kind:o,...typeof p=="string"?{message:p}:{},...u===void 0?{}:{answered:u}})}),u};r.set(o,l),e[o]=l}return()=>{for(let[o,a]of n)e[o]===r.get(o)&&(e[o]=a)}}H();Rt();at();function ZR(t){let e=new AbortController,{signal:n}=e,r=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_START,{name:s.animationName},J.refFor(l))},o=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_END,{name:s.animationName},J.refFor(l))},a=s=>{let l=s.target;l instanceof Element&&!ht(l)&&t(x.ANIM_END,{name:s.propertyName,kind:"transition"},J.refFor(l))};return document.addEventListener("animationstart",r,{capture:!0,signal:n}),document.addEventListener("animationend",o,{capture:!0,signal:n}),document.addEventListener("transitionend",a,{capture:!0,signal:n}),()=>e.abort()}H();Rt();lt();var QR=100,yH="[data-reticle-reveal], [data-reveal], section";function JR(t){let e=new AbortController,{signal:n}=e,r=0,o=0,a,s=()=>{r=performance.now();let u=window.scrollY,p=Math.max(1,document.documentElement.scrollHeight-window.innerHeight);t(x.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/p*100),direction:u>=o?Np.DOWN:Np.UP}),o=u},l=()=>{let u=performance.now()-r;if(u>=QR){a!==void 0&&(Te(a),a=void 0),s();return}a===void 0&&(a=ee(()=>{a=void 0,s()},QR-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(p=>{for(let f of p)f.isIntersecting&&t(x.REVEAL_SHOWN,{ratio:f.intersectionRatio},J.refFor(f.target))},{threshold:.25});let u=d;for(let p of document.querySelectorAll(yH))u.observe(p)}return()=>{e.abort(),a!==void 0&&Te(a),d==null||d.disconnect()}}H();lt();function tN(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[uo]!==void 0?"electron":"web"}function vH(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var RH={"google chrome":$e.CHROME,chrome:$e.CHROME,"microsoft edge":$e.EDGE,edge:$e.EDGE,brave:$e.BRAVE,opera:$e.OPERA,arc:$e.ARC,dia:$e.DIA,firefox:$e.FIREFOX,safari:$e.SAFARI};function NH(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function wH(){var e;try{let r=(e=navigator.userAgentData)==null?void 0:e.brands;if(Array.isArray(r)){let o;for(let a of r){let s=typeof(a==null?void 0:a.brand)=="string"?a.brand.toLowerCase():"";if(s===""||NH(s))continue;let l=RH[s];if(l!==void 0)if($e.CHROME===l)o=l;else return l}return o!=null?o:$e.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?$e.EDGE:/OPR\/|Opera/.test(t)?$e.OPERA:/Firefox/.test(t)?$e.FIREFOX:/Chrome|Chromium/.test(t)?$e.CHROME:/Safari/.test(t)?$e.SAFARI:$e.OTHER}var eN=typeof window!="undefined"&&typeof window.fetch=="function"?window.fetch.bind(window):void 0;function OH(){var n,r;let t=window.__TAURI_INTERNALS__,e=(r=(n=t==null?void 0:t.metadata)==null?void 0:n.currentWindow)==null?void 0:r.label;return typeof e=="string"&&e.length>0?e:void 0}function IH(){try{let[t]=performance.getEntriesByType("navigation"),e=t==null?void 0:t.responseStatus;return typeof e=="number"&&e>0?e:void 0}catch{return}}async function CH(t){let e=IH();if(e!==void 0)return e;try{return t==="web"||eN===void 0||!/^https?:$/.test(location.protocol)?void 0:(await eN(location.href,{method:"HEAD",cache:"no-store"})).status}catch{return}}async function LH(){let t=window[uo];if(typeof(t==null?void 0:t.windowLabel)=="function")try{let e=await t.windowLabel();return typeof e=="string"&&e.length>0?e:void 0}catch{return}}function kH(t){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:tN(),engine:vH(),brand:wH(),...t===void 0?{}:{windowLabel:t}}}function nN(t){let e=new AbortController,{signal:n}=e,r,o=OH(),a=l=>{t(x.PAGE_HEALTH,{...kH(o),...r===void 0?{}:{documentStatus:r},reason:l})};document.addEventListener("visibilitychange",()=>a(ua.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>a(ua.FOCUS),{signal:n}),window.addEventListener("blur",()=>a(ua.BLUR),{signal:n}),a(ua.INITIAL),Promise.all([CH(tN()),o===void 0?LH():Promise.resolve(o)]).then(([l,d])=>{n.aborted||l===void 0&&d===o||(r=l,o=d,a(ua.HEARTBEAT))});let s=zy(()=>a(ua.HEARTBEAT),w_.HEARTBEAT_MS);return()=>{s(),e.abort()}}H();var ze={CONNECT:"connect",DOM_OBSERVER:"dom_observer",NETWORK_OBSERVER:"network_observer",CONSOLE_OBSERVER:"console_observer",IPC_OBSERVER:"ipc_observer",HEALTH_OBSERVER:"health_observer",ROUTER_OBSERVER:"router_observer",ANIMATION_OBSERVER:"animation_observer",STORE_ADAPTER:"store_adapter",SNAPSHOT:"snapshot",ACTION:"action",COMMAND:"command",RECORDER:"recorder",TRANSPORT:"transport",TEARDOWN:"teardown"},DH=500;function IE(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(x.SDK_FAILED,{site:e,message:r.slice(0,DH),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function rt(t,e,n){try{return n()}catch(r){return IE(t,e,r),()=>{}}}function rN(t,e){for(let n of e)try{n()}catch(r){IE(t,ze.TEARDOWN,r)}}function oN(t,e){return[rt(t,ze.NETWORK_OBSERVER,()=>kR(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:$R,ignore:PR})),rt(t,ze.IPC_OBSERVER,()=>HR(t,{captureBodies:e.captureBodies})),rt(t,ze.ANIMATION_OBSERVER,()=>GR(t)),rt(t,ze.ROUTER_OBSERVER,()=>BR(t)),rt(t,ze.NETWORK_OBSERVER,()=>VR(t)),rt(t,ze.NETWORK_OBSERVER,()=>KR(t)),rt(t,ze.CONSOLE_OBSERVER,()=>XR(t)),rt(t,ze.CONSOLE_OBSERVER,()=>qR(t)),rt(t,ze.ANIMATION_OBSERVER,()=>ZR(t)),rt(t,ze.DOM_OBSERVER,()=>JR(t)),rt(t,ze.DOM_OBSERVER,()=>cR(t)),rt(t,ze.STORE_ADAPTER,()=>Lv(t)),rt(t,ze.STORE_ADAPTER,()=>fR(t)),rt(t,ze.DOM_OBSERVER,()=>hR(t)),rt(t,ze.DOM_OBSERVER,()=>ER(t)),rt(t,ze.NETWORK_OBSERVER,()=>RR(t,{capturePreview:e.captureBodies})),rt(t,ze.DOM_OBSERVER,()=>TR(t)),rt(t,ze.HEALTH_OBSERVER,()=>nN(t)),rt(t,ze.DOM_OBSERVER,()=>NR(t))]}on();var MH=["position:fixed","bottom:8px","right:8px","z-index:2147483647","font:11px ui-monospace,SFMono-Regular,Menlo,monospace","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:8px","padding:6px 10px","pointer-events:none","opacity:0.85"].join(";");function iN(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=MH,t.textContent="Reticle: connecting\u2026",document.body.appendChild(t),{update:e=>{t.textContent=`Reticle ${e.connected?"\u25CF":"\u25CB"} ${String(e.events)} events`},destroy:()=>{t.remove()}}}CE();LE();H();Rt();Bt();function Sn(t,e=""){return typeof t=="string"?t:e}function _o(t){let e=Sn(t);return e===""?void 0:e}function Rf(t){let e=J.resolve(t);if(!(e instanceof Element))return t;let n=Mr(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function aN(t){switch(t){case L.ACT:case L.ACT_SEQUENCE:return je.ACTING;case L.SNAPSHOT:case L.QUERY:case L.MATCH:case L.INSPECT:case L.ANIMATIONS:case L.STATE_READ:case L.CAPABILITIES:return je.READING;default:return je.IDLE}}function sN(t,e={}){var n;switch(t){case L.SNAPSHOT:return"Looking at the page";case L.QUERY:case L.MATCH:{let r=t===L.MATCH?(n=e.query)!=null?n:{}:e,o=$H(r);return o!==void 0?`Finding ${o}`:"Finding an element"}case L.INSPECT:{let r=_o(e.ref);return r!==void 0?`Inspecting ${Rf(r)}`:"Inspecting an element"}case L.ANIMATIONS:return"Reading animations";case L.STATE_READ:{let r=_o(e.store);return r!==void 0?`Reading state: ${r}`:"Reading state"}case L.CAPABILITIES:return"Reading capabilities";default:return t}}function $H(t){var o,a,s,l;let e=(o=_o(t.testid))!=null?o:et.TESTID===Sn(t.by)?_o(t.value):void 0;if(e!==void 0)return`[testid=${e}]`;let n=_o(t.name),r=(l=(s=(a=_o(t.value))!=null?a:_o(t.text))!=null?s:_o(t.label))!=null?l:_o(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}Td();on();H();H();hd();Bt();at();ci();var cN=["position:fixed","top:8px","left:50%","transform:translateX(-50%)","z-index:2147483647","display:flex","gap:6px","align-items:center","flex-wrap:wrap","max-width:90vw","font:12px ui-sans-serif,system-ui,sans-serif","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:10px","padding:6px 10px","box-shadow:0 8px 30px rgba(0,0,0,.5)"].join(";"),Nf=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),kE=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),lN=["opacity:.75","margin-left:4px"].join(";"),dN=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var PH="recorded 0 steps",HH="recording\u2026",uN="ready",UH="pick an annotation",FH=Ns.ACT,DE={record:"Record",stop:"Stop",annotate:"Annotate"},GH={[Le.ASSERT_SIGNAL]:"assert signal",[Le.ASSERT_VISIBLE]:"assert visible",[Le.ASSERT_STATE]:"assert state",[Le.ASSERT_NET]:"assert request",[Le.MARK_DYNAMIC]:"mark dynamic",[Le.SUCCESS_STATE]:"success state",[Le.INTENT]:"intent"},BH=new Set([Le.ASSERT_SIGNAL,Le.SUCCESS_STATE]),VH="recorded-flow";function hN(t){let e=Pe(t);if(e!==null&&e.length>0)return{anchor:{kind:Mn.TESTID,value:e},degraded:!1};let n=xe(t),r=Ne(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Mn.ROLE,role:n,name:r}:{kind:Mn.ROLE,role:n},degraded:!1}:{anchor:{kind:Mn.ROLE,role:SS},degraded:!0}}function pN(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&Pd(t)==="textbox"}function Pd(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function Ec(t,e,n){let{anchor:r,degraded:o}=hN(t),a={tool:FH,anchor:r,action:e};n!==void 0&&(a.args=n),o&&(a.degraded=!0);let s=fd(t);return s!==void 0&&(a.source=s.line===void 0?{file:s.file}:{file:s.file,line:s.line}),a}function jH(t,e,n,r,o){let a=e.map(u=>({...u})),s=[],l;for(let u of n){if(u.kind===Le.MARK_DYNAMIC){s.push(u.anchor);continue}if(u.kind===Le.SUCCESS_STATE){u.signal!==void 0&&(l={kind:C.SIGNAL,name:u.signal});continue}let p=a.at(-1);p!==void 0&&(u.kind===Le.ASSERT_SIGNAL&&u.signal!==void 0?p.expect=fN(p.expect,{kind:C.SIGNAL,name:u.signal}):u.kind===Le.ASSERT_VISIBLE&&(p.expect=fN(p.expect,{kind:C.ELEMENT,query:KH(u.anchor)})))}let d={version:dm,name:t,createdAt:r,steps:a};return o!==void 0&&o.length>0&&(d.startPath=o),s.length>0&&(d.dynamic=s),l!==void 0&&(d.success=l),d}function fN(t,e){return t===void 0?e:t.kind===C.ALL_OF?{kind:C.ALL_OF,predicates:[...t.predicates,e]}:{kind:C.ALL_OF,predicates:[t,e]}}function KH(t){return t.kind===Mn.TESTID?{testid:t.value}:t.kind===Mn.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var Aa,Bn,Kt,Fd,Ei,xo,bc,bi,ya,Hr,cr,F,mN,Hd,gN,EN,bN,TN,gi,SN,_N,$E,xN,AN,yN,xa,vN,wf,RN,NN,Ud,Of,wN,ME=class{constructor(e){b(this,F);b(this,Aa);b(this,Bn,kt.IDLE);b(this,Kt,[]);b(this,Fd);b(this,Ei,[]);b(this,xo);b(this,bc);b(this,bi);b(this,ya);b(this,Hr);b(this,cr);h(this,Aa,e)}phase(){return c(this,Bn)}steps(){return c(this,Kt).map(e=>({...e}))}mount(){c(this,bi)===void 0&&typeof document!="undefined"&&(E(this,F,vN).call(this),E(this,F,mN).call(this))}destroy(){var e,n;(e=c(this,bc))==null||e.abort(),h(this,bc,void 0),(n=c(this,bi))==null||n.remove(),h(this,bi,void 0),h(this,ya,void 0),h(this,Hr,void 0),h(this,Bn,kt.IDLE),h(this,Kt,[]),h(this,Ei,[]),h(this,cr,void 0),h(this,xo,void 0)}};Aa=new WeakMap,Bn=new WeakMap,Kt=new WeakMap,Fd=new WeakMap,Ei=new WeakMap,xo=new WeakMap,bc=new WeakMap,bi=new WeakMap,ya=new WeakMap,Hr=new WeakMap,cr=new WeakMap,F=new WeakSet,mN=function(){let e=new AbortController;h(this,bc,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>E(this,F,gN).call(this,r),n),document.addEventListener("input",r=>E(this,F,EN).call(this,r),n),document.addEventListener("change",r=>E(this,F,bN).call(this,r),n),document.addEventListener("submit",r=>E(this,F,TN).call(this,r),n)},Hd=function(e){let n=e.target;if(n instanceof Element&&!ht(n))return n},gN=function(e){let n=E(this,F,Hd).call(this,e);if(n!==void 0){if(c(this,Bn)===kt.ANNOTATING){E(this,F,SN).call(this,n);return}c(this,Bn)===kt.RECORDING&&(n instanceof HTMLInputElement&&(Pd(n)==="checkbox"||Pd(n)==="radio")||n instanceof HTMLSelectElement||(E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.CLICK))))}},EN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);n===void 0||!pN(n)||h(this,xo,{el:n,value:n.value})},bN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&Pd(n)==="checkbox"){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,n.checked?k.CHECK:k.UNCHECK));return}if(n instanceof HTMLInputElement&&Pd(n)==="radio"){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.CHECK));return}if(n instanceof HTMLSelectElement){E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.SELECT,{value:n.value}));return}pN(n)&&(h(this,xo,{el:n,value:n.value}),E(this,F,gi).call(this))}},TN=function(e){if(c(this,Bn)!==kt.RECORDING)return;let n=E(this,F,Hd).call(this,e);n!==void 0&&(E(this,F,gi).call(this),c(this,Kt).push(Ec(n,k.SUBMIT)))},gi=function(){let e=c(this,xo);if(e===void 0)return;h(this,xo,void 0);let n=ir(e.el)?_e:e.value;c(this,Kt).push(Ec(e.el,k.FILL,{value:n}))},SN=function(e){let n=c(this,cr);if(n===void 0)return;let{anchor:r}=hN(e),o={kind:n.kind,anchor:r},a=E(this,F,$E).call(this);a!==void 0&&(o.signal=a),c(this,Ei).push(o),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this)},_N=function(){let e=c(this,cr);if(e===void 0)return;let n=c(this,Kt).at(-1);if(n===void 0){h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this);return}let r={kind:e.kind,anchor:n.anchor},o=E(this,F,$E).call(this);o!==void 0&&(r.signal=o),c(this,Ei).push(r),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Ud).call(this)},$E=function(){var r,o;let e=(r=c(this,Hr))==null?void 0:r.querySelector("[data-reticle-signal]"),n=(o=e==null?void 0:e.value)!=null?o:"";return n.length>0?n:void 0},xN=function(){h(this,Kt,[]),h(this,Fd,typeof location=="undefined"?void 0:location.pathname),h(this,Ei,[]),h(this,xo,void 0),h(this,cr,void 0),E(this,F,xa).call(this,kt.RECORDING),E(this,F,Of).call(this,HH)},AN=function(){var r,o;E(this,F,gi).call(this);let e=(o=(r=E(this,F,wN).call(this))!=null?r:c(this,Aa).defaultName)!=null?o:VH,n=jH(e,c(this,Kt),c(this,Ei),c(this,Aa).now(),c(this,Fd));c(this,Aa).emit(x.FLOW_RECORDED,{name:e,flow:n}),E(this,F,Of).call(this,c(this,Kt).length===0?PH:uN),E(this,F,xa).call(this,kt.IDLE),E(this,F,Ud).call(this)},yN=function(){c(this,Bn)===kt.RECORDING&&(E(this,F,xa).call(this,kt.ANNOTATING),E(this,F,Of).call(this,UH),E(this,F,RN).call(this))},xa=function(e){h(this,Bn,e)},vN=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=cN;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=kE,e.appendChild(n),e.appendChild(E(this,F,wf).call(this,"record",DE.record,()=>E(this,F,xN).call(this))),e.appendChild(E(this,F,wf).call(this,"stop",DE.stop,()=>E(this,F,AN).call(this))),e.appendChild(E(this,F,wf).call(this,"annotate",DE.annotate,()=>E(this,F,yN).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=lN,r.textContent=uN,e.appendChild(r);let o=document.createElement("div");o.setAttribute("data-reticle-menu",""),o.style.cssText=dN,e.appendChild(o),document.body.appendChild(e),h(this,bi,e),h(this,ya,r),h(this,Hr,o)},wf=function(e,n,r){let o=document.createElement("button");return o.setAttribute("data-reticle-action",e),o.textContent=n,o.style.cssText=Nf,o.addEventListener("click",r),o},RN=function(){let e=c(this,Hr);if(e!==void 0){e.textContent="";for(let n of Object.values(Le)){if(n===Le.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=GH[n],r.style.cssText=Nf,r.addEventListener("click",()=>E(this,F,NN).call(this,n)),e.appendChild(r)}}},NN=function(e){h(this,cr,{kind:e});let n=c(this,Hr);if(n===void 0)return;if(BH.has(e)){let o=document.createElement("select");o.setAttribute("data-reticle-signal",""),o.style.cssText=kE;for(let a of si().signals){let s=document.createElement("option");s.value=a,s.textContent=a,o.appendChild(s)}n.appendChild(o)}let r=document.createElement("button");r.setAttribute("data-reticle-action","annotate-confirm"),r.textContent="on prior step",r.style.cssText=Nf,r.addEventListener("click",()=>E(this,F,_N).call(this)),n.appendChild(r)},Ud=function(){c(this,Hr)!==void 0&&(c(this,Hr).textContent="")},Of=function(e){c(this,ya)!==void 0&&(c(this,ya).textContent=e)},wN=function(){var r,o;let e=(r=c(this,bi))==null?void 0:r.querySelector("[data-reticle-name]"),n=(o=e==null?void 0:e.value.trim())!=null?o:"";return n.length>0?n:void 0};function ON(t){return new ME(t)}XE();function uG(t,e){return t==="production"&&!e}function pG(t){let e;try{e=new URL(t)}catch{return{url:t,adjusted:!1}}return e.protocol!=="ws:"&&e.protocol!=="wss:"||e.pathname!==""&&e.pathname!=="/"?{url:t,adjusted:!1}:(e.pathname=oa,{url:e.toString(),adjusted:!0})}function fG(t,e,n,r,o="http:"){var d;let a;try{a=new URL(e)}catch{return{allowed:!1,reason:"invalid Reticle bridge URL"}}if(a.protocol!=="ws:"&&a.protocol!=="wss:")return{allowed:!1,reason:"Reticle bridge URL must use ws:// or wss://"};if(((d=r==null?void 0:r.length)!=null?d:0)>G.MAX_TOKEN_LENGTH)return{allowed:!1,reason:`Reticle pairing token exceeds ${String(G.MAX_TOKEN_LENGTH)} characters`};let s=!rg(a.hostname);return s&&a.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!W_(o,t)||s?n?r===void 0||r.length===0?{allowed:!1,reason:"a pairing token is required outside localhost"}:{allowed:!0}:{allowed:!1,reason:"Reticle is disabled outside localhost unless allowNonLocalhost is explicitly enabled"}:{allowed:!0}}var hG=20,mG="[Reticle] killed for this page. Restart your dev server or reload the page to bring it back.",gG="Session ended - lost connection to Reticle (the agent is no longer running).";function EG(t,e){return t===void 0||t===Wl?e():t}function bG(){try{let t=new URL(window.location.href);if(!t.searchParams.has(Tf))return;t.searchParams.delete(Tf),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function BT(t){let e=new URLSearchParams(t),n={},r=e.get($n.SESSION),o=e.get($n.PROJECT),a=VT(En,e.get($n.HUD));return r!==null&&r.length>0&&(n.session=r),o!==null&&o.length>0&&(n.projectId=o),a!==void 0&&(n.hud=a),n}function TG(t){return t===void 0?{placed:[]}:{remember:t,placed:En.SHOWN===t?[]:[t]}}function SG(t,e){var a;let n=BT(e),r=t.session!==void 0&&t.session!==Wl?t.session:void 0,o=(a=t.projectId)!=null?a:n.projectId;return{session:r!=null?r:n.session,projectId:o!==void 0&&o.length>0?o:void 0}}function _G(t){return{t:t.t,seq:t.seq,type:t.type,sessionId:t.sessionId,ref:t.ref,documentId:t.documentId,editEpoch:0===t.editEpoch?void 0:t.editEpoch,data:t.data}}var Vo,Vu,us,to,ps,Zh,ju,Hi,Oe,Rl,fs,jo,Ku,Nl,Wu,hs,no,wl,Ol,Ui,Il,ms,Fi,Cl,Ko,Jn,RC,ro,NC,wC,OC,IC,Ll=class{constructor(){b(this,Jn);b(this,Vo);b(this,Vu,new Map);b(this,us,[]);b(this,to,!1);b(this,ps,"default");b(this,Zh,$_(Math.random));b(this,ju,0);b(this,Hi);b(this,Oe);b(this,Rl,new Map);b(this,fs,[]);b(this,jo);b(this,Ku);b(this,Nl,!1);b(this,Wu,!1);b(this,hs);b(this,no);b(this,wl,0);b(this,Ol);b(this,Ui);b(this,Il,!1);b(this,ms);b(this,Fi);b(this,Cl,[]);b(this,Ko);b(this,ro,(e,n,r)=>{var a,s,l;let o=_G({seq:c(this,wl),t:Math.round(performance.now()-c(this,ju)),type:e,sessionId:c(this,ps),documentId:c(this,Zh),editEpoch:bd.current,data:n,ref:r});try{(a=c(this,Vo))==null||a.sendEvent(o),h(this,wl,c(this,wl)+1),(s=c(this,Hi))==null||s.update({connected:!0,events:c(this,wl)}),e===x.ROUTE_CHANGE&&((l=c(this,Oe))==null||l.refilterFlows())}catch{}})}connect(e={}){var f,m,g,T,_,y;if(c(this,to)||typeof window=="undefined"||typeof document=="undefined")return;let n=globalThis.process,r=(f=n==null?void 0:n.env)==null?void 0:f.NODE_ENV;if(uG(r,e.allowInProduction===!0)){globalThis.console.warn("[Reticle] disabled in production (NODE_ENV=production). Gate the import behind import.meta.env.DEV, or pass allowInProduction:true to override.");return}bG();let o=pG((m=e.url)!=null?m:vS(pm)),a=o.url;o.adjusted&&globalThis.console.warn(`[Reticle] bridge URL has no path; using ${a} (the bridge only accepts WebSocket upgrades on ${oa}).`);let s=fG(window.location.hostname,a,e.allowNonLocalhost===!0,e.token,window.location.protocol);if(!s.allowed){globalThis.console.warn(`[Reticle] ${(g=s.reason)!=null?g:"connection blocked"}`);return}e.root!==void 0&&e.root.length>0&&(globalThis[gp]=e.root);let l=(T=e.sdkVersion)!=null?T:globalThis[h_];h(this,Ui,typeof l=="string"&&l.length>0?l:void 0);let d=SG(e,window.location.search),u=EG(d.session,()=>"");h(this,ps,qA(u.length>0?u:void 0,typeof globalThis.sessionStorage=="undefined"?void 0:globalThis.sessionStorage,()=>{var A;return typeof((A=globalThis.crypto)==null?void 0:A.randomUUID)=="function"?`s${globalThis.crypto.randomUUID()}`:`s${Date.now().toString(36)}`})),h(this,Ol,e.token!==void 0&&e.token.length>0?e.token:void 0),h(this,Fi,d.projectId),E(this,Jn,NC).call(this,e.redact),h(this,ju,performance.now()),h(this,Vu,Yv()),h(this,Vo,new _f({url:a,hello:()=>E(this,Jn,wC).call(this),handleCommand:A=>E(this,Jn,OC).call(this,A),onConnected:()=>{var A;h(this,Wu,!0),(A=c(this,Oe))==null||A.sessionStart()},onConnectionLost:()=>{var A;sc(),((A=c(this,Oe))==null?void 0:A.sessionActive)===!0&&c(this,Oe).setState(Me.ENDED,gG)},onUnreachable:({url:A,attempts:v})=>{var O;ar(Af(A,v)),(O=c(this,Oe))==null||O.showUnreachable(A,v)}})),qp(()=>{var A;return(A=c(this,Vo))==null?void 0:A.reannounce()}),aA(e.exposePresenter===!0),uA(e.testIdAttribute),e.networkBodyMaxChars!==void 0&&vR(e.networkBodyMaxChars);let p=c(this,ro);h(this,Il,e.captureNetworkBodies===!0),h(this,ms,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),h(this,us,oN(p,{captureBodies:c(this,Il),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(h(this,Hi,iN()),c(this,Hi).update({connected:!0,events:0})),h(this,jo,BT(window.location.search).hud),e.present!==!1&&En.REMOVED!==c(this,jo)&&E(this,Jn,RC).call(this,e),e.recorder===!0&&(h(this,hs,ON({emit:p,now:()=>Date.now()})),c(this,hs).mount()),((_=e.annotate)!=null?_:e.present!==!1)&&(h(this,no,new Da({emit:p,now:()=>Date.now(),onMark:A=>{var v;return(v=c(this,Oe))==null?void 0:v.log(Fe.HUMAN,`\u{1F6A9} #${String(A.index)} ${A.label}${A.source!==void 0?` \xB7 ${A.source}`:""} \u2014 ${A.note}`)},shouldBlock:()=>{var A,v;return(v=(A=c(this,Ku))==null?void 0:A.call(this).blockPageInteractions)!=null?v:!0}})),c(this,no).mount(),(y=c(this,Oe))==null||y.bindAnnotator(c(this,no))),c(this,Vo).connect(),h(this,to,!0)}get connected(){return c(this,to)}signal(e,n={}){c(this,ro).call(this,x.SIGNAL,{name:e,data:n})}state(e,n){c(this,ro).call(this,x.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,ro).call(this,x.RENDER_COMMIT,{commits:e})}describe(e){tc(e)}endSession(){var e;(e=c(this,Oe))==null||e.setState(Me.ENDED)}observeHotUpdates(e){bd.observe(e)}disconnect(){var e,n,r,o,a,s;c(this,to)&&(rN(c(this,ro),c(this,us)),h(this,us,[]),(e=c(this,Vo))==null||e.close(),h(this,Vo,void 0),(n=c(this,Hi))==null||n.destroy(),h(this,Hi,void 0),(r=c(this,Oe))==null||r.sessionEnd(),(o=c(this,Oe))==null||o.destroy(),h(this,Oe,void 0),(a=c(this,hs))==null||a.destroy(),h(this,hs,void 0),(s=c(this,no))==null||s.destroy(),h(this,no,void 0),sc(),h(this,to,!1))}};Vo=new WeakMap,Vu=new WeakMap,us=new WeakMap,to=new WeakMap,ps=new WeakMap,Zh=new WeakMap,ju=new WeakMap,Hi=new WeakMap,Oe=new WeakMap,Rl=new WeakMap,fs=new WeakMap,jo=new WeakMap,Ku=new WeakMap,Nl=new WeakMap,Wu=new WeakMap,hs=new WeakMap,no=new WeakMap,wl=new WeakMap,Ol=new WeakMap,Ui=new WeakMap,Il=new WeakMap,ms=new WeakMap,Fi=new WeakMap,Cl=new WeakMap,Ko=new WeakMap,Jn=new WeakSet,RC=function(e){c(this,Nl)||(h(this,Nl,!0),Promise.resolve().then(()=>(sC(),aC)).then(({Presenter:n})=>Promise.resolve().then(()=>($c(),A0)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,to))return;h(this,Ku,r.getPresenterSettings);let o={};e.pace!==void 0&&(o.paceMs=e.pace),e.narrationDwellMs!==void 0&&(o.narrationDwellMs=e.narrationDwellMs),e.border!==void 0&&(o.border=e.border),e.logMax!==void 0&&(o.logMax=e.logMax),e.endedFadeMs!==void 0&&(o.endedFadeMs=e.endedFadeMs),e.idleEndMs!==void 0&&(o.idleEndMs=e.idleEndMs),o.sessionId=c(this,ps),c(this,Fi)!==void 0&&(o.projectId=c(this,Fi)),o.onControl=s=>c(this,ro).call(this,x.HUMAN_CONTROL,s.text!==void 0?{kind:s.kind,text:s.text}:{kind:s.kind}),o.onHudUse=s=>c(this,ro).call(this,x.HUD_USED,{...s}),o.onKill=()=>{this.disconnect(),ar(mG)};let a=new n(o);h(this,Oe,a),a.mount(),a.showSdkVersion(c(this,Ui));for(let s of c(this,Rl).values())a.handlePush(s);c(this,Rl).clear(),0<c(this,fs).length&&a.sessionStart();for(let s of c(this,fs).splice(0))a.narrate(s.text,s.level,s.actor,s.summary);c(this,jo)!==void 0&&a.placeHud(c(this,jo),void 0),h(this,jo,void 0),Promise.resolve().then(()=>(yC(),AC)).then(s=>{var d;if(!c(this,to))return;let l=s.mountTour({document,storage:s.safeLocalStorage(),projectId:(d=BT(window.location.search).projectId)!=null?d:window.location.origin,isDriving:()=>je.IDLE!==a.mode,search:window.location.search,navigator,copy:u=>{var p,f;return(f=(p=navigator.clipboard)==null?void 0:p.writeText(u).then(()=>!0,()=>!1))!=null?f:!1},select:u=>{let p=window.getSelection();if(p===null)return;let f=document.createRange();f.selectNodeContents(u),p.removeAllRanges(),p.addRange(f)}});l!==void 0&&c(this,us).push(l.destroy)}),c(this,Wu)&&a.sessionStart(),c(this,no)!==void 0&&a.bindAnnotator(c(this,no))}).catch(()=>{}))},ro=new WeakMap,NC=function(e){V_(B_(e,ar)),h(this,Cl,j_(e))},wC=function(){return{kind:Dt.HELLO,protocolVersion:rp,sessionId:c(this,ps),...c(this,Fi)===void 0?{}:{projectId:c(this,Fi)},url:location.href,title:document.title,adapters:_d(),...c(this,Ol)===void 0?{}:{token:c(this,Ol)},hasCapabilities:Zp(),channels:eR(),platform:tR(),commands:nR(),captureBodies:c(this,Il),...c(this,ms)===void 0?{}:{sourceMapping:c(this,ms)},...c(this,Ui)===void 0?{}:{sdkVersion:c(this,Ui)},contract:xg,contractParts:{commands:[...od.commands],events:[...od.events],actions:[...od.actions]},...c(this,Cl).length===0?{}:{redactKeys:c(this,Cl)}}},OC=async function(e){var r,o,a,s,l,d,u,p;if(e.name===L.MARKERS){let f=zA(document),m=c(this,Ui)!==void 0||c(this,ms)!==void 0,g=YA({buildPlugin:m,adapters:_d(),markers:f});return{ok:!0,result:{markers:f,...g.length===0?{}:{notApplicable:g}}}}if(e.name===L.NARRATE)return c(this,Oe)===void 0&&c(this,Nl)?(c(this,fs).length<hG&&c(this,fs).push({text:Sn(e.args.text),level:Sn(e.args.level,"info"),actor:vC(e.args),summary:e.args.summary===!0}),{ok:!0,result:{shown:!1,buffered:!0}}):((r=c(this,Oe))==null||r.sessionStart(),(o=c(this,Oe))==null||o.narrate(Sn(e.args.text),Sn(e.args.level,"info"),vC(e.args),e.args.summary===!0),{ok:!0,result:{shown:c(this,Oe)!==void 0}});if(e.name===L.SESSION_CONFIG){let f=e.args.idleEndMs;typeof f=="number"&&((a=c(this,Oe))==null||a.setIdleEndMs(f));let m=VT(En,e.args.hud),g=VT(Ep,e.args.corner),T=c(this,Oe),_;if(T!==void 0)_=T.placeHud(m,g);else{let y=TG(m);y.remember!==void 0&&h(this,jo,y.remember),_=y.placed}return{ok:!0,result:{applied:c(this,Oe)!==void 0,idleEndMs:f,...0<_.length?{hud:_}:{}}}}if(e.name===L.PRESENTER||e.name===L.FLOWS||e.name===L.FLOW_PROGRESS||e.name===L.PLAN||e.name===L.IMPACT)return c(this,Oe)===void 0?(c(this,Rl).set(e.name,e),{ok:!0,result:{applied:!1,buffered:!0}}):(c(this,Oe).handlePush(e),{ok:!0,result:{applied:!0}});let n=c(this,Vu).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};(s=c(this,Oe))==null||s.sessionStart(),await E(this,Jn,IC).call(this,e),yg(Ql.HARNESS===e.by),Hg((l=e.outward)==null?void 0:l.allowed);try{let f=await n(e.args);return(d=c(this,Ko))==null||d.result(Tn.PASS),{ok:!0,result:f}}catch(f){return(u=c(this,Ko))==null||u.result(Tn.FAIL),{ok:!1,error:f instanceof Error?f.message:String(f)}}finally{yg(!1),Hg(void 0),h(this,Ko,void 0),(p=c(this,Oe))==null||p.scheduleIdle()}},IC=async function(e){let n=c(this,Oe);if(n===void 0)return;n.setMode(aN(e.name)),h(this,Ko,void 0);let r=Ql.HARNESS===e.by?ln.HARNESS:ln.AGENT;if(e.name===L.ACT){let o=Sn(e.args.ref),a=Rf(o);h(this,Ko,n.log(Fe.ACT,`${$d(Sn(e.args.action))} ${a}`,void 0,r)),await n.beforeAct(o,Sn(e.args.action),a)}else if(e.name===L.ACT_SEQUENCE){let o=Array.isArray(e.args.steps)?e.args.steps:[];for(let a of o){let s=a,l=Sn(s.ref),d=Rf(l);h(this,Ko,n.log(Fe.ACT,`${$d(Sn(s.action))} ${d}`,void 0,r)),await n.beforeAct(l,Sn(s.action),d)}}else{let o=sN(e.name,e.args);n.status(o),n.log(Fe.READ,o,void 0,r)}};function vC(t){return Ql.HARNESS===t.actor?ln.HARNESS:ln.AGENT}function VT(t,e){return Object.values(t).includes(e)?e:void 0}var jT=globalThis,CC,Qh=(CC=jT.__reticleInstance)!=null?CC:jT.__reticleInstance=new Ll;H();at();li();Ea();Td();Ea();function DC(t){try{return KT(t,new WeakMap)}catch{return t}}function KT(t,e){if(typeof t!="object"||t===null)return t;let n=e.get(t);if(n!==void 0)return n;if(Array.isArray(t)){let a=[];e.set(t,a);for(let s of t)a.push(KT(s,e));return a}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return t;let o={};e.set(t,o);for(let[a,s]of Object.entries(t))o[a]=KT(s,e);return o}function MC(t){let e={getState:()=>{var r,o,a;let n={};for(let s of t.getQueryCache().getAll()){let l=s.queryKey.map(d=>String(d)).join("/");n[l]={status:s.state.status,fetchStatus:s.state.fetchStatus,isStale:(r=s.isStale)==null?void 0:r.call(s),dataUpdatedAt:s.state.dataUpdatedAt,error:(a=(o=s.state.error)==null?void 0:o.message)!=null?a:null,data:s.state.data}}return n},subscribe:n=>t.getQueryCache().subscribe(n)};return zp(e,t),e}function $C(t,e){return{getState:()=>{let n={};for(let[r,o]of Object.entries(e))n[r]=t.get(o);return n},subscribe:n=>{let r=Object.values(e).map(o=>t.sub(o,n));return()=>{for(let o of r)o()}}}}function PC(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function HC(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function UC(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var LC={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function xG(t){if(t.state===LC.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==LC.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function FC(t,e,n){return{getState:()=>{let r=e(),o={};for(let[a,s]of Object.entries(t))o[a]=xG(r.getLoadable(s));return o},subscribe:n}}function kC(t){if(typeof t=="function"){t();return}t.unsubscribe()}function GC(t,e=ar){let n=!1;return{getState:()=>{let r,o=!1;return kC(t.subscribe(a=>{r=DC(a),o=!0})),!o&&!n&&(n=!0,e("[reticle] a store passed to svelteStore did not call its subscriber synchronously, so its current value cannot be read. reticle_state will report undefined for it. Svelte stores always call back immediately; an RxJS Observable does not unless it is a BehaviorSubject.")),r},subscribe:r=>{let o=!0,a=t.subscribe(()=>{o||r()});return o=!1,()=>kC(a)}}}var AG={detached:!0,flush:"sync"};function BC(t){return{getState:()=>DC(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...AG})}}function VC(t){let e=t,n=new Set;return{store:{getState:()=>e,subscribe:o=>(n.add(o),()=>n.delete(o))},push:o=>{e=o;for(let a of n)a()}}}ci();function jC(t={}){var n;let e=(n=t.target)!=null?n:Qh;return{signal(r,o={}){e.connected&&e.signal(r,o)},state(r,o){e.connected&&e.state(r,o)}}}function KC(t,e,n,r){let o=e();return t.signal(n,r),o}ci();function WC(t){let e={};t.testids!==void 0&&(e.testids=[...t.testids]),t.signals!==void 0&&(e.signals=[...t.signals]),t.stores!==void 0&&(e.stores=[...t.stores]),tc(e)}Cg();Bt();Rt();XE();PE();return tL(yG);})();
|
|
1768
|
+
`});var z1={};Ua(z1,{HUD_CONTROL_SELECTORS:()=>j1,TOUR_SEEN_KEY_PREFIX:()=>Ef,isLastSlide:()=>FS,mountTour:()=>nj,openedByReticle:()=>K1,safeLocalStorage:()=>rj,tourAlreadySeen:()=>W1,tourSeenKey:()=>GS});function J4(t,e){var a;let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let l of e){let d=(a=t.querySelector(l))==null?void 0:a.getBoundingClientRect();d===void 0||d.width<=0||d.height<=0||(n=Math.min(n,d.left),r=Math.min(r,d.top),o=Math.max(o,d.left+d.width),s=Math.max(s,d.top+d.height))}if(o!==Number.NEGATIVE_INFINITY)return{left:n,top:r,width:o-n,height:s-r}}function ej(t,e){var r;if(Ve.HUD===e)return J4(t,Q4);let n=j1[e];if(n!==void 0){let o=(r=t.querySelector(n))==null?void 0:r.getBoundingClientRect();return o===void 0?void 0:o}if(Ve.APP===e)for(let o of Z4){let s=t.querySelector(o);if(s===null)continue;let a=s.getBoundingClientRect();if(a.width>0)return a}}function K1(t){if(t===void 0||t==="")return!1;let e=new URLSearchParams(t.startsWith("?")?t.slice(1):t);return e.has(Gn.OPENED)||e.has(Gn.SESSION)||e.has(Gn.PROJECT)}function W1(t,e){if(t===void 0)return!0;try{return t.getItem(GS(e))!==null}catch{return!0}}function tj(t,e){try{t==null||t.setItem(GS(e),"1")}catch{}}function nj(t){var A;if(t.isDriving()||K1(t.search)||((A=t.navigator)==null?void 0:A.webdriver)===!0||W1(t.storage,t.projectId))return;let e=t.document,n=e.createElement("style");n.setAttribute(pe,""),n.textContent=B1,e.head.appendChild(n);let r=e.createElement("div");r.setAttribute(pe,"");let o=HS(),s=0,a=!0,l=()=>{},d=()=>{},u=()=>{a&&(a=!1,l(),d(),r.remove(),n.remove())},p=()=>{a&&(tj(t.storage,t.projectId),u())},h=()=>{t.isDriving()&&u()},m=()=>{var y,v,O,j;let N=o[s];if(N!==void 0&&(r.innerHTML=`<div class="reticle-tour-scrim"></div>${G1(N)}`,Ve.NONE!==N.anchor)){let Y=ej(e,N.anchor);if(Y!==void 0&&Y.width>0){let te=Ve.APP===N.anchor,Ce=e.createElement("div");Ce.className=te?"reticle-tour-ring is-region":"reticle-tour-ring";let je=te?-2:6;if(Ce.style.left=`${String(Math.round(Y.left-je))}px`,Ce.style.top=`${String(Math.round(Y.top-je))}px`,Ce.style.width=`${String(Math.round(Y.width+je*2))}px`,Ce.style.height=`${String(Math.round(Y.height+je*2))}px`,r.appendChild(Ce),te||(y=r.querySelector(".reticle-tour-scrim"))==null||y.classList.add("is-clear"),U1(N)){Ce.classList.add("is-live"),(v=r.querySelector(".reticle-tour-scrim"))==null||v.remove();let Ae=e.defaultView;for(let rt of F1({left:Y.left-je,top:Y.top-je,width:Y.width+je*2,height:Y.height+je*2},(O=Ae==null?void 0:Ae.innerWidth)!=null?O:e.documentElement.clientWidth,(j=Ae==null?void 0:Ae.innerHeight)!=null?j:e.documentElement.clientHeight)){let Ot=e.createElement("div");Ot.className="reticle-tour-blocker",Ot.style.left=`${String(Math.round(rt.left))}px`,Ot.style.top=`${String(Math.round(rt.top))}px`,Ot.style.width=`${String(Math.round(rt.width))}px`,Ot.style.height=`${String(Math.round(rt.height))}px`,r.appendChild(Ot)}}}}},g=N=>{var Ce,je;let y=o[s],v=Number(N.getAttribute(_p)),O=(Ce=y==null?void 0:y.prompts)==null?void 0:Ce[v];if(O===void 0)return;let j=(Ae,rt)=>{var Ot;N.textContent=Ae,N.classList.add(rt),(Ot=e.defaultView)==null||Ot.setTimeout(()=>{N.textContent=$S,N.classList.remove(rt)},H1)},Y=Ae=>{var Ot;if(Ae){j(P1,"is-done");return}let rt=r.querySelector(`.reticle-tour-prompt[${_p}="${String(v)}"] .reticle-tour-prompt-text`);rt!==null&&((Ot=t.select)==null||Ot.call(t,rt)),j($1,"is-manual")},te=(je=t.copy)==null?void 0:je.call(t,O.text);if(te===void 0){Y(!1);return}if(typeof te=="boolean"){Y(te);return}te.then(Y).catch(()=>{Y(!1)})};r.addEventListener("click",N=>{let y=N.target;if(!(y instanceof Element))return;let v=y.closest(`[${ni}]`);if(v===null)return;let O=v.getAttribute(ni);if(O===null)return;if(N.preventDefault(),N.stopPropagation(),O==="skip"||O==="done"){p();return}if(O==="copy"){g(v);return}let j=US(s,O==="back"?-1:1);j!==s&&(s=j,m())});let T=N=>{if(!a||hf(e))return;let y=N.key==="ArrowRight"?1:N.key==="ArrowLeft"?-1:0;if(N.key==="Escape"){N.preventDefault(),p();return}if(y===0)return;let v=US(s,y);v!==s&&(N.preventDefault(),s=v,m())};e.addEventListener("keydown",T),l=()=>{e.removeEventListener("keydown",T)},m(),e.body.appendChild(r);let _=e.querySelector("[data-reticle-overlay]");if(_!==null){let N=new MutationObserver(h);N.observe(_,{attributes:!0,attributeFilter:["data-reticle-mode"]}),d=()=>N.disconnect(),h()}return{destroy:p,isOpen:()=>a}}function rj(){try{return window.localStorage}catch{return}}var Z4,Q4,j1,GS,Y1=S(()=>{"use strict";V1();MS();D();Ye();Kr();Z4=["main","#root","#app"],Q4=["[data-reticle-hud]","[data-reticle-chat-panel]"];j1={[Ve.HUD_CHAT]:"[data-reticle-chat-toggle]",[Ve.HUD_FLOWS]:'[data-reticle-chat-view-btn="flows"]',[Ve.HUD_ANNOTATE]:'[data-reticle-chat-view-btn="annotations"]',[Ve.HUD_IMPACT]:"[data-reticle-chat-impact]",[Ve.HUD_SETTINGS]:"[data-reticle-settings-btn]"};GS=t=>`${Ef}${t}`});var Ej={};Ua(Ej,{Annotator:()=>ea,RefRegistry:()=>Od,Reticle:()=>ql,SESSION_AUTO:()=>md,adapterNames:()=>Bd,buildSnapshot:()=>Lf,canvasChartData:()=>Ev,commitAndSignal:()=>Ek,createReticleEmitter:()=>gk,describe:()=>Yr,elementHasHoverHandlers:()=>wf,executeAction:()=>ru,executeSequence:()=>rh,getAccessibleName:()=>Se,getCapabilities:()=>yi,getRole:()=>Ne,getStates:()=>Lo,hasCapabilities:()=>Hf,identifyComponent:()=>Wn,inspectChart:()=>xf,installAnnotator:()=>y0,isVisible:()=>Pt,jotaiStore:()=>ck,markAdapterSource:()=>Df,matchQuery:()=>Yd,mobxStore:()=>uk,piniaStore:()=>hk,pushStore:()=>mk,readComponentState:()=>Nf,readStores:()=>vR,readStoresWithTruncation:()=>Kd,recoilStore:()=>pk,refs:()=>X,registerAdapter:()=>jv,registerCapabilities:()=>bc,registerReticleDomain:()=>bk,registerStore:()=>xR,resolveMarkAnchor:()=>gu,reticle:()=>Zl,runQuery:()=>Vf,setCapabilitiesListener:()=>$f,setIgnoreSelectors:()=>qy,sourceOwner:()=>NR,storeNames:()=>Ai,svelteStore:()=>fk,tanstackQueryStore:()=>ak,trackShortTimers:()=>gj,unregisterStore:()=>AR,valtioStore:()=>dk,xstateStore:()=>lk});Ye();D();wo();function Qy(t,e){e(sd,{delta:1});let n=()=>{e(sd,{delta:-1})};return t.then(n,n),t}var $2=1e3;function Jy(t,e=$2){let n=ve(window,"setTimeout"),r=ve(window,"clearTimeout"),o=n.bind(window),s=r.bind(window),a=new Set,l=d=>{a.delete(d)&&t(sd,{delta:-1})};return window.setTimeout=((d,u=0,...p)=>{if(typeof d!="function"||u>e)return Reflect.apply(n,window,[d,u,...p]);t(sd,{delta:1});let h=o(()=>{l(h),d(...p)},u);return a.add(h),h}),window.clearTimeout=(d=>{d!==void 0&&l(d),s(d)}),()=>{window.setTimeout=n,window.clearTimeout=r}}D();function Z(t){try{t()}catch{}}function Mt(t){try{return t()}catch{return}}wo();D();function H2(){return{pathname:location.pathname,search:location.search,hash:location.hash,href:location.href}}var ev=[];function tv(t){ev=t.map(e=>({pattern:e,parts:e.split("/").filter(Boolean)}))}function U2(){var e,n;let t=(n=(e=globalThis.next)==null?void 0:e.router)==null?void 0:n.pathname;if(!(typeof t!="string"||!t.startsWith("/")))return t.replace(/\[\.\.\.[^\]]+\]/g,"*").replace(/\[([^\]]+)\]/g,":$1")}function F2(t){var r;let e=t.split("/").filter(Boolean),n;for(let{pattern:o,parts:s}of ev){let a=s.at(-1)==="*",l=a?s.slice(0,-1):s;if((a?e.length<l.length:e.length!==l.length)||!l.every((u,p)=>u.startsWith(":")||u===e[p]))continue;let d=s.filter(u=>u.startsWith(":")||u==="*").length;(n===void 0||d<n.params)&&(n={pattern:o,params:d})}return(r=n==null?void 0:n.pattern)!=null?r:U2()}function nv(t){let e=new AbortController,n=ve(history,"pushState"),r=ve(history,"replaceState"),o=n.bind(history),s=r.bind(history),a=location.href,l=(h,m)=>{Z(()=>{let g=H2();if(g.href===h)return;a=g.href;let T=F2(g.pathname);t(x.ROUTE_CHANGE,{from:jn(h),to:jn(g.href),pathname:g.pathname,...T===void 0?{}:{pattern:T},search:jn(g.search),hash:jn(g.hash),[tE]:m})})},d=(h,m,g)=>{let T=location.href;o(h,m,g!=null?g:null),l(T,_d.PUSH)},u=(h,m,g)=>{let T=location.href;s(h,m,g!=null?g:null),l(T,_d.REPLACE)};history.pushState=d,history.replaceState=u;let p=()=>{l(a,_d.POP)};return window.addEventListener("popstate",p,{signal:e.signal}),window.addEventListener("hashchange",p,{signal:e.signal}),()=>{history.pushState===d&&(history.pushState=n),history.replaceState===u&&(history.replaceState=r),e.abort()}}D();mt();Rn();var T5=new Set(["submit","button","reset","image"]);function S5(t){return Xe(t)&&t.isContentEditable||t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement?!T5.has(t.type.toLowerCase()):!1}var _5="A";function kv(t){if(_5!==t.tagName)return;let e=t.getAttribute("href");return e===null||dA(e)?void 0:e}function Dv(t){var o,s,a,l,d,u;let e=kv(t);if(e!==void 0)return e;let n=t.closest("form"),r=S5(t)?["",""]:[(o=t.textContent)!=null?o:"",(s=t.getAttribute("value"))!=null?s:""];return[Se(t),...r,(a=t.getAttribute("title"))!=null?a:"",(l=t.getAttribute("aria-label"))!=null?l:"",(d=t.getAttribute("href"))!=null?d:"",(u=n==null?void 0:n.getAttribute("action"))!=null?u:""].join(" ")}var x5='button[type="submit"], input[type="submit"], button:not([type]):not([type=""])';function Mv(t){var n;let e=(n=t.closest("form"))==null?void 0:n.querySelector(x5);return Xe(e)?e:null}function Rf(t){let e=kv(t);return e!==void 0?uA(e):lA(Dv(t),Ne(t))}var Ud;function DE(t){Ud=t}function Pv(t){if(Ud!==void 0)for(let e of t){if(e===null)continue;let n=hA(Dv(e),Ne(e));if(n!==void 0&&!Ud.includes(n))throw new Error(Xg(n))}}function $v(t){var n,r,o,s,a;if(Ud===void 0||Ud.includes(st.PAY))return;let e={autocomplete:(n=t.getAttribute("autocomplete"))!=null?n:void 0,name:(r=t.getAttribute("name"))!=null?r:void 0,id:(o=t.getAttribute("id"))!=null?o:void 0,inputMode:(s=t.getAttribute("inputmode"))!=null?s:void 0,label:`${Se(t)} ${(a=t.getAttribute("placeholder"))!=null?a:""}`};if(fA(e))throw new Error(Xg(st.PAY))}D();xt();var Hv=(t,e)=>Array.from(t.querySelectorAll(e)).some(n=>n.closest(bd)===null);function Uv(t){return[...Hv(t,`[${tc}]`)?[Cs.SOURCE]:[],...Hv(t,Kn())?[Cs.TESTID]:[]]}function Fv(t){return t.buildPlugin||0<t.adapters.length||t.markers.includes(Cs.SOURCE)?[]:[Jp]}D();Kr();var Gv=ct.SESSION;function Bv(t,e,n){var l;let r=()=>{try{let d=e==null?void 0:e.getItem(Gv);return d!=null&&d.length>0?d:void 0}catch{return}},o=d=>{try{e==null||e.setItem(Gv,d)}catch{}},s=t!==void 0&&t.length>0?t:void 0,a=(l=s!=null?s:r())!=null?l:n();return o(a),a}lt();var A5="vite:afterUpdate",y5=3,v5="no longer resolves to an element",R5="the code changed underneath it";function ME(t){return t!==null&&typeof t=="object"?t:void 0}function N5(t){var e;return typeof((e=ME(t))==null?void 0:e.on)=="function"}function w5(t){var r,o;let e=(r=ME(t))==null?void 0:r.updates;if(!Array.isArray(e))return[];let n=[];for(let s of e){let a=(o=ME(s))==null?void 0:o.path;typeof a=="string"&&a.length>0&&!n.includes(a)&&n.push(a)}return n}var Fd,fc,hc,PE=class{constructor(e){b(this,Fd,0);b(this,fc,[]);b(this,hc);f(this,hc,e)}get current(){return c(this,Fd)}observe(e){N5(e)&&e.on(A5,n=>this.applied(w5(n)))}applied(e){f(this,Fd,c(this,Fd)+1),f(this,fc,e.slice(0,y5)),c(this,hc).markEdited()}staleRefMessage(e){let n=`ref '${Ms(e)}' ${v5}`;if(!c(this,hc).mintedBeforeLastEdit(e))return n;let r=c(this,fc).length===0?"the page hot-updated":`${c(this,fc).join(", ")} hot-updated`;return`${n} \u2014 ${r} after this ref was taken, so ${R5} and the framework replaced the node. Query again for a fresh ref: this is your own edit landing, not the app failing.`}};Fd=new WeakMap,fc=new WeakMap,hc=new WeakMap;var Gd=new PE(X);D();D();Oo();Rn();mt();lt();xt();ko();lt();mt();Ye();var HE={CLIPPED:"clipped",OVERLAP:"overlap",CONTRAST:"contrast"},UE=20,O5=300,I5=60,Kv=1,Wv=.25,C5=4.5,L5=3,k5=24,D5=18.66,M5=700,P5='button, a[href], input:not([type="hidden"]), select, textarea, [role="button"], [role="link"], [role="tab"], [role="menuitem"]',zv=/rect\(\s*0(px)?[\s,]+0(px)?[\s,]+0(px)?[\s,]+0(px)?\s*\)|inset\(\s*50%/,Yv=4,Xv=t=>{let e=t.getBoundingClientRect();if(e.width<Yv||e.height<Yv)return null;let n=getComputedStyle(t);return n.visibility==="hidden"||n.display==="none"||n.opacity==="0"||zv.test(n.clip)||zv.test(n.clipPath)?null:e},qv=t=>{var e;return(Se(t)||((e=t.textContent)!=null?e:"")).replace(/\s+/g," ").trim().slice(0,I5)},$5=t=>[...t.childNodes].filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("").trim(),Zv=new Set(["hidden","clip"]),H5=t=>{let e=getComputedStyle(t),n=t.scrollWidth>t.clientWidth+Kv&&Zv.has(e.overflowX),r=t.scrollHeight>t.clientHeight+Kv&&Zv.has(e.overflowY);return e.textOverflow==="ellipsis"||e.getPropertyValue("-webkit-line-clamp")!==""&&e.getPropertyValue("-webkit-line-clamp")!=="none"||!n&&!r?null:n?{detail:`${String(t.scrollWidth)}px of text in a ${String(t.clientWidth)}px box, cut with no ellipsis`,value:t.scrollWidth,bound:t.clientWidth}:{detail:`${String(t.scrollHeight)}px of text in a ${String(t.clientHeight)}px box, cut with no line clamp`,value:t.scrollHeight,bound:t.clientHeight}},U5=/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)/,eR=t=>{let e=U5.exec(t);if(e===null)return null;let n=e[4],r=1;return n!==void 0&&(r=n.endsWith("%")?Number(n.slice(0,-1))/100:Number(n)),[Number(e[1]),Number(e[2]),Number(e[3]),r]},Qv=([t,e,n])=>{let r=o=>{let s=o/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4};return .2126*r(t)+.7152*r(e)+.0722*r(n)},tR=(t,e)=>{let n=t[3];return[t[0]*n+e[0]*(1-n),t[1]*n+e[1]*(1-n),t[2]*n+e[2]*(1-n),1]},F5=t=>{let e=[];for(let n=t;n!==null;n=n.parentElement){let r=getComputedStyle(n);if(r.backgroundImage!=="none"&&r.backgroundImage!=="")return null;let o=eR(r.backgroundColor);if(o!==null&&o[3]>0&&(e.push(o),o[3]===1))break}return e.reduceRight((n,r)=>tR(r,n),[255,255,255,1])},G5=t=>{let e=getComputedStyle(t),n=eR(e.color),r=F5(t);if(n===null||r===null)return null;let o=tR(n,r),[s,a]=[Qv(o),Qv(r)].sort((p,h)=>h-p),l=Number.parseFloat(e.fontSize),d=Number.parseInt(e.fontWeight,10),u=l>=k5||l>=D5&&d>=M5;return{ratio:(s+.05)/(a+.05),min:u?L5:C5}},nR=(t,e,...n)=>{if(typeof document.elementFromPoint!="function")return!0;let r=document.elementFromPoint(t,e);return r!==null&&n.some(o=>o===r||o.contains(r))},xi=2,Jv=(t,e)=>[[e.left+e.width/2,e.top+e.height/2],[e.left+xi,e.top+xi],[e.right-xi,e.top+xi],[e.left+xi,e.bottom-xi],[e.right-xi,e.bottom-xi]].some(([n=0,r=0])=>nR(n,r,t)),B5=(t,e)=>{let n=Math.min(t.right,e.right)-Math.max(t.left,e.left),r=Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top);return n<=0||r<=0?0:n*r/Math.min(t.width*t.height,e.width*e.height)};function rR(t=document.body){let e=[],n=(o,s,a)=>{e.length<UE&&e.push({kind:o,ref:X.refFor(s),what:qv(s),...a})};for(let o of t.querySelectorAll("*")){if(e.length>=UE)break;if(_t(o)||$5(o)==="")continue;let s=Xv(o);if(s===null||!nR(s.left+s.width/2,s.top+s.height/2,o))continue;let a=H5(o);a!==null&&n(HE.CLIPPED,o,a);let l=G5(o);l!==null&&l.ratio<l.min&&n(HE.CONTRAST,o,{detail:`contrast ${l.ratio.toFixed(2)}:1, under ${String(l.min)}:1`,value:Math.round(l.ratio*100)/100,bound:l.min})}let r=[...t.querySelectorAll(P5)].filter(o=>!_t(o)).slice(0,O5).flatMap(o=>{let s=Xv(o);return s===null?[]:[{el:o,rect:s}]});for(let[o,s]of r.entries())for(let a of r.slice(o+1)){if(e.length>=UE)return e;if(s.el.contains(a.el)||a.el.contains(s.el))continue;let l=B5(s.rect,a.rect);l>=Wv&&Jv(s.el,s.rect)&&Jv(a.el,a.rect)&&n(HE.OVERLAP,s.el,{detail:`drawn over "${qv(a.el)}" (${X.refFor(a.el)})`,value:Math.round(l*100)/100,bound:Wv})}return e}Vd();Ye();var gc=new Set(["button","link","textbox","searchbox","checkbox","radio","combobox","listbox","slider","spinbutton","switch","tab","menuitem","option"]),V5=new Set(["script","style","noscript","template","head","meta","link"]),j5=new Set(["alert","status"]);function sR(t,e){if(j5.has(e))return!0;let n=t.getAttribute("aria-live");return n!==null&&n!=="off"}var oR=80;function K5(t){let e=aR(t),n=(e.own?e.text:"").replace(/\s+/g," ").trim();return n.length>oR?`${n.slice(0,oR)}\u2026`:n}function aR(t){var r,o;let e="",n=!1;for(let s of t.childNodes)if(s.nodeType===3)e+=(r=s.textContent)!=null?r:"",n||(n=0<((o=s.textContent)!=null?o:"").trim().length);else if(pn(s)&&lR(s)){let a=aR(s);e+=a.text,n||(n=a.own)}else pn(s)&&cR(s)&&gc.has(Ne(s))&&(e+=Se(s));return{text:e,own:n}}function cR(t){let e=t.ownerDocument.defaultView,n=t.parentElement;if(e===null||n===null)return!1;let r=e.getComputedStyle(n).display;return r.includes("flex")||r.includes("grid")?!1:e.getComputedStyle(t).display==="inline"}function lR(t){if(uR(t)||!cR(t))return!1;let e=Ne(t);return!gc.has(e)&&!sR(t,e)&&Se(t).length===0}var W5=50;function dR(t){return t.getAttribute("aria-hidden")==="true"?!0:t instanceof HTMLElement&&t.hidden}function uR(t){return V5.has(t.tagName.toLowerCase())||_t(t)?!0:dR(t)}function z5(t){let e=Lo(t).filter(n=>n===ue.DISABLED||n===ue.CHECKED||n===ue.EXPANDED||n===ue.PRESSED||n===ue.FOCUSED);return e.length>0?` [${e.join(",")}]`:""}function Y5(t,e,n,r,o,s="",a=!1){let l=" ".repeat(e),d=CE(t),u=r,p=u.length>0?` "${u}"`:"",h=gc.has(n)||u.length>0?` (ref=${X.refFor(t)})`:"",m=d!==void 0&&d.length>0?` [value="${d}"]`:"",g=o.length>0?` [${o}]`:"",T=s.length>0?` [text="${s}"]`:"",_=a?Te(t):null,A=a?Wn(t):null,N=_===null?A==null?void 0:A.componentStack[0]:void 0,y=A==null?void 0:A.source,v="";_!==null?v=` [testid=${_}]`:N!==void 0&&(v=` [component=${N}]`);let O=`${v}${y===void 0?"":` [src=${y.file}:${String(y.line)}]`}`;return`${l}- ${n}${p}${h}${m}${T}${g}${z5(t)}${O}`}function X5(t,e){return`${" ".repeat(t)}- text "${e}"`}function q5(t){if(t===null)return"";let e=t.display;if(e==="grid"||e==="inline-grid"){let n=t.gridTemplateColumns;return n!==""&&n!=="none"?`grid-cols:${n}`:"grid"}return""}var pR=t=>t.hasAttribute("data-aria-hidden")&&t.getAttribute("aria-hidden")==="true";function iR(t,e){for(let n of t){if(e.unread.length>=W5){e.unreadOverflow=!0;return}e.unread.push(X.refFor(n))}}function Z5(t){var r,o;let e=[...t.children],n=(r=t.shadowRoot)!=null?r:Ds(t);if(n!==null&&e.push(...n.children),gf(t))try{let s=(o=t.contentDocument)==null?void 0:o.body;s!=null&&e.push(...s.children)}catch{}return e}function FE(t,e,n,r){if(!(n.throughOverlay===!0&&pR(t)&&!_t(t)&&!(t instanceof HTMLElement&&t.hidden))&&uR(t)){dR(t)&&(n.hiddenSkipped+=1);return}let s=t.ownerDocument.defaultView,a=s!==null?s.getComputedStyle(t):null;if(a!==null&&a.display==="none"){n.hiddenSkipped+=1;return}if(a!==null&&a.display==="inline"&&!r&&lR(t)){Cf(t,e,n,r);return}let l=Ne(t),d=Se(t),u=gc.has(l),p=r||sR(t,l),h=n.mode===Za.INTERACTIVE&&!p,m=!h&&d.length===0?K5(t):"",g=h?"":q5(a),T=u,_=T||l!=="generic"||d.length>0||m.length>0||g.length>0,A=h?T:_;h&&!A&&_&&(n.leanSkipped+=1),A?(n.nodes+=1,n.lines.push(l==="generic"&&m.length>0&&g.length===0?X5(e,m):Y5(t,e,l,d,g,m,n.ids===!0)),Cf(t,e+1,n,p)):Cf(t,e,n,p)}function Cf(t,e,n,r=!1){let o=Z5(t);if(e>n.maxDepth){o.length>0&&(n.truncated=!0,iR([t],n));return}for(let s=0;s<o.length;s+=1){if(n.nodes>=n.maxNodes){n.truncated=!0,iR(o.slice(s),n);return}let a=o[s];a!==void 0&&FE(a,e,n,r)}}function Q5(t){let e=t.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n=[];for(let r of e)ft(r)||Pt(r)&&n.push(Se(r)||"(unnamed dialog)");return n}var J5='[role="dialog"], [role="alertdialog"], dialog[open], [aria-modal="true"]';function eH(t){if(t!==document.body)return;let e=document.body.querySelectorAll('[role="dialog"], dialog[open], [aria-modal="true"]'),n,r;for(let a of e)if(!ft(a)){if(Pt(a)){n=a;break}r!=null||(r=a)}if(n!=null||(n=r),n===void 0)return;let o=n,s=Array.from(document.body.children).filter(a=>!a.contains(o));if(s.length!==0&&s.every(a=>a.getAttribute("aria-hidden")==="true"))return"the rest of the page is aria-hidden behind an open overlay (a focus-trap modal), so this snapshot shows only the overlay. If it will not close its cleanup may be stuck on a throttled tab: dismiss the overlay, or snapshot with { scope } inside it."}function tH(t){let e=Q5(t),n=eH(t);return{route:If(),title:document.title,...e.length>0?{visibleDialogs:e}:{},...n!==void 0?{overlayHidingPage:n}:{}}}function Lf(t={}){var d,u,p,h;let e=(d=t.mode)!=null?d:Za.FULL,n=(u=t.scope)==null?void 0:u.trim(),r=document.body;if(n!==void 0&&n!==""&&(r=X.resolve(n),r===null))try{r=document.querySelector(n)}catch{}let o=r===null,s=r!=null?r:document.body,a=tH(s);if(o)return{tree:"",status:a,nodes:0,truncated:!1,scopeMissing:!0};if(e===Za.STATUS)return{tree:"",status:a,nodes:0,truncated:!1};let l={lines:[],nodes:0,leanSkipped:0,hiddenSkipped:0,truncated:!1,mode:e,maxNodes:(p=t.maxNodes)!=null?p:400,maxDepth:(h=t.maxDepth)!=null?h:20,unread:[],unreadOverflow:!1,...t.ids===!0?{ids:!0}:{}};if(t.includeRoot===!0?FE(s,0,l,!1):Cf(s,0,l),l.nodes===0&&s===document.body){l.throughOverlay=!0;for(let m of Array.from(s.children))pR(m)&&m.querySelector(J5)!==null&&FE(m,0,l,!1);l.throughOverlay=!1}return{tree:l.lines.join(`
|
|
1769
|
+
`),status:a,nodes:l.nodes,truncated:l.truncated,...l.nodes===0?{domElements:s.querySelectorAll("*").length}:{},...l.leanSkipped>0?{leanSkipped:l.leanSkipped}:{},...l.hiddenSkipped>0?{hiddenSkipped:l.hiddenSkipped}:{},...l.unread.length>0?{unread:l.unread}:{},...l.unreadOverflow?{unreadOverflow:!0}:{},...t.audit===!0?{audit:rR(s)}:{}}}RE();D();Rn();Oo();mt();Ye();pr();vi();ko();lt();xt();xt();function LR(t){let e=lH(t);if(e===void 0)return;let n=t.ownerDocument.querySelectorAll(e);return n.length===1&&n[0]===t?e:void 0}function lH(t){let e=Te(t);if(e!==null&&0<e.length){let r=e.replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`[${Ti()}="${r}"]`}let n=t.getAttribute("id");if(n!==null&&/^[A-Za-z_][A-Za-z0-9_-]*$/.test(n))return`#${n}`}Oo();function Uf(t){return t.replace(/\s+/g," ").trim().normalize("NFC")}var dH=/[\u2018\u2019]/g,uH=/[\u201c\u201d]/g,pH=/[\u2013\u2014]/g;function Ff(t){return t.replace(dH,"'").replace(uH,'"').replace(pH,"-")}function hr(t){return Ff(Uf(t))}function Hs(t,e){return hr(t).toLowerCase().includes(hr(e).toLowerCase())}function Wd(t,e,n){return e.matchCase!==!0?Hs(t,n):hr(t).includes(hr(n))}function $R(t,e){return hr(t)===hr(e)}var YE={uppercase:t=>t.toUpperCase(),lowercase:t=>t.toLowerCase(),capitalize:t=>t.replace(/(^|\s)(\p{L})/gu,(e,n,r)=>n+r.toUpperCase())};function HR(t,e){var r,o,s;let n=(o=(r=t.ownerDocument.defaultView)==null?void 0:r.getComputedStyle(t).textTransform)!=null?o:"";return(s=YE[n])==null?void 0:s.call(YE,e)}var fH=1.5,hH=.05,mH=[255,255,255,1];function kR(t){let e=/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+))?\s*\)$/.exec(t);if(e!==null)return[Number(e[1]),Number(e[2]),Number(e[3]),e[4]===void 0?1:Number(e[4])]}function DR(t,e){let n=t[3],r=(o,s)=>o*n+s*(1-n);return[r(t[0],e[0]),r(t[1],e[1]),r(t[2],e[2]),1]}function XE(t){let e=t/255;return e<=.03928?e/12.92:((e+.055)/1.055)**2.4}function MR(t){return .2126*XE(t[0])+.7152*XE(t[1])+.0722*XE(t[2])}function gH(t,e){let n=MR(t),r=MR(e);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function PR(t){return`rgb(${[t[0],t[1],t[2]].map(e=>String(Math.round(e))).join(", ")})`}function EH(t){let e=Number.parseFloat(t.getPropertyValue("-webkit-text-stroke-width"));return/\dpx/.test(t.textShadow)||e>0}function bH(t){let e=t.ownerDocument.defaultView;if(e===null)return;let n=e.getComputedStyle(t),r=kR(n.color);if(r===void 0||EH(n))return;let o=1,s=[],a=!1;for(let p=t;p!==null;p=gi(p)){let h=e.getComputedStyle(p),m=Number.parseFloat(h.opacity);if(o*=Number.isNaN(m)?1:m,a)continue;if(h.backgroundImage!==""&&h.backgroundImage!=="none")return;let g=kR(h.backgroundColor);if(g===void 0)return;g[3]>0&&s.push(g),a=g[3]>=1}if(o<hH)return`the composed opacity is ${o.toFixed(2)}`;let l=s.reduceRight((p,h)=>DR(h,p),mH),d=DR(r,l),u=gH(d,l);if(!(u>=fH))return`text ${PR(d)} on ${PR(l)}: contrast ${u.toFixed(2)}:1`}function UR(t){let e=t.map(bH);return e.length>0&&e.every(n=>n!==void 0)?e[0]:void 0}Vd();var XR=tc,TH=12,SH=2e3,_H=()=>`[${XR}], ${Kn()}, button, a, input, select, textarea, [role]`;function zn(t){return[...Node.ELEMENT_NODE===t.nodeType?[t]:[],...Array.from(t.querySelectorAll("*"))]}var xH=["script","style","template","noscript"];function qR(t){return xH.includes(t.tagName.toLowerCase())}function AH(t){if(Ie(t)){let e=t.type.toLowerCase();if(e==="submit"||e==="button"||e==="reset")return t.value}return qR(t)?"":Array.from(t.childNodes).filter(e=>Node.TEXT_NODE===e.nodeType).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("")}function zd(t,e){var s;if(qR(t)||Nd(t))return"";let n=Pt(t,e),r=yH(t),o="";for(let a of Array.from(t.childNodes))if(Node.TEXT_NODE===a.nodeType&&n)o+=(s=a.textContent)!=null?s:"";else if(pn(a)){let l=zd(a,e);o+=r||vH(a)?` ${l} `:l}return o}function yH(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"";return e.includes("flex")||e.includes("grid")}function vH(t){var n,r;let e=(r=(n=t.ownerDocument.defaultView)==null?void 0:n.getComputedStyle(t).display)!=null?r:"inline";return!e.startsWith("inline")&&e!=="contents"}function RH(t){if(Ie(t)||fn(t)||ur(t))return!0;let e=t.tagName.toLowerCase();return e==="button"||e==="meter"||e==="output"||e==="progress"||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")}function Bf(t){if(t===void 0)return{container:document.body,scopeMissing:!1};let e=X.resolve(t);if(Si(e))return{container:e,scopeMissing:!1};try{let n=document.querySelector(t);if(Si(n))return{container:n,scopeMissing:!1}}catch{}return{container:null,scopeMissing:!0}}function NH(t,e){let n=`${e.file}:${e.line}:`.replace(/\\/g,"\\\\").replace(/"/g,'\\"');try{return Array.from(t.querySelectorAll(`[${XR}^="${n}"]`))}catch{return[]}}function wH(t,e){let n=[],r=0;for(let o of Array.from(t.querySelectorAll(_H()))){if(r>=SH)break;r+=1;let s=Wn(o);s!==null&&s.componentStack[0]===e&&n.push(o)}return n}function FR(t,e){if(e.source!==void 0){let n=NH(t,e.source);if(n.length>0)return n}return e.component!==void 0&&e.component.length>0?wH(t,e.component):[]}function OH(t,e){return t===e||e==="textbox"&&t==="searchbox"}var IH="option",CH="option",LH="select",GR=1;function ZE(t){if(CH!==t.localName)return!1;let e=t.closest(LH);return ur(e)?Pt(e)?kH(e):!0:!1}function kH(t){let e=t.getBoundingClientRect();return e.width>0&&e.height>0&&e.width<=GR&&e.height<=GR}function DH(t,e){if(IH!==t)return e;let n=e.filter(r=>!ZE(r));return n.length===e.length?e:n}function qE(t,e,n){let r=zn(t).filter(o=>OH(Ne(o),e)&&(n===void 0||$R(Se(o),n)));return DH(e,r)}function BR(t,e,n){return zn(t).filter(r=>{let o=AH(r);if(Wd(o,n,e))return!0;if(n.matchCase!==!0||!Hs(o,e))return!1;let s=HR(r,o);return s!==void 0&&Wd(s,n,e)})}function VR(t,e){let n=hr(e).toLowerCase(),r=[],o=[];for(let s of zn(t)){if(!RH(s))continue;let a=hr(Se(s)).toLowerCase();a.includes(n)&&(a===n?r:o).push(s)}return r.length>0?r:o}function jR(t,e){return zn(t).filter(n=>{let r=n.getAttribute("placeholder");return r!==null&&Hs(r,e)})}function KR(t,e){return zn(t).filter(n=>Te(n)===e)}function WR(t,e){return zn(t).filter(n=>{let r=n.getAttribute("alt");return r!==null&&Hs(r,e)})}function zR(t,e){var o;let n=e.by,r=e.value;if(n!==void 0&&r!==void 0)switch(n){case et.ROLE:return qE(t,r,e.name);case et.TEXT:return BR(t,r,e);case et.LABEL:return VR(t,r);case et.PLACEHOLDER:return jR(t,r);case et.TESTID:return KR(t,r);case et.ALT:return WR(t,r);case et.COMPONENT:return FR(t,{...e,component:(o=e.component)!=null?o:r});default:throw new Error(`unsupported query strategy '${String(n)}' - use one of: ${Object.values(et).join(", ")}`)}return e.component!==void 0||e.source!==void 0?FR(t,e):e.role!==void 0?qE(t,e.role,e.name):e.text!==void 0?BR(t,e.text,e):e.label!==void 0?VR(t,e.label):e.placeholder!==void 0?jR(t,e.placeholder):e.testid!==void 0?KR(t,e.testid):e.alt!==void 0?WR(t,e.alt):[]}function MH(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}var PH=3;function $H(t){let e=[],n=(r,o)=>{var s;for(let a of r.querySelectorAll("*")){let l=(s=a.shadowRoot)!=null?s:Ds(a);if(l!==null){e.push(l),n(l,o);continue}if(o>=PH||!gf(a))continue;let d=MH(a);d!==null&&(e.push(d),n(d,o+1))}};return n(t,0),e}function ZR(t){let{container:e,scopeMissing:n}=Bf(t.scope);if(e===null)return{candidates:[],scopeMissing:!0};if(t.self===!0)return t.scope===void 0?{candidates:[],scopeMissing:n}:t.text!==void 0&&!Wd(zd(e,new Map),t,t.text)?{candidates:[],scopeMissing:n}:{candidates:_t(e)?[]:[e],scopeMissing:n};let r=new Set,o=[],s=Gf(t)===void 0?_t:Nd,a=l=>{for(let d of l)r.has(d)||s(d)||(r.add(d),o.push(d))};a(zR(e,t));for(let l of $H(e))a(zR(l,t));return{candidates:o,scopeMissing:n}}var HH=512,UH=12;function FH(t,e){let n={};for(let r of e.slice(0,UH)){let o=t.getAttribute(r);o!==null&&(n[r]=it(r)?ye:o.slice(0,HH))}return Object.keys(n).length>0?n:void 0}function GH(t,e,n){return ue.IN_VIEWPORT===e?kE(t,n):Lo(t,Pt(t,n)).includes(e)}var YR=G.MAX_COLLECTION_ITEMS;function Yd(t,e,n=YR,r=!0,o=!0){let s=ZR(t),a=s.scopeMissing,l=r&&WH(t)?Gf(t):void 0,d=s.candidates.length===0?Bf(t.scope).container:null,u=d===null||l===void 0?void 0:QR(d,l,t),p=u===void 0?s.candidates:[u],h=new Map,m=e===void 0?p:p.filter(v=>GH(v,e,h)),g=t.attrs,T=m.slice(0,Math.max(0,Math.min(n,YR))),_=T.length>1||ue.IN_VIEWPORT===e,A=T.map(v=>{let O=Yr(v,h);if(_&&kE(v,h)&&!O.states.includes(ue.IN_VIEWPORT)&&(O={...O,states:[...O.states,ue.IN_VIEWPORT]}),g===void 0||g.length===0)return O;let j=FH(v,g);return j===void 0?O:{...O,attrs:j}}),N=Zy(m),y=Gf(t)===void 0?void 0:UR(T);return{matched:m.length>0,count:m.length,elements:A,...a?{scopeMissing:!0}:{},...N===void 0?{}:{coveredBy:N},...y===void 0?{}:{unreadable:y},...m.length===0?{hint:JR(t,e,o)}:{}}}function BH(t){let e=t.getAttribute("aria-labelledby");if(e===null)return;let n=e.split(/\s+/).map(r=>{var o,s,a;return r.length>0&&(a=(s=(o=t.ownerDocument.getElementById(r))==null?void 0:o.textContent)==null?void 0:s.trim())!=null?a:""}).filter(r=>r.length>0).join(" ");return n.length>0?n:void 0}function VH(t){var o,s,a,l,d,u,p,h;let e=(o=Bf(t.scope).container)!=null?o:document.body,n=[],r=["list","listbox","grid","table","tree","treegrid","dialog","alertdialog","navigation","main","banner","form","search","menu","menubar","tablist"];for(let m of r){let g=qE(e,m,void 0);for(let T of g){if(ft(T))continue;let _=(l=(a=(s=T.getAttribute("aria-label"))!=null?s:BH(T))!=null?a:Te(T))!=null?l:void 0,A=T.querySelectorAll("[role]"),N=[];for(let v of Array.from(A)){if(N.length>=3)break;let O=v.getAttribute("role"),j=(h=(p=(d=v.getAttribute("aria-label"))!=null?d:Te(v))!=null?p:(u=v.textContent)==null?void 0:u.trim().slice(0,40))!=null?h:"";O!==null&&j.length>0&&N.push(`${O}[${j}]`)}let y={role:m,childCount:A.length,sample:N};if(_!==void 0&&_.length>0&&(y.name=_),n.push(y),n.length>=10)return n}}return n}function QR(t,e,n){let r,o=-1,s=new Map;for(let a of zn(t)){if(_t(a)||!Wd(zd(a,s),n,e))continue;let l=0;for(let d=a.parentElement;d!==null;d=d.parentElement)l++;l>o&&(r=a,o=l)}return r}function jH(t,e){let n=hr(e).toLowerCase();if(n.length===0)return;let r=new Map;for(let o of zn(t)){if(_t(o))continue;let s=Uf(zd(o,r)),a=Ff(s).toLowerCase().indexOf(n);if(a!==-1)return s.slice(a,a+n.length)}}var KH=new Set(["text","matchCase","scope","by","value"]);function WH(t){return(t.by===void 0||et.TEXT===t.by)&&Object.keys(t).every(e=>KH.has(e))}function Gf(t){return t.text!==void 0?t.text:et.TEXT===t.by?t.value:void 0}var zH=5;function YH(t,e){let n=et.ROLE===e.by?e.value:e.role,r=e.name;if(n===void 0||r===void 0||r.length===0)return[];let o=hr(r).toLowerCase();if(o.length===0)return[];let s=[];for(let a of zn(t)){if(_t(a)||Ne(a)!==n)continue;let l=Uf(Se(a));if(l.length===0)continue;let d=Ff(l).toLowerCase();if(!(!d.includes(o)&&!o.includes(d))&&(s.includes(l)||s.push(l),s.length>=zH))break}return s}function XH(t,e){if(et.TESTID!==e.by||e.value===void 0)return;let n=Ti();for(let r of[Ns,...wx]){if(r===n)continue;if(zn(t).some(s=>s.getAttribute(r)===e.value&&!_t(s)))return r}}function qH(t,e){var o;let n=!1;for(let s of zn(t))if(!_t(s)&&Nv(s)&&Hs((o=s.textContent)!=null?o:"",e)){n=!0;break}if(!n)return!1;let r=new Map;for(let s of zn(t))if(!_t(s)&&wv(s)&&Hs(zd(s,r),e))return!1;return!0}function JR(t,e,n=!0){var T;let r=(T=Bf(t.scope).container)!=null?T:document.body,o=r.querySelectorAll(Kn()),s=[],a=new Set;for(let _ of Array.from(o)){if(_t(_))continue;let A=Te(_);A===null||A.length===0||a.has(A)||(a.add(A),s.length<TH&&s.push(A))}let l=CR(),d=s.some(_=>l.includes(_)),p={route:If(!1),presentTestids:s,...a.size>s.length?{presentTestidsTotal:a.size}:{},presentRegions:VH(t),knownEmptyState:d},h=Gf(t);if(h!==void 0){let _=QR(r,h,t);if(_!==void 0){let A=Yr(_),N=LR(_);p.splitText=N===void 0?A:{...A,selector:N}}else if(t.matchCase===!0){let A=jH(r,h);A!==void 0&&(p.caseMiss=A)}}n&&h!==void 0&&p.splitText===void 0&&(e===void 0||ue.VISIBLE===e||ue.IN_VIEWPORT===e)&&qH(r,h)&&(p.ariaHiddenMatch=!0);let m=YH(r,t);m.length>0&&(p.nameNearMiss=m);let g=XH(r,t);return g!==void 0&&(p.testidFoundUnder=g),p}function QE(t){return ZR(t).candidates}function Vf(t,e){let n=Yd(t,void 0,e,!1),r=n.scopeMissing===!0?{scopeMissing:!0}:{};return n.elements.length===0?{elements:n.elements,count:n.count,hint:JR(t),...r}:{elements:n.elements,count:n.count,...r}}D();Ye();Tc();lt();wo();Rn();var ZH=/\b(current|new)-password\b/,QH=/Chrome|Chromium|Edg\/|Firefox|Gecko\//;function eb(t,e=navigator.userAgent){var r,o,s;return!(t instanceof HTMLInputElement)||!(t.type.toLowerCase()==="password"||ZH.test((r=t.getAttribute("autocomplete"))!=null?r:""))||QH.test(e)?!1:600<=Number((s=(o=/AppleWebKit\/(\d+)/.exec(e))==null?void 0:o[1])!=null?s:0)}function Kf(t,e){let n=lv(t),r=n===void 0?void 0:Py(n);r!==void 0?r.call(t,e):t.value=e;let o=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!o}function JH(t){let e=t.getAttribute("contenteditable");if(Xe(t)&&t.isContentEditable||e!==null&&e!=="false"||t.getAttribute("role")==="textbox")return!0;if(!("editContext"in t))return!1;let n=t;return n.editContext!==null&&n.editContext!==void 0}function tb(t,e){if(JH(t))throw new Error(`cannot ${e} a contenteditable or EditContext editor; use press or an input`)}function nb(t,e){if(t.disabled)throw new Error(`cannot ${e} a disabled <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`);if(t.readOnly)throw new Error(`cannot ${e} a readonly <${t.tagName.toLowerCase()}> \u2014 a user could not edit it, so forcing the value would put the app in a state nobody can reach`)}mt();ko();Rn();dt();xt();D();mt();var aN=160,eU=150,tU="checkbox",nU="radio",Xd;function Yf(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement}function lN(t){return t instanceof HTMLInputElement&&(tU===t.type||nU===t.type)}function ib(t){return lN(t)?{value:t.value,checked:t.checked}:{value:t.value}}function rU(t,e){return t.checked!==void 0||e.checked!==void 0?t.checked!==e.checked:t.value!==e.value}function cN(t){return t.length>aN?`${t.slice(0,aN)}\u2026`:t}function oU(t){let e=Te(t);if(e!==null&&e.length>0)return e;if(t.name.length>0)return t.name;let n=Se(t);if(n.length>0)return n;let r=t.getAttribute("id");return r!==null&&r.length>0?r:t.tagName.toLowerCase()}function dN(t,e,n,r){let o=Zt(t),s={[St.FIELD]:oU(t),[St.KIND]:e,[St.LENGTH]:n.value.length};return n.checked!==void 0&&(s[St.CHECKED]=n.checked),(r==null?void 0:r.checked)!==void 0&&(s[St.PREVIOUS_CHECKED]=r.checked),o?(s[St.REDACTED]=!0,s):(s[St.VALUE]=cN(n.value),r!==void 0&&r.checked===void 0&&(s[St.PREVIOUS]=cN(r.value)),s)}function iU(t){return lN(t)?"checked":"value"}function sU(t,e){for(let n=Object.getPrototypeOf(t);n!==null;){let r=Object.getOwnPropertyDescriptor(n,e);if(r!==void 0)return r;n=Object.getPrototypeOf(n)}}function aU(t,e){var u;let n=Object.getOwnPropertyDescriptor(t,e),r=n!=null?n:sU(t,e),o=r===void 0?void 0:Reflect.get(r,"get"),s=r===void 0?void 0:Reflect.get(r,"set"),a=!1;if(!(typeof o=="function"&&typeof s=="function")||(n==null?void 0:n.configurable)===!1)return{stop:()=>{},written:()=>a};Object.defineProperty(t,e,{configurable:!0,enumerable:(u=r==null?void 0:r.enumerable)!=null?u:!1,get(){return Reflect.apply(o,this,[])},set(p){a=!0,Reflect.apply(s,this,[p])}});let d=!1;return{stop:()=>{d||(d=!0,n===void 0?Reflect.deleteProperty(t,e):Object.defineProperty(t,e,n))},written:()=>a}}function uN(t){if(!(!Yf(t)||t instanceof HTMLSelectElement))return{before:ib(t),...aU(t,iU(t))}}function pN(t,e){let n=Xd;if(e===void 0||(e.stop(),n===void 0||!Yf(t)||!t.isConnected||!e.written()))return;let r=e.before;if(Zt(t)&&r.checked===void 0)return;let o=ib(t);rU(r,o)&&n(x.FIELD_CHANGE,dN(t,xd.SETTLED,o,r))}function fN(t){let e=new AbortController,{signal:n}=e,r=Xd;Xd=t;let o=new Map,s=(u,p)=>{t(x.FIELD_CHANGE,dN(u,p,ib(u)))},a=u=>{let p=o.get(u);p!==void 0&&clearTimeout(p),o.delete(u)},l=u=>{let p=u.target;Yf(p)&&(a(p),o.set(p,setTimeout(()=>{o.delete(p),s(p,xd.INPUT)},eU)))},d=u=>{let p=u.target;Yf(p)&&(a(p),s(p,xd.CHANGE))};return document.addEventListener("input",l,{signal:n,capture:!0}),document.addEventListener("change",d,{signal:n,capture:!0}),()=>{for(let u of o.values())clearTimeout(u);o.clear(),Xd===t&&(Xd=r),e.abort()}}Ye();mt();var sb=200,hN=" | ",cU=3,lU=/\p{L}/u;function dU(t){return lU.test(t)}var uU=3;function pU(t){return t instanceof Element&&t.querySelectorAll("*").length>uU}var Sc,qd,Ni,ab,cb,Xf=class{constructor(){b(this,Ni);b(this,Sc,new Set);b(this,qd,0)}collect(e){for(let n of e){if(E(this,Ni,ab).call(this))return;if(n.type==="characterData"){E(this,Ni,cb).call(this,n.target.textContent,n.target.parentElement);continue}for(let r of n.addedNodes){if(E(this,Ni,ab).call(this))return;if(pU(r))continue;let o=cU===r.nodeType?r.parentElement:fU(r);E(this,Ni,cb).call(this,r.textContent,o)}}}effect(e){let n=[...c(this,Sc)].filter(o=>o!==e);if(n.length===0)return{};let r=n.join(hN);return{appeared:r.length>sb?`${r.slice(0,sb)}\u2026`:r}}};Sc=new WeakMap,qd=new WeakMap,Ni=new WeakSet,ab=function(){return c(this,qd)>sb},cb=function(e,n){if(n!==null&&Nd(n)||n!==null&&Zt(n))return;let r=(e!=null?e:"").replace(/\s+/g," ").trim();r.length!==0&&dU(r)&&(c(this,Sc).has(r)||(c(this,Sc).add(r),f(this,qd,c(this,qd)+(r.length+hN.length))))};function fU(t){return t instanceof Element?t:t.parentElement}D();Rn();var hU=new Set(["checkbox","switch"]),mN="aria-checked",qf=t=>{var e;return!Ie(t)&&hU.has((e=t.getAttribute("role"))!=null?e:"")},gN=t=>t.getAttribute(mN)==="true";function EN(t,e,n){var o;if(n||!qf(t)||e!==L.CHECK&&e!==L.UNCHECK)return;let r=e===L.CHECK;if(gN(t)!==r)throw new Error(`${e} clicked the ${(o=t.getAttribute("role"))!=null?o:""} but ${mN} is still "${String(!r)}" \u2014 the app did not toggle it`)}function Zf(t,e){if(e!==L.CHECK&&e!==L.UNCHECK)return!1;let n=e===L.CHECK;return Ie(t)?t.checked===n:qf(t)&&gN(t)===n}D();Tc();dt();Rn();var lb=t=>new Promise(e=>oe(e,t));function mU(t,e=""){return typeof t=="string"?t:e}function Jf(t){return Pg(t)}var gU=["metaKey","ctrlKey","shiftKey","altKey"],_N={meta:"metaKey",cmd:"metaKey",command:"metaKey",super:"metaKey",win:"metaKey",control:"ctrlKey",ctrl:"ctrlKey",shift:"shiftKey",alt:"altKey",option:"altKey",opt:"altKey"};function xN(t){let e=t.modifiers,n=Array.isArray(e)?e.map(o=>mU(o).toLowerCase()):[],r={metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1};for(let o of n){let s=_N[o];s!==void 0&&(r[s]=!0)}return r}function bN(t){return _N[t.toLowerCase()]}function Qf(t,e){let n=t.code;return typeof n=="string"&&0<n.length?n:e===" "?"Space":e.length===1?/[a-z]/i.test(e)?`Key${e.toUpperCase()}`:/[0-9]/.test(e)?`Digit${e}`:"":/^[A-Z][A-Za-z0-9]*$/.test(e)&&TU.has(e)?e:""}function eh(t,e,n,r,o=!1){if(TN!==e&&e.length!==1)return;let s=new KeyboardEvent("keypress",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:o,...r}),a=TN===e?EU:e.charCodeAt(0);for(let l of bU)Object.defineProperty(s,l,{value:a});qe(()=>t.dispatchEvent(s))}var TN="Enter",EU=13,bU=["keyCode","charCode","which"],TU=new Set(["Enter","Escape","Tab","Backspace","Delete","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Insert","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),SU="no document to press into";function AN(){let t=document.activeElement;if(Xe(t)&&document.body!==t)return t;if(Xe(document.body))return document.body;let e=document.documentElement;if(Xe(e))return e;throw new Error(SU)}function yN(t,e,n){return t.length===0&&Dx(n)&&L.PRESS===e}function vN(t){return $g(t)}var _U=33,SN=500,xU={Backspace:8,Tab:9,Enter:13,Shift:16,Control:17,Alt:18,Escape:27," ":32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Delete:46,Meta:91},AU=/^[a-z0-9]$/i,yU=t=>{var e;return(e=xU[t])!=null?e:AU.test(t)?t.toUpperCase().charCodeAt(0):0};function Zd(t,e){let n=new KeyboardEvent(t,e),r=yU(e.key);for(let o of["keyCode","which"])Object.defineProperty(n,o,{get:()=>r});return n}async function RN(t,e,n,r,o){let s=Date.now();for(o>SN&&await lb(SN);Date.now()-s<o;)qe(()=>t.dispatchEvent(Zd("keydown",{key:e,code:n,bubbles:!0,cancelable:!0,repeat:!0,...r})))&&eh(t,e,n,r,!0),await lb(Math.min(_U,Math.max(0,o-(Date.now()-s))))}async function NN(t,e,n,r){let o={...n},s=(p,h)=>{let m=Qf({},h);return qe(()=>t.dispatchEvent(Zd(p,{key:h,code:m,bubbles:!0,cancelable:!0,...o})))},a=new Map;for(let p of gU)o[p]&&a.set(p,1);let l=p=>{var h;a.set(p,((h=a.get(p))!=null?h:0)+1),o[p]=!0},d=p=>{var m;let h=((m=a.get(p))!=null?m:1)-1;a.set(p,h),h<=0&&(o[p]=!1)},u=!1;for(let p of e){let h=bN(p);h!==void 0&&l(h);let m=s("keydown",p);m||(u=!0),m&&eh(t,p,Qf({},p),o),db(t,p,m)}r>0&&await lb(r);for(let p of[...e].reverse()){let h=bN(p);h!==void 0&&d(h),s("keyup",p)}return u}function db(t,e,n){var r,o;if(!(e!=="Escape"||!n))for(let s=t.closest("dialog");s!==null;s=(o=(r=s.parentElement)==null?void 0:r.closest("dialog"))!=null?o:null){try{if(!s.open||!s.matches(":modal"))continue}catch{return}typeof s.requestClose=="function"?s.requestClose():s.dispatchEvent(new Event("cancel",{cancelable:!0}))&&s.close();return}}xt();D();mt();ko();Ye();var vU="canvas";function wN(t){var o,s,a,l;let e=(s=(o=t.defaultView)==null?void 0:o.innerWidth)!=null?s:0,n=(l=(a=t.defaultView)==null?void 0:a.innerHeight)!=null?l:0,r=0;for(let d of t.querySelectorAll(vU)){if(jr(d))continue;let u=d.getBoundingClientRect(),p=u.width>0&&u.height>0,h=u.bottom>0&&u.right>0&&u.top<n&&u.left<e;p&&h&&(r+=1)}return r}function ON(t){var l;let e=(l=Te(t))!=null?l:void 0,n=Wn(t),r={};if(e!==void 0){r.testid=e;let d=QE({by:et.TESTID,value:e}).length;1<d&&(r.testidOf=d)}let o=n==null?void 0:n.componentStack[0];o!==void 0&&(r.component=o),(n==null?void 0:n.source)!==void 0&&(r.source=n.source);let s=Ne(t),a=Se(t);if(s.length>0&&(r.role=s),a.length>0&&(r.name=a),Zt(t)&&(r.secret=!0),s.length>0&&a.length>0){let d=QE({by:et.ROLE,value:s,name:a}),u=d.indexOf(t);1<d.length&&0<=u&&(r.nth=u,r.of=d.length)}return r}var IN=(t,e,n,r,o,s,a)=>{let l={ok:!0,ref:t,action:e,dispatched:!0,settled:r,settleReason:o,effect:n};return s.testid!==void 0&&(l.testid=s.testid),s.testidOf!==void 0&&(l.testidOf=s.testidOf),s.component!==void 0&&(l.component=s.component),s.source!==void 0&&(l.source=s.source),s.role!==void 0&&(l.role=s.role),s.name!==void 0&&(l.name=s.name),s.nth!==void 0&&(l.nth=s.nth),s.of!==void 0&&(l.of=s.of),s.secret!==void 0&&(l.secret=s.secret),a!==void 0&&(l.warning=a),l};lt();xt();mt();Ye();var RU=[[.5,.5],[.25,.25],[.75,.25],[.25,.75],[.75,.75]],NU=3;function th(t,e){var u;if(e.width===0||e.height===0)return null;let n=t.ownerDocument;if(typeof n.elementFromPoint!="function")return null;let r=n,o=p=>jr(p)&&p!==t&&!t.contains(p)&&!p.contains(t),s=(p,h)=>{var g,T,_;return(_=((T=(g=r.elementsFromPoint)==null?void 0:g.call(r,p,h))!=null?T:[n.elementFromPoint(p,h)]).find(A=>A!==null&&!o(A)))!=null?_:null},a=new Map;for(let[p,h]of RU){let m=s(e.left+e.width*p,e.top+e.height*h);m!==null&&(m===t||t.contains(m)||m.contains(t)||a.set(m,((u=a.get(m))!=null?u:0)+1))}let l=null,d=0;for(let[p,h]of a)h>d&&(l=p,d=h);return d>=NU?l:null}dt();Tc();var Qd={occluded:!1,occludedBy:null,scrolledIntoView:!1};function wi(t,e,n={}){return new MouseEvent(e,{...n,view:t.ownerDocument.defaultView})}function nh(t,e,n){let r={...n,view:t.ownerDocument.defaultView};return typeof PointerEvent=="function"?new PointerEvent(e,r):new MouseEvent(e,r)}var gt=1,Jd=0;function Ue(t,e,n,r,o,s=0){let a={bubbles:!(e.endsWith("enter")||e.endsWith("leave")),cancelable:!0,detail:s,clientX:n.x,clientY:n.y,screenX:n.x,screenY:n.y,buttons:r,button:0,...o!==void 0?{relatedTarget:o}:{}};return t.dispatchEvent(e.startsWith("pointer")?nh(t,e,{...a,pointerId:1,isPrimary:!0}):wi(t,e,a))}async function tu(t,e,n){var u;let r=t.ownerDocument,o=(u=r.activeElement)!=null?u:r.body,s=ub(t),a=n!=null?n:0;qe(()=>Ue(t,"pointerdown",s,gt,o,a)),qe(()=>Ue(t,"mousedown",s,gt,void 0,a)),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let l=0;if(e!==void 0&&e.ms>0){let p=e.now();await e.sleep(e.ms),l=e.now()-p}return qe(()=>Ue(t,"pointerup",s,Jd,o,a)),qe(()=>Ue(t,"mouseup",s,Jd,void 0,a)),{prevented:!qe(()=>Ue(t,"click",s,Jd,void 0,a)),heldMs:l}}function wU(t){return t.width>0||t.height>0}function eu(t,e){let n=t.ownerDocument.defaultView;if(n===null)return!1;let r=e.left+e.width/2,o=e.top+e.height/2;return r<0||o<0||r>n.innerWidth||o>n.innerHeight}function OU(t,e){let n=th(t,e);return n===null?{occluded:!1,occludedBy:null}:{occluded:!0,occludedBy:X.refFor(n),occluderName:IU(n)}}function IU(t){let e=Te(t);if(e!==null&&e.length>0)return`[data-testid="${e}"]`;let n=Se(t).trim();return n.length>0?`${Ne(t)} "${n.slice(0,40)}"`:t.tagName.toLowerCase()}function CU(t){if(typeof t.getClientRects!="function")return!1;let e=Array.from(t.getClientRects());return e.length>0&&e.every(n=>n.width===0||n.height===0)}function DN(t){if(typeof t.getBoundingClientRect!="function")return Qd;let e=t.getBoundingClientRect();if(!wU(e))return CU(t)?{...Qd,noSize:!0}:Qd;let n=!1;eu(t,e)&&typeof t.scrollIntoView=="function"&&(t.scrollIntoView({block:"center",inline:"center"}),n=!0,e=t.getBoundingClientRect());let r=n&&eu(t,e);return{...OU(t,e),scrolledIntoView:n,...r?{offViewport:!0}:{}}}function pb(t,e,n=null){qe(()=>t.dispatchEvent(nh(t,e,{bubbles:!0,cancelable:!0,relatedTarget:n})))}function MN(t,e,n=null){qe(()=>t.dispatchEvent(nh(t,e,{bubbles:!1,cancelable:!0,relatedTarget:n})))}function LU(t){if(typeof DataTransfer!="function")return null;let e=new DataTransfer,n=Array.isArray(t)?t:t!==void 0?[t]:[];for(let r of n)if(typeof r=="object"&&r!==null){let o=r;typeof o.mime=="string"&&typeof o.value=="string"&&e.setData(o.mime,o.value)}return e}var CN=5;function ub(t){let e=t.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}function kU(t,e,n){return{x:Math.round(t.x+(e.x-t.x)*n),y:Math.round(t.y+(e.y-t.y)*n)}}async function fb(t,e,n){let r=e!=null?e:t,o=ub(t),s=ub(r),a=t.getBoundingClientRect(),l=e!==null?r.getBoundingClientRect():null,d=(m,g)=>g.x>=m.left&&g.x<=m.right&&g.y>=m.top&&g.y<=m.bottom;Ue(t,"pointerdown",o,gt),Ue(t,"mousedown",o,gt),await Ri();let u=!1,p=!1;for(let m=1;m<=CN;m+=1){let g=kU(o,s,m/CN);!u&&!d(a,g)&&(u=!0,Ue(t,"pointerout",g,gt,r),Ue(t,"mouseout",g,gt,r),Ue(t,"pointerleave",g,gt,r),Ue(t,"mouseleave",g,gt,r)),u&&!p&&l!==null&&d(l,g)&&(p=!0,Ue(r,"pointerover",g,gt,t),Ue(r,"mouseover",g,gt,t),Ue(r,"pointerenter",g,gt,t),Ue(r,"mouseenter",g,gt,t)),Ue(r,"pointermove",g,gt),Ue(r,"mousemove",g,gt),await Ri()}!p&&l!==null&&(Ue(r,"pointerover",s,gt,t),Ue(r,"mouseover",s,gt,t),Ue(r,"pointerenter",s,gt,t),Ue(r,"mouseenter",s,gt,t)),Ue(r,"pointerup",s,Jd),Ue(r,"mouseup",s,Jd);let h=!1;if(typeof DragEvent=="function"){let m=LU(n),g={bubbles:!0,cancelable:!0};m!==null&&(g.dataTransfer=m),t.dispatchEvent(new DragEvent("dragstart",g)),await Ri(),r.dispatchEvent(new DragEvent("dragenter",g)),r.dispatchEvent(new DragEvent("dragover",g)),await Ri(),h=!r.dispatchEvent(new DragEvent("drop",g)),t.dispatchEvent(new DragEvent("dragend",g))}return h}async function PN(t,e){let n=DU(t);LN(t,"pointerdown"),qe(()=>t.dispatchEvent(kN("touchstart",n))),t.tabIndex>=0&&typeof t.focus=="function"&&t.focus();let r=0;if(e!==void 0&&e.ms>0){let s=e.now();await e.sleep(e.ms),r=e.now()-s}return qe(()=>t.dispatchEvent(kN("touchend",[]))),LN(t,"pointerup"),{prevented:!qe(()=>t.dispatchEvent(wi(t,"click",{bubbles:!0,cancelable:!0}))),heldMs:r}}function LN(t,e){qe(()=>t.dispatchEvent(nh(t,e,{bubbles:!0,cancelable:!0,pointerType:"touch",isPrimary:!0,width:23,height:23})))}function DU(t){if(typeof Touch!="function"||typeof t.getBoundingClientRect!="function")return[];let e=t.getBoundingClientRect();try{return[new Touch({identifier:0,target:t,clientX:e.left+e.width/2,clientY:e.top+e.height/2})]}catch{return[]}}function kN(t,e){if(typeof TouchEvent=="function")try{return new TouchEvent(t,{bubbles:!0,cancelable:!0,touches:e,targetTouches:e,changedTouches:e})}catch{}return new Event(t,{bubbles:!0,cancelable:!0})}var MU=new Set(["menu","menubar","listbox","dialog","alertdialog","tooltip"]),PU="closed";function $N(t){var e,n;for(let r=t.parentElement;r!==null;r=r.parentElement)if(PU===r.getAttribute("data-state")&&MU.has((e=r.getAttribute("role"))!=null?e:""))throw new Error(`'${(n=r.getAttribute("role"))!=null?n:"popup"}' holding this element is closing (data-state="closed"), so a person could not click it: look again once it has gone and act on what is open`)}lt();var $U=400,HU=.8;function UU(t,e){var r;let n=t;for(;n!==null&&n!==document.body;){let o=getComputedStyle(n),s=e==="x"?o.overflowX:o.overflowY,a=e==="x"?n.scrollWidth>n.clientWidth:n.scrollHeight>n.clientHeight;if((s==="auto"||s==="scroll")&&a)return n;n=n.parentElement}return(r=document.scrollingElement)!=null?r:document.documentElement}function HN(t,e,n,r){let o=t!==void 0?X.resolve(t):null;return hb(o instanceof Element?o:void 0,e,n,r)}function hb(t,e,n,r){var p;let s=t!==void 0?UU(t,r!==void 0&&r!==0&&(e===void 0||e===0)?"x":"y"):(p=document.scrollingElement)!=null?p:document.documentElement,a=s.scrollTop,l=s.scrollLeft;if(n!==void 0&&n>=0&&n<=1)s.scrollTop=Math.round(s.scrollHeight*n);else if(r!==void 0&&r!==0&&(s.scrollLeft=l+r),r===void 0||e!==void 0&&e!==0){let h=e!=null?e:Math.round(s.clientHeight*HU)||$U;s.scrollTop=a+h}s.dispatchEvent(new Event("scroll",{bubbles:!1}));let d=s.scrollTop,u=s.scrollLeft;return{scrolled:d!==a||u!==l,scrollTop:d,scrollHeight:s.scrollHeight,clientHeight:s.clientHeight,atEnd:d+s.clientHeight>=s.scrollHeight-1,atStart:d<=1,scrollLeft:u,scrollWidth:s.scrollWidth,clientWidth:s.clientWidth,atLeftEnd:u<=1,atRightEnd:u+s.clientWidth>=s.scrollWidth-1}}D();mt();Oo();var FU='label, summary, [onclick], [tabindex], [contenteditable]:not([contenteditable="false"])';function UN(t,e){if(L.CLICK!==e&&L.DBLCLICK!==e)return!1;for(let n=t;n!==null;n=gi(n))if(gc.has(Ne(n))||n.matches(FU))return!1;return getComputedStyle(t).cursor!=="pointer"}function nu(t,e=""){return typeof t=="string"?t:e}function GU(t){let e=X.resolve(t);if(e===null)throw new Error(`ref '${Ms(t)}' no longer resolves to an element`);if(!Si(e))throw new Error(`ref '${Ms(t)}' is not an HTML or SVG element`);return e}var BU=new Set([L.FILL,L.TYPE,L.CLEAR,L.SELECT]),VU=t=>BU.has(t),VN=new Set([L.CLICK,L.DBLCLICK,L.CHECK,L.UNCHECK]);function jN(t){let e=nu(t.toRef);return e!==""?e:nu(t.target)}var FN=new Set(["content","name","type","__base64"]),jU=new Set([Fp,R_,"holdMs"]);function KU(t){let e=Object.keys(t),n=e.filter(o=>!FN.has(o)&&!jU.has(o));if(n.length===0&&e.some(o=>FN.has(o)))return;let r=n.length===0?"no file was described":`upload does not read ${n.join(", ")}, so it would be dropped`;throw new Error(`upload needs the file described as args: { name, content?, type? } \u2014 ${r}. To upload a file from disk, use the reticle daemon which reads it via args.path and delivers real bytes; calling with { path } directly reaches only fabricated content.`)}function WU(t,e,n){let r=e===L.CLICK||e===L.DBLCLICK||e===L.CHECK||e===L.UNCHECK||e===L.DRAG||e===L.SUBMIT||e===L.PRESS&&Jf(n)==="Enter",o=e===L.DRAG?X.resolve(jN(n)):null,s=e===L.PRESS&&Jf(n)==="Enter"?Mv(t):null;r&&Pv([t,s,Si(o)?o:null]),(e===L.FILL||e===L.TYPE)&&$v(t);let a=Rf(t)||s!==null&&Rf(s),l=Si(o)&&Rf(o);if(r&&(a||l)&&n[Fp]!==!0)throw new Error(`potentially destructive action blocked; retry with args.${Fp}=true`);if(VN.has(e)&&t instanceof HTMLElement&&ZE(t))throw new Error("cannot click a native <option> inside a visually-hidden <select> \u2014 open the dropdown and target the visible option")}function zU(t,e){var r,o;if(t.some(s=>s.value===e))return e;let n=t.filter(s=>s.label.trim()===e.trim());return n.length===1&&(o=(r=n[0])==null?void 0:r.value)!=null?o:e}function KN(t){return!Lo(t).includes(ue.DISABLED)}function GN(t){if(Ie(t)||fn(t)||ur(t))return t.value}function BN(t){let e=t.ownerDocument.activeElement;return e===null||e===t.ownerDocument.body?null:X.refFor(e)}async function YU(t,e,n){if(L.CLICK===e){let r=nc(n.holdMs);return await tu(t,r===0?void 0:{ms:r,sleep:gb,now:()=>Date.now()})}if(L.TAP===e){let r=nc(n.holdMs);return await PN(t,r===0?void 0:{ms:r,sleep:gb,now:()=>Date.now()})}return{prevented:await qU(t,e,n),heldMs:0}}var XU="cannot zoom from inside the page \u2014 CSS zoom changes how it LOOKS without changing the layout viewport, visualViewport or media queries, so a layout that breaks at 200% would be reported as checked and passing. Drive a real browser (reticle drive <url>, or reticle_lease) and zoom there.";function mb(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}async function qU(t,e,n){var r;switch(e){case L.DBLCLICK:return await tu(t,void 0,1),await tu(t,void 0,2),!qe(()=>t.dispatchEvent(wi(t,"dblclick",{bubbles:!0,cancelable:!0,detail:2})));case L.HOVER:{let o=t.ownerDocument,s=(r=o.activeElement)!=null?r:o.body;pb(t,"pointerover",s),t.dispatchEvent(wi(t,"mouseover",{bubbles:!0,relatedTarget:s})),MN(t,"pointerenter",s),t.dispatchEvent(wi(t,"mouseenter",{relatedTarget:s})),pb(t,"pointermove",s);let a=t.dispatchEvent(wi(t,"mousemove",{bubbles:!0,cancelable:!0})),l=nc(n.holdMs);return l>0&&await gb(l),!a}case L.FOCUS:return t.focus(),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0})),!1;case L.BLUR:{let s=t.getRootNode().activeElement===t;return t.blur(),s||(t.dispatchEvent(new FocusEvent("blur")),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0}))),!1}case L.FILL:if(Ie(t)||fn(t)){if(typeof n.value!="string")throw new Error("fill requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }. To empty a field on purpose use the `clear` action, or fill with an explicit \"\".");return nb(t,"fill"),eb(t)||t.focus(),Kf(t,n.value)}throw tb(t,"fill"),new Error(`cannot fill a <${t.tagName.toLowerCase()}>`);case L.TYPE:if(Ie(t)||fn(t)){if(typeof n.text!="string")throw new Error("type requires a string `text` \u2014 pass it nested, as args: { text: '\u2026' }.");return nb(t,"type"),t.focus(),Kf(t,t.value+n.text)}throw tb(t,"type into"),new Error(`cannot type into a <${t.tagName.toLowerCase()}>`);case L.CLEAR:if(Ie(t)||fn(t))return Kf(t,"");throw new Error(`cannot clear a <${t.tagName.toLowerCase()}>`);case L.SELECT:if(ur(t)){if(typeof n.value!="string")throw new Error("select requires a string `value` \u2014 pass it nested, as args: { value: '\u2026' }.");let o=Array.from(t.options),s=zU(o,n.value);if(!o.some(a=>a.value===s)){let a=o.map(l=>`${l.value} (${l.label})`).join(", ");throw new Error(`no <option> with value '${Ms(s)}' \u2014 available: ${o.length===0?"(none)":a}`)}return t.value=s,t.dispatchEvent(new Event("change",{bubbles:!0})),!1}throw new Error(`cannot select on a <${t.tagName.toLowerCase()}>`);case L.CHECK:case L.UNCHECK:{let o=qf(t);if(!Ie(t)&&!o)throw new Error(`cannot (un)check a <${t.tagName.toLowerCase()}>`);if(!KN(t))throw new Error(`cannot ${e} a disabled control \u2014 a real user could not, so neither will Reticle`);if(!Ie(t))return Zf(t,e)?!1:(await tu(t)).prevented;if(t.type==="radio"&&e===L.UNCHECK)throw new Error("cannot uncheck a radio button \u2014 a real user could not; select another radio in the group");if(Zf(t,e))return!1;let s=wi(t,"click",{bubbles:!0,cancelable:!0,composed:!0});return!qe(()=>t.dispatchEvent(s))||s.defaultPrevented}case L.SUBMIT:{let o=cv(t)?t:t.closest("form");if(o===null)throw new Error("no form to submit");return o.requestSubmit(),!1}case L.PRESS:{let o=xN(n),s=vN(n);if(s.length>0)return await NN(t,s,o,nc(n.holdMs));let a=Jf(n),l=Qf(n,a),d=qe(()=>t.dispatchEvent(Zd("keydown",{key:a,code:l,bubbles:!0,cancelable:!0,...o})));db(t,a,d),d&&eh(t,a,l,o);let u=nc(n.holdMs);return u>0&&await RN(t,a,l,o,u),qe(()=>t.dispatchEvent(Zd("keyup",{key:a,code:l,bubbles:!0,...o}))),!d}case L.SCROLL_INTO_VIEW:return t.scrollIntoView(),!1;case L.ZOOM:throw new Error(XU);case L.SCROLL:{let o=mb(n.dy),s=mb(n.dx),a=mb(n.fraction);return hb(t,o,a,s),!1}case L.UPLOAD:{if(!Ie(t)||t.type!=="file")throw new Error('upload target must be a <input type="file">');KU(n);let o=nu(n.content,"reticle test file"),s=o;if(n.__base64===!0){let u=atob(o),p=new Uint8Array(u.length);for(let h=0;h<u.length;h++)p[h]=u.charCodeAt(h);s=p.buffer.slice(0)}let a=new File([s],nu(n.name,"file.txt"),{type:nu(n.type,"text/plain")}),l=new DataTransfer;l.items.add(a),t.files=l.files;let d=t.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}));return t.dispatchEvent(new Event("change",{bubbles:!0})),!d}case L.DRAG:{let o=jN(n);if(o==="")return await fb(t,null,n.data);let s=X.resolve(o);if(!Si(s))throw new Error(`drag target '${Ms(o)}' did not resolve to an element \u2014 pass a ref from reticle_snapshot or reticle_query as args.toRef (alias: args.target)`);return await fb(t,s,n.data)}default:throw new Error(`unknown action '${e}'`)}}async function ru(t,e,n={}){let r=0<t.length,o=yN(t,e,n)?AN():GU(t);r&&WU(o,e,n),r&&$N(o);let s=r?ON(o):{},a=Pt(o),l=KN(o),d=BN(o),u=GN(o),p=uN(o),h=VN.has(e)?DN(o):Qd,m=Zf(o,e),g=UN(o,e),T=0,_=new Xf,A=new MutationObserver(Ae=>{T+=Ae.length,_.collect(Ae)});A.observe(o.ownerDocument.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0});let N=!1,y=0,v=!1,O=null;try{let Ae=await YU(o,e,n);N=Ae.prevented,y=Ae.heldMs}finally{let Ae=sN(n.settleMs),rt=await iN(Ae);v=rt.settled,O=rt.settled?null:C_.TIMEOUT,A.disconnect(),p==null||p.stop()}EN(o,e,m);let j=GN(o);pN(o,p);let Y=BN(o),te={dispatched:!0,targetMatched:r&&o.isConnected,visible:a,enabled:l,defaultPrevented:N,focusMoved:d!==Y?`${d!=null?d:"null"}->${Y!=null?Y:"null"}`:null,valueChanged:VU(e)?u!==j:!1,...L.FILL===e&&eb(o)?{autofillSafe:!0}:{},domMutatedWithin:T,..._.effect(j),occluded:h.occluded,occludedBy:h.occludedBy,scrolledIntoView:h.scrolledIntoView,...h.occluderName===void 0?{}:{occluderName:h.occluderName},...h.noSize===!0?{noSize:!0}:{},...h.offViewport===!0?{offViewport:!0}:{},...y>0?{heldMs:y}:{},...m?{alreadyAtValue:!0}:{},...ZU()},Ce=r?h.occluded?ad.CLICK_OCCLUDED:e===L.HOVER&&wf(o)?ad.HOVER_NATIVE_ENTER_LEAVE:g?ad.CLICK_NOT_A_CONTROL:void 0:ad.GLOBAL_PRESS,je=IN(t,e,te,v,O,s,Ce);return jr(o)?{...je,reticleUi:!0}:je}function ZU(){let t=wN(document);return t>0?{canvases:t}:{}}var gb=t=>new Promise(e=>oe(e,t));async function rh(t){var r;let e=[],n=[];for(let o of t){let s=await ru(o.ref,o.action,(r=o.args)!=null?r:{});e.push(s.effect);let a={ref:s.ref,action:s.action,dispatched:s.dispatched,settled:s.settled,settleReason:s.settleReason};s.testid!==void 0&&(a.testid=s.testid),s.component!==void 0&&(a.component=s.component),s.role!==void 0&&(a.role=s.role),s.name!==void 0&&(a.name=s.name),s.source!==void 0&&(a.source=s.source),s.secret!==void 0&&(a.secret=s.secret),s.warning!==void 0&&(a.warning=s.warning),n.push(a)}return{ok:!0,count:t.length,effects:e,steps:n}}mt();Hd();var WN="data-theme";function QU(t){return"cssRules"in t&&t.cssRules instanceof CSSRuleList}function XN(t,e,n){if(!(n<=0))for(let r of Array.from(t))if(r instanceof CSSStyleRule)for(let o of Array.from(r.style))o.startsWith("--")&&e.add(o);else QU(r)&&XN(r.cssRules,e,n-1)}function JU(){let t=new Set;for(let e of Array.from(document.styleSheets)){let n=null;try{n=e.cssRules}catch{continue}n!==null&&XN(n,t,8)}return t}function eF(){var o;let t=new Map,e=(o=document.body)!=null?o:document.documentElement;if(e===null)return t;let n=getComputedStyle(e),r=document.createElement("span");r.style.position="absolute",r.style.pointerEvents="none",document.body.appendChild(r);try{for(let s of JU()){let a=tF(r,n.getPropertyValue(s).trim());if(a===null)continue;let l=t.get(a);l===void 0?t.set(a,[s]):l.push(s)}}finally{r.remove()}for(let s of t.values())s.sort();return t}function tF(t,e){return e.length===0||(t.style.color="",t.style.color=e,t.style.color==="")?null:getComputedStyle(t).color}function zN(t){return t==="rgba(0, 0, 0, 0)"||t==="transparent"}function nF(){let t=document.documentElement;if(t===null)return null;let e=Array.from(t.classList).map(o=>`.${o}`).join(""),n=t.getAttribute(WN),r=`${e}${n===null?"":`[${WN}="${n}"]`}`;return r.length===0?null:r}function YN(t){var e;return t.length===1&&(e=t[0])!=null?e:null}function qN(t){var l,d;let e=eF(),n=(l=e.get(t.color))!=null?l:[],r=(d=e.get(t.backgroundColor))!=null?d:[],o=!zN(t.color)&&n.length===0,s=!zN(t.backgroundColor)&&r.length===0,a=0;for(let u of e.values())a+=u.length;return{colorToken:YN(n),colorTokens:n,backgroundToken:YN(r),backgroundTokens:r,offTheme:a>0&&(o||s),tokenCount:a,themeScope:nF()}}lt();Rn();D();pr();Kr();function ou(t){try{return t()}catch{return null}}function oh(t){var n;let e={};if(t===null)return e;for(let r=0;r<t.length;r+=1){let o=t.key(r);if(o===null)continue;let s=(n=t.getItem(o))!=null?n:"";e[o]=it(o)?ye:Fr(s)}return e}function ZN(){let t={},e="";try{e=typeof document!="undefined"?document.cookie:""}catch{return t}for(let n of e.split(";")){let r=n.indexOf("=");if(r===-1)continue;let o=n.slice(0,r).trim();if(o==="")continue;if(it(o)){t[o]=ye;continue}let s="";try{s=decodeURIComponent(n.slice(r+1).trim())}catch{s=n.slice(r+1).trim()}t[o]=Fr(s)}return t}function QN(t){return t===Ls.LOCAL?oh(ou(()=>window.localStorage)):t===Ls.SESSION?oh(ou(()=>window.sessionStorage)):Ls.COOKIE===t?ZN():{local:oh(ou(()=>window.localStorage)),session:oh(ou(()=>window.sessionStorage)),cookies:ZN()}}function Us(t,e){if(e!==null)return it(t)?ye:Fr(e)}function JN(t){var p,h,m;if(typeof Storage=="undefined")return()=>{};let e=Storage.prototype,n=(p=Object.getOwnPropertyDescriptor(e,"setItem"))==null?void 0:p.value,r=(h=Object.getOwnPropertyDescriptor(e,"removeItem"))==null?void 0:h.value,o=(m=Object.getOwnPropertyDescriptor(e,"clear"))==null?void 0:m.value;if(n===void 0||r===void 0||o===void 0)return()=>{};let s=g=>g===ou(()=>window.sessionStorage)?Ls.SESSION:Ls.LOCAL,a=(g,T)=>{try{return g.getItem(T)}catch{return null}},l=function(g,T){var A;let _=(A=Mt(()=>a(this,g)))!=null?A:null;n.call(this,g,T),_!==T&&(Sf(g)||Z(()=>{var N;t(x.STORAGE_CHANGE,{area:s(this),key:g,...Us(g,_)===void 0?{}:{old:Us(g,_)},new:(N=Us(g,T))!=null?N:ye})}))};e.setItem=l;let d=function(g){var _;let T=(_=Mt(()=>a(this,g)))!=null?_:null;r.call(this,g),!Sf(g)&&Z(()=>{t(x.STORAGE_CHANGE,{area:s(this),key:g,...Us(g,T)===void 0?{}:{old:Us(g,T)}})})};e.removeItem=d;let u=function(){let g=s(this),T=[];try{for(let _=0;_<this.length;_+=1){let A=this.key(_);A!==null&&!Sf(A)&&T.push({key:A,old:a(this,A)})}}catch{}o.call(this);for(let{key:_,old:A}of T)Z(()=>{t(x.STORAGE_CHANGE,{area:g,key:_,...Us(_,A)===void 0?{}:{old:Us(_,A)}})})};return e.clear=u,()=>{e.setItem===l&&(e.setItem=n),e.removeItem===d&&(e.removeItem=r),e.clear===u&&(e.clear=o)}}D();lt();dt();var _c=16,rF=500,oF=4,iF=2166136261,sF=16777619,aF=8;function cF(t){var s,a;let e=iF,n=[0,0,0],r=Math.max(1,t.length/4);for(let l=0;l<t.length;l+=4)for(let d=0;d<3;d+=1){let u=(s=t[l+d])!=null?s:0;n[d]=((a=n[d])!=null?a:0)+u,e=Math.imul(e^Math.floor(u/aF),sF)>>>0}let o=n.map(l=>Math.round(l/r));return{digest:e.toString(16).padStart(8,"0"),mean:o}}function lF(t){if(t.width===0||t.height===0)return;let e=document.createElement("canvas");e.width=_c,e.height=_c;let n=e.getContext("2d");if(n===null)return;let r=Mt(()=>(n.drawImage(t,0,0,_c,_c),n.getImageData(0,0,_c,_c).data));return r===void 0?void 0:{data:r,width:t.width,height:t.height}}var xc;function Eb(){xc==null||xc(xs.ACT)}function ew(t,e={}){var l,d;let n=(l=e.sample)!=null?l:lF,r=(d=e.every)!=null?d:zf,o=new WeakMap,s=u=>{Z(()=>{let p=Array.from(document.querySelectorAll("canvas")).slice(0,oF);for(let h of p){let m=n(h);if(m===void 0)continue;let{digest:g,mean:T}=cF(m.data);xs.POLL===u&&o.get(h)===g||(o.set(h,g),t(x.CANVAS_DIGEST,{digest:g,width:m.width,height:m.height,mean:T,trigger:u},X.refFor(h)))}})};xc=s;let a=r(()=>s(xs.POLL),rF);return()=>{a(),xc===s&&(xc=void 0)}}D();dt();Ye();var dF=Xa.FULL_PAGE_UNSUPPORTED,uF=[dF,Xa.NOT_COMPOSITED],pF="__TAURI_INTERNALS__";function fF(){let t=window[pF];if(typeof(t==null?void 0:t.invoke)!="function")return;let e=t.invoke.bind(t);return async n=>{let r=await e(df,{fullPage:n===!0});return typeof r=="string"?r:null}}async function hF(t){let e=[...document.querySelectorAll(Ei)],n=e.map(r=>r.style.visibility);for(let r of e)r.style.visibility="hidden";try{return e.length>0&&(await Ri(),await Ri()),await t()}finally{e.forEach((r,o)=>{var s;r.style.visibility=(s=n[o])!=null?s:""})}}async function tw(t=!1){let e=window[Ro],n=typeof(e==null?void 0:e.capture)=="function"?e.capture:fF();if(n===void 0)return{ok:!1,reason:"no desktop capture helper installed"};try{let r=await hF(()=>n(t));return typeof r=="string"&&r.length>0?{ok:!0,path:r}:{ok:!1,reason:"capture returned no image"}}catch(r){let o=r instanceof Error?r.message:String(r);for(let s of uF)if(o.includes(s))return{ok:!1,reason:s};return{ok:!1,reason:o}}}ko();$s();pr();vi();function mF(t,e){var n;return(n=Object.getOwnPropertyDescriptor(t,e))==null?void 0:n.value}function mr(t,e){let n=mF(t,e);if(n===void 0)throw new Error(`[Reticle] cannot patch ${String(e)}: it is not an own property of the target`);return n}wo();var gF=12e4,yc=!1,Mo=0,nw=0,rw=1,Po=[],Ac=null,Fs,ih={};function ow(){if(Ac===null)return;let t=Ac,e=t.clearTimeout.bind(window);Fs!==void 0&&e(Fs),Fs=t.setTimeout.bind(window)(()=>{Fs=void 0,vc()},gF)}function iw(){return yc}function sw(){if(yc||typeof window=="undefined")return;yc=!0,Mo=0,nw=Date.now(),Ac={setTimeout:mr(window,"setTimeout"),clearTimeout:mr(window,"clearTimeout"),setInterval:mr(window,"setInterval"),clearInterval:mr(window,"clearInterval"),dateNow:mr(Date,"now")};let t=(r,o,s)=>{let a=rw;return rw+=1,Po.push({id:a,time:Mo+Math.max(0,o),cb:r,interval:s}),a},e=r=>{Po=Po.filter(o=>o.id!==r)},n=(r,o)=>()=>{r(...o)};window.setTimeout=((r,o=0,...s)=>t(n(r,s),o)),window.clearTimeout=(r=>e(r)),window.setInterval=((r,o=0,...s)=>t(n(r,s),o,Math.max(1,o))),window.clearInterval=(r=>e(r)),ih={setTimeout:ve(window,"setTimeout"),clearTimeout:ve(window,"clearTimeout"),setInterval:ve(window,"setInterval"),clearInterval:ve(window,"clearInterval")},Date.now=()=>nw+Mo,ih.dateNow=ve(Date,"now"),ow()}function aw(t){if(!yc)return;let e=Mo+Math.max(0,t),n=0;for(;n+=1,!(n>1e5);){let o=Po.filter(s=>s.time<=e).sort((s,a)=>s.time-a.time)[0];if(o===void 0)break;Po=Po.filter(s=>s!==o),Mo=o.time,o.cb(),o.interval!==void 0&&Po.push({...o,time:Mo+o.interval})}Mo=e,ow()}function vc(){if(!yc||Ac===null)return;let t=Ac,e=Po;Fs!==void 0&&(t.clearTimeout.bind(window)(Fs),Fs=void 0);let n=ih;ih={},window.setTimeout===n.setTimeout&&(window.setTimeout=t.setTimeout),window.clearTimeout===n.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.setInterval===n.setInterval&&(window.setInterval=t.setInterval),window.clearInterval===n.clearInterval&&(window.clearInterval=t.clearInterval),Date.now===n.dateNow&&(Date.now=t.dateNow);let r=Mo;if(Ac=null,Po=[],yc=!1,Mo=0,e.length===0)return;let o=t.setTimeout.bind(window),s=t.setInterval.bind(window),a=new Map,l={},d=u=>{a.delete(u),a.size===0&&l.current!==void 0&&bF(t,l.current)};for(let u of e)u.interval!==void 0?a.set(u.id,s(u.cb,u.interval)):a.set(u.id,o(()=>{d(u.id),u.cb()},Math.max(0,u.time-r)));l.current=EF(a,t,d)}function EF(t,e,n){let r=o=>{let s=o.bind(window);return(a=>{let l=t.get(a);if(l===void 0){s(a);return}s(l),n(a)})};return window.clearTimeout=r(e.clearTimeout),window.clearInterval=r(e.clearInterval),{clearTimeout:ve(window,"clearTimeout"),clearInterval:ve(window,"clearInterval")}}function bF(t,e){window.clearTimeout===e.clearTimeout&&(window.clearTimeout=t.clearTimeout),window.clearInterval===e.clearInterval&&(window.clearInterval=t.clearInterval)}var sh="_reticle_reload";function Fe(t){return typeof t=="string"?t:void 0}function mw(t){return typeof t=="number"?t:void 0}function fw(t){return typeof t=="object"&&t!==null?t:{}}function DF(t){if(typeof t!="object"||t===null)return;let e=t;if(!(typeof e.file!="string"||typeof e.line!="number"))return{file:e.file,line:e.line,column:mw(e.column)}}function MF(t){return{by:Fe(t.by),value:Fe(t.value),role:Fe(t.role),name:Fe(t.name),text:Fe(t.text),label:Fe(t.label),placeholder:Fe(t.placeholder),testid:Fe(t.testid),alt:Fe(t.alt),component:Fe(t.component),scope:Fe(t.scope),self:t.self===!0?!0:void 0,attrs:Array.isArray(t.attrs)?t.attrs.filter(e=>typeof e=="string"):void 0,source:DF(t.source)}}function PF(t,e=!1){var g,T,_,A,N,y,v;let n=X.resolve(t);if(n===null)throw new Error(Gd.staleRefMessage(t));let r=e&&typeof n.scrollIntoView=="function"&&eu(n,n.getBoundingClientRect());r&&n.scrollIntoView({block:"center",inline:"center"});let o=n.getBoundingClientRect(),s=Wn(n),a=n.ownerDocument.defaultView,l=a!==null?a.getComputedStyle(n):null,d=l!==null?{color:l.color,backgroundColor:l.backgroundColor,opacity:l.opacity,cursor:l.cursor,display:l.display,visibility:l.visibility}:null,u=yf(Af(n,s==null?void 0:s.source)),p=u!==void 0?void 0:Tv(n.ownerDocument)?"This element has no source stamp. Others on the page do, so the stamping loader is running \u2014 the nearest stamped ancestor is out of range, or this element is rendered outside instrumented code.":"No element in this document carries a source stamp, so the stamping loader is not running: an older adapter, a bundler whose hook never ran, or a build the plugin was dropped from. Add @reticlehq/vite-plugin (or @reticlehq/babel-plugin) to the dev build and restart the dev server to get `file:line` back.",h={scrollTop:n.scrollTop,scrollHeight:n.scrollHeight,clientHeight:n.clientHeight,overflowY:(g=l==null?void 0:l.overflowY)!=null?g:"visible",scrollLeft:n.scrollLeft,scrollWidth:n.scrollWidth,clientWidth:n.clientWidth,overflowX:(T=l==null?void 0:l.overflowX)!=null?T:"visible"},m=hv(n);return{...Yr(n),...u!==void 0?{source:u}:{},...m.length>0?{paintContext:m}:{},...p!==void 0?{sourceUnavailable:p}:{},tag:n.tagName.toLowerCase(),href:(_=n.getAttribute("href"))!=null?_:void 0,formAction:(wd(n)||Ie(n))&&(N=(A=n.form)==null?void 0:A.getAttribute("action"))!=null?N:void 0,formText:(wd(n)||Ie(n))&&(v=(y=n.form)==null?void 0:y.textContent)!=null?v:void 0,box:{x:o.x,y:o.y,width:o.width,height:o.height},...r?{scrolledIntoView:!0}:{},...e?{[w_]:!eu(n,o)}:{},occluded:$F(n,o),styles:d,scroll:h,theme:l!==null?qN(l):null,component:s}}function $F(t,e){return th(t,e)!==null}function HF(t){return typeof t=="object"&&t!==null&&"ok"in t&&typeof t.ok=="boolean"}var hw={ok:!1,reason:L_.UNAVAILABLE};function UF(t,e,n,r){let o=Ai();if(n!==void 0||r!==void 0){let d=KE(e);if(e!==void 0&&!Object.hasOwn(d,e))return{store:e,path:n,found:!1,value:null,storeNames:o};let u=e!==void 0?d[e]:{stores:d,storeNames:o},p=n!==void 0?XA(u,n):{found:!0,value:u},h=p.found&&r!==void 0?sc(p.value,r):p.value,m=Pd(h);return{store:e,path:n,found:p.found,value:m.value,...m.truncation===void 0?{}:{truncation:m.truncation},..."availableKeys"in p?{availableKeys:p.availableKeys}:{},..."totalKeys"in p?{totalKeys:p.totalKeys}:{},storeNames:o}}let{stores:s,truncation:a}=Kd(e),l={stores:s,storeNames:o};if(a!==void 0&&(l.truncation=a),t!==void 0&&t.length>0){let d=X.resolve(t);if(d===null)l.component=hw;else{let u=Nf(d);l.component=HF(u)?u:hw}}return l}function FF(){let t=document;return typeof t.getAnimations!="function"?{animations:[]}:{animations:t.getAnimations().map(n=>{var a;let r=n.effect,o=r==null?void 0:r.getTiming(),s=(a=r==null?void 0:r.target)!=null?a:null;return{playState:n.playState,currentTime:n.currentTime,duration:o==null?void 0:o.duration,target:s===null?null:Yr(s)}})}}function GF(t,e){if(t.length===0||t.length>G.MAX_URL_LENGTH)return null;try{let n=new URL(t,e);return n.protocol==="http:"||n.protocol==="https:"?n.toString():null}catch{return null}}function gw(){let t=new Map;return t.set(k.SNAPSHOT,e=>{var n;return Lf({scope:Fe(e.scope),mode:(n=Fe(e.mode))!=null?n:Za.FULL,includeRoot:e.includeRoot===!0,ids:e.ids===!0,audit:e.audit===!0})}),t.set(k.QUERY,e=>{let n=e.limit;return Vf(MF(e),typeof n=="number"?n:void 0)}),t.set(k.MATCH,e=>Yd(dd.parse(fw(e.query)),Fe(e.state),void 0,void 0,e.diagnose===!0)),t.set(k.ACT,async e=>{var o,s;let n=(o=Fe(e.action))!=null?o:"",r=await ru((s=Fe(e.ref))!=null?s:"",n,fw(e.args));return Eb(),r}),t.set(k.ACT_SEQUENCE,async e=>{let n=await rh(Array.isArray(e.steps)?e.steps:[]);return Eb(),n}),t.set(k.INSPECT,e=>{var n;return PF((n=Fe(e.ref))!=null?n:"",e[N_]===!0)}),t.set(k.ANIMATIONS,()=>FF()),t.set(k.CLOCK,e=>{if(e.reset===!0)vc();else{e.freeze===!0&&sw();let n=e.advanceMs;typeof n=="number"&&aw(n)}return{frozen:iw()}}),t.set(k.STATE_READ,e=>UF(Fe(e.ref),Fe(e.store),Fe(e.path),mw(e.depth))),t.set(k.STORAGE_READ,e=>QN(Fe(e.area))),t.set(k.CAPABILITIES,()=>yi()),t.set(k.CAPTURE,e=>tw(e.fullPage===!0)),t.set(k.RENDER,()=>Promise.resolve().then(()=>(pw(),uw)).then(e=>e.renderPage())),t.set(k.SCROLL,e=>{let n=e.dy,r=e.fraction;return HN(Fe(e.ref),typeof n=="number"?n:void 0,typeof r=="number"?r:void 0)}),t.set(k.NAVIGATE,e=>{let n=Fe(e.url);if(n===void 0||n.length===0)return{ok:!1,reason:"url required"};let r=GF(n,window.location.href);return r===null?{ok:!1,reason:"only http(s) navigation is allowed"}:(window.location.assign(r),{ok:!0,url:r})}),t.set(k.REFRESH,e=>{if(e.hard===!0){let n=new URL(window.location.href);n.searchParams.set(sh,String(Date.now())),window.location.replace(n.toString())}else window.location.reload();return{ok:!0}}),t}D();dt();jd();pr();function BF(t){if(typeof document=="undefined")return()=>{};let e=()=>{document.visibilityState==="visible"&&t()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)}var ah=1e3,VF=3e4;function jF(t){return Math.min(t*2,VF)}var KF=500,WF=1008,zF=3,$t,$o,Oi,lh,Xr,Ii,Nc,wc,Ci,Oc,su,Ic,au,Cc,Gs,Lc,kc,Qt,cu,Re,Ew,Rc,bb,bw,Tb,Sb,Tw,iu,Sw,ch=class{constructor(e){b(this,Re);b(this,$t);b(this,$o,[]);b(this,Oi,[]);b(this,lh,0);b(this,Xr,!1);b(this,Ii,!1);b(this,Nc,!1);b(this,wc);b(this,Ci,ah);b(this,Oc,!1);b(this,su,!1);b(this,Ic,0);b(this,au,!1);b(this,Cc,0);b(this,Gs);b(this,Lc);b(this,kc);b(this,Qt);b(this,cu);var n;f(this,Qt,e),f(this,cu,(n=e.now)!=null?n:Wf)}connect(){var e,n;typeof WebSocket!="undefined"&&(f(this,Xr,!1),(n=c(this,kc))!=null||f(this,kc,((e=c(this,Qt).onVisible)!=null?e:BF)(()=>E(this,Re,Ew).call(this))),E(this,Re,Rc).call(this))}sendEvent(e){E(this,Re,iu).call(this,Wr({kind:Kt.EVENT,event:e}),{seq:e.seq,t:e.t,type:e.type})}redialAfterRefusal(){if(!c(this,Xr)){if(c(this,Ii)&&c(this,$t)===void 0){f(this,Ii,!1),f(this,Ci,ah),E(this,Re,Rc).call(this);return}f(this,Nc,!0)}}reannounce(){c(this,$t)===void 0||c(this,$t).readyState!==WebSocket.OPEN||c(this,$t).send(JSON.stringify(c(this,Qt).hello()))}close(){var e,n;f(this,Xr,!0),(e=c(this,kc))==null||e.call(this),f(this,kc,void 0),(n=c(this,$t))==null||n.close(),f(this,$t,void 0)}};$t=new WeakMap,$o=new WeakMap,Oi=new WeakMap,lh=new WeakMap,Xr=new WeakMap,Ii=new WeakMap,Nc=new WeakMap,wc=new WeakMap,Ci=new WeakMap,Oc=new WeakMap,su=new WeakMap,Ic=new WeakMap,au=new WeakMap,Cc=new WeakMap,Gs=new WeakMap,Lc=new WeakMap,kc=new WeakMap,Qt=new WeakMap,cu=new WeakMap,Re=new WeakSet,Ew=function(){c(this,Xr)||(f(this,Ci,ah),c(this,$t)===void 0&&(f(this,Ii,!1),E(this,Re,Rc).call(this)))},Rc=function(){let e;try{e=new WebSocket(c(this,Qt).url)}catch{E(this,Re,Sb).call(this),E(this,Re,Tb).call(this),E(this,Re,bb).call(this);return}f(this,$t,e),e.onopen=()=>{var o,s,a;f(this,wc,void 0),f(this,Oc,!1),f(this,su,!0),f(this,Ci,ah);let n=c(this,Qt).hello();(o=c(this,Lc))!=null||f(this,Lc,n.sessionId),e.send(JSON.stringify(n)),E(this,Re,Sw).call(this,e,n.sessionId);let r=[...c(this,$o),...c(this,Oi)].sort((l,d)=>l.order-d.order);for(let l of r)e.send(l.text);f(this,$o,[]),f(this,Oi,[]),(a=(s=c(this,Qt)).onConnected)==null||a.call(s)},e.onmessage=n=>{let r=n.data;E(this,Re,Tw).call(this,typeof r=="string"?r:String(r))},e.onclose=n=>{var r,o;if(f(this,$t,void 0),n.code===WF){if(c(this,Nc)&&!c(this,Xr)){f(this,Nc,!1),E(this,Re,Rc).call(this);return}f(this,Ii,!0);let s=n.reason.length>0?n.reason:"policy violation";fr(`[reticle] bridge refused the connection: ${s} \u2014 not retrying until you come back to this tab.`),(o=(r=c(this,Qt)).onConnectionLost)==null||o.call(r);return}E(this,Re,Sb).call(this),E(this,Re,Tb).call(this),E(this,Re,bb).call(this)},e.onerror=()=>{e.close()}},bb=function(){var r;if(c(this,Xr)||c(this,Ii))return;let e=c(this,Ci);f(this,Ci,jF(e)),((r=c(this,Qt).schedule)!=null?r:oe)(()=>E(this,Re,bw).call(this),e)},bw=function(){c(this,Xr)||c(this,$t)!==void 0||E(this,Re,Rc).call(this)},Tb=function(){var e,n;c(this,su)||c(this,au)||(f(this,Ic,c(this,Ic)+1),c(this,Ic)>=zF&&(f(this,au,!0),(n=(e=c(this,Qt)).onUnreachable)==null||n.call(e,{url:c(this,Qt).url,attempts:c(this,Ic)})))},Sb=function(){var n,r,o;let e=c(this,cu).call(this);(n=c(this,wc))!=null||f(this,wc,e),!c(this,Oc)&&e-c(this,wc)>=Bx.BRIDGE_LOST_MS&&(f(this,Oc,!0),(o=(r=c(this,Qt)).onConnectionLost)==null||o.call(r))},Tw=async function(e){var a;let n;try{n=JSON.parse(e)}catch{return}let r=Qg.safeParse(n);if(!r.success){let l=n==null?void 0:n.id;typeof l=="string"&&l.length>0&&E(this,Re,iu).call(this,Wr({kind:Kt.COMMAND_RESULT,id:l,ok:!1,error:"this page could not parse the command \u2014 the @reticlehq/browser SDK and the daemon are probably different versions. Nothing ran."}));return}let o=r.data;if(o.sessionId!==void 0&&o.sessionId!==c(this,Lc)){E(this,Re,iu).call(this,Wr({kind:Kt.COMMAND_RESULT,id:o.id,ok:!1,error:`command addressed to session ${o.sessionId} but this page is ${(a=c(this,Lc))!=null?a:"(none)"} \u2014 the page reconnected under a new id, or two sessions share a socket. Nothing ran.`}));return}let s;try{s=await c(this,Qt).handleCommand(o)}catch(l){s={ok:!1,error:l instanceof Error?l.message:String(l)}}E(this,Re,iu).call(this,Wr({kind:Kt.COMMAND_RESULT,id:o.id,ok:s.ok,result:s.result,error:s.error}))},iu=function(e,n){if(c(this,$t)!==void 0&&c(this,$t).readyState===WebSocket.OPEN){c(this,$t).send(e);return}if(c(this,$o).length+c(this,Oi).length>=KF){let s=c(this,$o).length>0?c(this,$o).shift():c(this,Oi).shift();if((s==null?void 0:s.event)!==void 0){f(this,Cc,c(this,Cc)+1);let a=c(this,Gs);(a===void 0||s.event.t<a.t)&&f(this,Gs,s.event)}}let r=n!==void 0&&Cx.has(n.type),o=e_(this,lh)._++;r?c(this,$o).push({text:e,event:n,order:o}):c(this,Oi).push({text:e,event:n,order:o})},Sw=function(e,n){let r=c(this,Gs);if(r===void 0)return;let o={t:r.t,seq:r.seq,type:x.TRANSPORT_OVERFLOW,sessionId:n,data:{dropped:c(this,Cc)}};e.send(Wr({kind:Kt.EVENT,event:o})),f(this,Gs,void 0),f(this,Cc,0)};_b();ko();D();$s();function xw(){let t=[R.UI,R.NET,R.LOG,R.ROUTE,R.STORAGE,R.TIME,R.SIGNAL];return Ai().length>0?[...t,R.STATE]:t}D();var YF="__TAURI_INTERNALS__";function Aw(){if(typeof window=="undefined")return Gr.SERVICE;let t=window;return t[Ro]!==void 0||t[YF]!==void 0?Gr.WEBVIEW:Gr.WEB}var XF=[k.SNAPSHOT,k.QUERY,k.MATCH,k.INSPECT,k.ACT,k.ACT_SEQUENCE,k.ANIMATIONS,k.NARRATE,k.CLOCK,k.CAPABILITIES,k.STATE_READ,k.STORAGE_READ,k.SCROLL,k.SESSION_CONFIG,k.PRESENTER,k.IMPACT,k.CAPTURE,k.RENDER,k.NAVIGATE,k.REFRESH,k.FLOWS,k.FLOW_PROGRESS,k.PLAN,k.MARKERS];function yw(){return[...XF]}vi();xt();D();mt();lt();Ye();Oo();Rn();function qF(t){var e,n;try{return(n=(e=t.contentDocument)==null?void 0:e.body)!=null?n:null}catch{return null}}function xb(t){let e=[],n=(r,o)=>{if(!(o>=3))for(let s of r.querySelectorAll("iframe")){let a=qF(s);a!==null&&(e.push(a),n(a,o+1))}};return n(t,0),e}function vw(t){let e=new AbortController,n=()=>{for(let o of xb(document))t(o)};n();let r=o=>{o.target instanceof HTMLIFrameElement&&n()};return document.addEventListener("load",r,{capture:!0,signal:e.signal}),()=>e.abort()}function Rw(t){var r;let e=pn(t)?t:null;if(e===null)return;let n=e.closest(Kn());return(r=n?Te(n):null)!=null?r:X.refFor(e)}var ZF=["class","hidden","disabled","open","aria-hidden","aria-expanded","aria-selected","aria-checked","data-state","style","src","href","value"],Nw=120;function uh(t){if(t!==null)return t.length>Nw?`${t.slice(0,Nw)}\u2026`:t}var QF=new Set(["dialog","alertdialog"]),JF=new Set(["alert","status"]),lu=40;function ww(t,e){return t!=="generic"||e.length>0}var eG=40;function Ow(t){let e=Ne(t),n=Se(t);if(ww(e,n))return{role:e,name:n,el:t};let r=0;for(let o of t.querySelectorAll("*")){if(r>=eG)return;if(r+=1,bi(o))continue;let s=Ne(o),a=Se(o);if(ww(s,a))return{role:s,name:a,el:o}}}var tG=3;function Ab(t){var r;let e="";for(let o of t)o.nodeType===tG&&(e+=(r=o.nodeValue)!=null?r:"");let n=e.trim();return n.length>0?n:void 0}var nG=new Set(["class","style","type","disabled","readonly","required","hidden"]);function rG(t,e){return!nG.has(e)&&!e.startsWith("aria-")&&Zt(t)}var oG=3,iG=50;function sG(t){let e=t;for(let n=0;e!==null&&n<=oG;n+=1){let r=Te(e);if(r!==null&&r.length>0)return r;e=e.parentElement}}var Iw=t=>{let e=sG(t);return e===void 0?{}:{testid:e}};function Cw(t){let e=Vy(),n=new MutationObserver(a=>{var m,g,T,_,A,N,y;let l=0,d=0,u=0,p=0,h=0;for(let v of a){if(v.type==="attributes"){let O=v.target;if(pn(O)&&v.attributeName!==null&&!bi(O)){if(u>=lu){h+=1;continue}u+=1;let j=rG(O,v.attributeName),Y=j?ye:uh(O.getAttribute(v.attributeName)),te=j&&v.oldValue!==null?ye:uh(v.oldValue);t(x.DOM_ATTR,{attr:v.attributeName,...Y===void 0?{}:{value:Y},...te===void 0?{}:{old:te}},X.refFor(O))}continue}if(v.type==="characterData"){let O=v.target.parentElement;if(O!==null&&!bi(O)){if(u>=lu){h+=1;continue}u+=1;let j=Zt(O),Y=j?ye:((m=v.target.textContent)!=null?m:"").trim().slice(0,80),te=j?void 0:uh((T=(g=v.oldValue)==null?void 0:g.trim())!=null?T:null);t(x.DOM_TEXT,{text:Y,...te===void 0?{}:{old:te},...Iw(O)},X.refFor(O))}continue}if(Ab(v.addedNodes)!==void 0||Ab(v.removedNodes)!==void 0){let O=pn(v.target)?v.target:null;if(O!==null&&!bi(O))if(u>=lu)h+=1;else{u+=1;let j=Zt(O),Y=j?ye:((_=O.textContent)!=null?_:"").trim().slice(0,80),te=j?void 0:uh((A=Ab(v.removedNodes))!=null?A:null);t(x.DOM_TEXT,{text:Y,...te===void 0?{}:{old:te},...Iw(O)},X.refFor(O))}}for(let O of v.addedNodes){if(!pn(O))continue;if(l>=lu){h+=1;continue}if(bi(O))continue;let j=[O,...Array.from(O.querySelectorAll(Kn()))].filter(Ae=>Te(Ae)!==null);for(let Ae of j){let rt=((N=Ae.textContent)!=null?N:"").trim();if(rt.length===0)continue;if(p>=iG){h+=1;continue}p+=1;let Ot=Zt(Ae)?ye:rt.slice(0,80);t(x.DOM_TEXT,{text:Ot,testid:(y=Te(Ae))!=null?y:"",initial:!0},X.refFor(Ae))}let Y=Ow(O);if(Y===void 0)continue;let{role:te,name:Ce}=Y;l+=1;let je=X.refFor(Y.el);t(x.DOM_ADDED,{role:te,name:Ce,region:Rw(v.target)},je),(QF.has(te)||JF.has(te)||O.getAttribute("aria-modal")==="true")&&Pt(O)&&t(x.VISIBLE_SHOWN,{role:te,name:Ce},je)}for(let O of v.removedNodes){if(!pn(O))continue;if(d>=lu){h+=1;continue}if(bi(O)||pn(v.target)&&bi(v.target))continue;let j=Ow(O);if(j===void 0)continue;let{role:Y,name:te}=j;d+=1,t(x.DOM_REMOVED,{role:Y,name:te,region:Rw(v.target)})}}h>0&&t(x.TRUNCATED,{channel:Bp.DOM,dropped:h})}),r={subtree:!0,childList:!0,attributes:!0,attributeFilter:ZF,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0};n.observe(document.documentElement,r);for(let a of Fy())n.observe(a,r);let o=By(a=>n.observe(a,r)),s=vw(a=>n.observe(a,r));return()=>{s(),o(),e(),n.disconnect()}}D();$s();pr();function Lw(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function aG(t,e){if(!Lw(t)||!Lw(e))return Object.is(t,e)?[]:[{path:"",old:t,new:e}];let n=[];for(let r of new Set([...Object.keys(t),...Object.keys(e)]))Object.is(t[r],e[r])||n.push({path:r,old:t[r],new:e[r]});return n}function kw(t,e){return it(t)?ye:Md(e)}function Dw(t,e){if(Object.is(t,e))return!0;try{return JSON.stringify(t)===JSON.stringify(e)}catch{return!1}}function Mw(t){try{return t()}catch{return}}function Pw(t){let e=new Map,n=([o,s,a])=>{var d;try{(d=e.get(o))==null||d()}catch{}let l=Mw(s);e.set(o,a(()=>{Z(()=>{let u=Mw(s),p=aG(l,u);l=u;for(let h of p){let m=kw(h.path,h.new),g=kw(h.path,h.old);(it(h.path)?Dw(Md(h.old),Md(h.new)):Dw(g,m))||Z(()=>t(x.STATE_CHANGE,{name:o,path:h.path,value:m,old:g}))}})}))};for(let o of yR())n(o);e.size===0&&t(x.BLIND_SPOT,{kind:Yt.UNWATCHED_STATE,count:1});let r=_R(o=>{let s=e.size===0;n(o),s&&e.size>0&&t(x.BLIND_SPOT,{kind:Yt.UNWATCHED_STATE,count:0})});return()=>{r();for(let o of e.values())try{o()}catch{}e.clear()}}D();mt();function Dc(t){if(!(t instanceof Element)||t===document.body)return;let e=Ne(t),n=Se(t);return n.length>0?`${e} "${n}"`:e}function cG(t){return t===null||t===document.body}function $w(t){let e=new AbortController,{signal:n}=e,r=null,o=a=>{let l=a.target,d=r;r=l,t(x.FOCUS_CHANGE,{...Dc(l)===void 0?{}:{to:Dc(l)},...Dc(d)===void 0?{}:{from:Dc(d)},toBody:cG(l)})},s=a=>{if(a.relatedTarget!==null)return;let l=r;r=null,t(x.FOCUS_CHANGE,{...Dc(l)===void 0?{}:{from:Dc(l)},toBody:!0})};return document.addEventListener("focusin",o,{signal:n}),document.addEventListener("focusout",s,{signal:n}),()=>e.abort()}D();function lG(t){let e=t;for(let n=0;n<3;n+=1){let r=Array.from(e.children).filter(s=>s instanceof HTMLElement),o=r.length===1?r[0]:void 0;if(o===void 0||o.offsetHeight<e.scrollHeight*.9)return e;e=o}return e}function dG(t){let e=t.scrollHeight,n=t.clientHeight;if(n<=0||e<n*1.2)return 0;let r=lG(t),o=Array.from(r.children).filter(m=>m instanceof HTMLElement);if(o.length<2)return 0;let s=1/0,a=0,l=0,d=t.getBoundingClientRect(),u=t.offsetHeight>0&&d.height>0?d.height/t.offsetHeight:1;for(let m of o){let g=(m.getBoundingClientRect().top-d.top)/u-t.clientTop+t.scrollTop,T=g+m.offsetHeight;g<s&&(s=g),T>a&&(a=T),l+=m.offsetHeight}let p=Math.max(0,s)+Math.max(0,e-a);if(p<e*.25)return 0;let h=l/o.length;return h<=0?0:Math.round(p/h)}function Hw(){let t=0;for(let e of document.querySelectorAll("*"))e.scrollHeight<=e.clientHeight||(t+=dG(e));return t}Oo();dt();function uG(){var e;let t=0;for(let n of document.querySelectorAll("*"))n.tagName.includes("-")&&n.shadowRoot===null&&(Gy(n)||n.children.length>0||((e=n.textContent)!=null?e:"").trim().length>0||n.offsetHeight<=0&&n.offsetWidth<=0||(t+=1));return t}function pG(t){let e=t.getAttribute("src");if(e===null||e.length===0)return!1;try{return t.contentDocument===null}catch{return!0}}function fG(t){let e=0;for(let n of t)pG(n)&&(e+=1);return e}function hG(){return fG(Array.from(document.querySelectorAll("iframe")))}function mG(){return xb(document).length}var gG=250;function Uw(t){let e=[{kind:Yt.CROSS_ORIGIN_IFRAME,count:hG},{kind:Yt.UNINSTRUMENTED_FRAME,count:mG},{kind:Yt.CLOSED_SHADOW_ROOT,count:uG},{kind:Yt.VIRTUALIZED_UNMOUNTED,count:Hw}],n=new Map,r=()=>{for(let a of e){let l=a.count(),d=n.get(a.kind);l!==d&&(n.set(a.kind,l),(l>0||d!==void 0)&&t(x.BLIND_SPOT,{kind:a.kind,count:l}))}};r();let o,s=new MutationObserver(()=>{o===void 0&&(o=oe(()=>{o=void 0,r()},gG))});return s.observe(document.documentElement,{childList:!0,subtree:!0}),()=>{o!==void 0&&_e(o),s.disconnect()}}D();wo();D();pr();dt();var EG=/application\/json|text\/|application\/xml|x-www-form-urlencoded|graphql/i,Bw=/event-stream|x-ndjson|application\/stream/i,bG=/event-stream/i;function Vw(t,e){return t!==null&&bG.test(t)?!1:e===null}var TG=500;async function jw(t){let e;try{return await Promise.race([t,new Promise(n=>{e=oe(()=>n(void 0),TG)})])}finally{e!==void 0&&_e(e)}}function yb(t){if(t!==null)return Bw.test(t)?pi.STREAMING:pi.NOT_TEXT}function ph(t){return t===null||Bw.test(t)?!1:EG.test(t)}var Kw=8192,SG=262144,_G=256,du=Kw;function Ww(t){Number.isFinite(t)&&(du=Math.min(SG,Math.max(_G,Math.floor(t))))}var xG=Kw*2;function AG(t){let e=du*2;return t?Math.min(e,xG):e}var yG=/\b(Bearer|Basic)\s+(?=[A-Za-z0-9._~+/=-]{16,})(?=[A-Za-z0-9._~+/=-]*[\d._~+/=-])[A-Za-z0-9._~+/=-]+/gi;function Fw(t){return t.replace(yG,(e,n)=>`${n} ${ye}`).replace(/([A-Za-z0-9_.-]+)(\s*[=:]\s*"?)([^&\s,;"}]+)/g,(e,n,r)=>it(n)?`${n}${r}${ye}`:e)}var Gw=4096;function vb(t,e){return e&&t>=400}function Rb(t,e){let n=Li(t,e);return n.body.length<=Gw?n:{body:n.body.slice(0,Gw),truncated:!0}}function Li(t,e){let n=e!==null&&/json|graphql/i.test(e),r=AG(!n),o=t.length>r,s=o?t.slice(0,r):t,a;if(n)try{a=Wr(JSON.parse(s))}catch{a=Fw(s)}else a=Fw(s);a=Fr(a);let l=o||a.length>du;return{body:a.length>du?a.slice(0,du):a,truncated:l}}var vG=/text\/|json|csv|xml|ndjson|javascript/i,RG=2e3;function zw(t,e={}){if(typeof URL.createObjectURL!="function")return()=>{};let n=new AbortController,r=URL.createObjectURL.bind(URL),o=new Map,s=ve(URL,"createObjectURL"),a=function(g){let T=r(g);return Z(()=>{if(typeof Blob!="undefined"&&g instanceof Blob){let _=vG.test(g.type)?g.text().catch(()=>{}):Promise.resolve(void 0);o.set(T,{type:g.type,size:g.size,text:_})}}),T};URL.createObjectURL=a;let l=(m,g)=>{let T=o.get(m);T!==void 0&&(o.delete(m),T.text.then(_=>{Z(()=>{d(T,g,_)})}))},d=(m,g,T)=>{let _={mimeType:m.type,bytes:m.size};if(g!==void 0&&g.length>0&&(_.filename=g),T!==void 0&&(_.lines=T.split(`
|
|
1770
|
+
`).filter(A=>A.length>0).length,e.capturePreview===!0)){let{body:A,truncated:N}=Li(T.slice(0,RG),m.type);_.preview=A,N&&(_.previewTruncated=!0)}t(x.DOWNLOAD,_)},u=m=>{Z(()=>{var _,A;let g=m.target,T=g instanceof Element?g.closest("a[download]"):null;T!==null&&l((_=T.getAttribute("href"))!=null?_:"",(A=T.getAttribute("download"))!=null?A:void 0)})};document.addEventListener("click",u,{capture:!0,signal:n.signal});let p=ve(HTMLAnchorElement.prototype,"click"),h=function(){let g=Mt(()=>{var T,_;return this.hasAttribute("download")?{href:(T=this.getAttribute("href"))!=null?T:"",name:(_=this.getAttribute("download"))!=null?_:void 0}:void 0});p.call(this),Z(()=>{g!==void 0&&l(g.href,g.name)})};return HTMLAnchorElement.prototype.click=h,()=>{n.abort(),URL.createObjectURL===a&&(URL.createObjectURL=s),HTMLAnchorElement.prototype.click===h&&(HTMLAnchorElement.prototype.click=p),o.clear()}}D();wo();function Yw(t){let e=ve(window,"open");if(e===void 0)return()=>{};let r=function(o,s,a){let l=e.call(this,o,s,a);return Z(()=>{t(x.CONTEXT_OPENED,{...o===void 0?{}:{href:o}})}),l};return window.open=r,()=>{window.open===r&&(window.open=e)}}D();wo();D();D();dt();var NG=1e4;function Xw(t,e,n,r,o,s){var d;if(!Vw(o,s)||typeof((d=e.body)==null?void 0:d.getReader)!="function")return;let a;try{a=e.clone()}catch{return}let l=a.body;l!==null&&(t(x.NET_STREAM,{transport:Br.FETCH,direction:Vr.OPEN,...r,id:n}),(async()=>{let u=l.getReader(),p=!1,h,m=new Promise(g=>{h=oe(()=>g("expired"),NG)});try{for(;;){let g=await Promise.race([u.read(),m]);if(g==="expired"){p=!0,u.cancel().catch(()=>{});break}if(g.done)break}}catch{}finally{h!==void 0&&_e(h)}t(x.NET_STREAM,{transport:Br.FETCH,direction:Vr.CLOSE,...r,id:n,...p?{gaveUp:!0}:{}})})())}function wG(t){if(t instanceof ArrayBuffer)return t.byteLength;if(typeof Blob!="undefined"&&t instanceof Blob)return t.size;if(ArrayBuffer.isView(t))return t.byteLength}function Nb(t,e){if(typeof t!="string"){let r=wG(t);return r===void 0?{frameType:typeof t}:{frameType:"binary",frameBytes:r}}let n={frameBytes:t.length};if(e){let{body:r,truncated:o}=Li(t,"application/json");n.frame=r,o&&(n.frameTruncated=!0)}return n}var Mc={NULL:"0",STRING:"s",NUMBER:"n",BOOLEAN:"b",OTHER:"?"};function mh(t){if(t===null)return Mc.NULL;if(Array.isArray(t))return`[${t.map(mh).join(",")}]`;if(typeof t=="object"){let e=t;return`{${Object.keys(e).sort().map(n=>`${n}:${mh(e[n])}`).join(",")}}`}return typeof t=="string"?Mc.STRING:typeof t=="number"?Mc.NUMBER:typeof t=="boolean"?Mc.BOOLEAN:Mc.OTHER}function Ib(t,e){return ac(`${t}#${String(e)}`)}function OG(t){try{return mh(JSON.parse(t))}catch{return Mc.OTHER}}var IG=1<<20,CG=9,LG=10,kG=13,DG=32,MG=127;function PG(t){for(let e=0;e<t.length;e+=1){let n=t.charCodeAt(e);if(n===MG||n<DG&&n!==CG&&n!==LG&&n!==kG)return!0}return!1}function $G(t){if((t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&!(t.byteLength>IG))try{let e=new TextDecoder("utf-8",{fatal:!0}).decode(t);return PG(e)?void 0:e}catch{return}}function HG(t){let e=[],n=0;return t.forEach((r,o)=>{typeof r=="string"&&(n+=r.length),e.push(JSON.stringify([o,typeof r=="string"?0:[r.type,r.size]]))}),e.length===0?void 0:Ib(e.sort().join(),n)}function wb(t,e){let n,r="application/json",o=Ax,s=$G(t),a=()=>{var p,h;return(h=(p=t.constructor)==null?void 0:p.name)!=null?h:typeof t};if(typeof t=="string"||s!==void 0)n=s!=null?s:t,n.length>0&&(o=Ib(OG(n),n.length));else if(typeof FormData!="undefined"&&t instanceof FormData){let p=HG(t);return{...p===void 0?{}:{[fd]:p},...e?{requestBodyType:a()}:{}}}else if(typeof URLSearchParams!="undefined"&&t instanceof URLSearchParams){if(n=t.toString(),r="application/x-www-form-urlencoded",n.length>0){let p=Object.fromEntries(new URLSearchParams(n));o=Ib(mh(p),n.length)}}else if(t!=null)return e?{requestBodyType:a()}:{};let l={[fd]:o};if(!e||n===void 0||n.length===0)return l;let{body:d,truncated:u}=Li(n,r);return u?{...l,requestBody:d,requestBodyTruncated:!0}:{...l,requestBody:d}}function qw(t){return t>=200&&t<400}function Zw(t,e,n){let r={};t!==""&&(r.statusText=t),e!==null&&e!==""&&(r.contentType=e);let o=n!==null?Number.parseInt(n,10):Number.NaN;return Number.isFinite(o)&&(r.responseSize=o),r}function UG(t){return typeof t=="string"?t:t instanceof URL?t.href:t.url}function FG(t,e){return(e==null?void 0:e.method)!==void 0?e.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function GG(t,e){var n,r;if(e!==void 0&&e.headers!==void 0)return(n=Mt(()=>new Headers(e.headers).get(Mg)))!=null?n:void 0;if(t instanceof Request)return(r=Mt(()=>t.headers.get(Mg)))!=null?r:void 0}var BG=/@reticlehq|reticle\.ts|network\.ts|transport\.ts|<anonymous>|new Promise|node:internal/i,VG=/node_modules|\/\.vite\/deps\//i;function jG(t){var r;if(t===void 0)return;let e=t.split(`
|
|
1771
|
+
`).slice(1).map(o=>o.trim()).filter(o=>o.length>0&&!BG.test(o)),n=e.find(o=>!VG.test(o));return(r=n!=null?n:e[0])==null?void 0:r.slice(0,300)}function Ob(){return jG(new Error().stack)}function KG(t){if(t===void 0)return{};let e={};return t.responseStart>0&&t.requestStart>0&&(e.ttfbMs=Math.round(t.responseStart-t.requestStart)),t.transferSize>0&&(e.transferSize=t.transferSize),e}function Qw(t){try{let e=performance.getEntriesByName(t,"resource");return KG(e[e.length-1])}catch{return{}}}function WG(t){try{return new URL(t,location.href).pathname===As}catch{return t.includes(As)}}function zG(t){try{return Function.prototype.toString.call(t).includes("native code")}catch{return!1}}var Jw=new WeakSet,fh=Symbol.for("reticle.network"),hh=()=>window;function eO(t,e={}){var $a,WS,zS;if(hh()[fh]!==void 0)return()=>{};let n={};hh()[fh]=n;let r=e.captureBodies===!0,o=e.captureErrorBodies!==!1,s=e.reinterpret,a=mr(window,"fetch"),l=a.bind(window);!zG(a)&&!Jw.has(a)&&t(x.BLIND_SPOT,{kind:Yt.WRAPPED_NETWORK,count:1});let d=0,u=()=>`n${++d}`;window.fetch=async(Le,fe)=>{var XS,qS,ZS;let ot=UG(Le);if(((XS=e.ignore)==null?void 0:XS.call(e,ot))===!0)return l(Le,fe);let It=u(),Ke=performance.now(),Ct=FG(Le,fe),Lt=GG(Le,fe),ii=Lt===void 0?{}:{[qp]:Lt},is=(qS=Mt(()=>wb(fe==null?void 0:fe.body,r)))!=null?qS:{},To=Ur(ot),wp=To.url,YS=Mt(()=>Ob()),Bm=YS===void 0?{}:{initiatorStack:YS};Z(()=>{t(x.NET_PENDING,{id:It,method:Ct,...To,initiator:"fetch",...Bm})});try{let kt=await l(Le,fe),Tk=performance.now(),Ha=(ZS=Mt(()=>kt.headers.get("content-type")))!=null?ZS:null;Z(()=>{Xw(t,kt,It,To,Ha,kt.headers.get("content-length"))}),Ae.add(ot);let QS=si=>{Z(()=>{var Ql;t(x.NET_REQUEST,{id:It,method:Ct,...To,status:kt.status,ok:qw(kt.status),durationMs:Math.round(Tk-Ke),initiator:"fetch",...Bm,...Qw(ot),...Zw(kt.statusText,Ha,kt.headers.get("content-length")),...is,...ii,...si,...(Ql=s==null?void 0:s(wp,Jl=>kt.headers.get(Jl)))!=null?Ql:{}})})},Sk=vb(kt.status,o);if((r||Sk)&&ph(Ha)){let si;try{si=kt.clone()}catch{}(async()=>{let Ql=r?{responseBodyReason:pi.UNREADABLE}:{};if(si!==void 0)try{let Jl=await jw(si.text());if(Jl!==void 0){let{body:_k,truncated:xk}=r?Li(Jl,Ha):Rb(Jl,Ha);Ql={responseBody:_k,...xk?{responseBodyTruncated:!0}:{},...r?{}:{responseBodyReason:pi.ERROR_STATUS}}}}catch{}try{QS(Ql)}catch{}})().catch(()=>{})}else{let si=r?yb(Ha):void 0;QS(si===void 0?{}:{responseBodyReason:si})}return kt}catch(kt){throw Z(()=>{t(x.NET_REQUEST,{id:It,method:Ct,url:wp,status:0,ok:!1,error:kt instanceof Error?kt.message:String(kt),durationMs:Math.round(performance.now()-Ke),initiator:"fetch",...Bm,...ii})}),kt}};let p=mr(window,"fetch");Jw.add(p);let h=new WeakMap,m=XMLHttpRequest.prototype,g=ve(m,"open"),T=ve(m,"send"),_=g;m.open=function(Le,fe,...ot){Z(()=>{h.set(this,{id:u(),method:Le.toUpperCase(),url:jn(String(fe)),rawUrl:String(fe),start:0})}),_.call(this,Le,fe,...ot)};let A=ve(m,"open"),N=new WeakSet;m.send=function(Le){Z(()=>{var ot;let fe=h.get(this);if(fe!==void 0){fe.start=performance.now(),fe.reqFields=(ot=Mt(()=>wb(Le!=null?Le:null,r)))!=null?ot:{},fe.initiatorStack=Ob();let It=fe.initiatorStack===void 0?{}:{initiatorStack:fe.initiatorStack};t(x.NET_PENDING,{id:fe.id,method:fe.method,...Ur(fe.rawUrl),initiator:"xhr",...It}),N.has(this)||(N.add(this),this.addEventListener("loadend",()=>{Z(()=>{let Ke=h.get(this);if(Ke===void 0)return;Ae.add(Ke.rawUrl);let Ct=this.getResponseHeader("content-type"),Lt={},ii=this.responseType===""||this.responseType==="text",is=vb(this.status,o);if(r){let To=ph(Ct)?pi.UNREADABLE:yb(Ct);To!==void 0&&(Lt={responseBodyReason:To})}if((r||is)&&ii&&ph(Ct))try{let{body:To,truncated:wp}=r?Li(this.responseText,Ct):Rb(this.responseText,Ct);Lt={responseBody:To,...wp?{responseBodyTruncated:!0}:{},...r?{}:{responseBodyReason:pi.ERROR_STATUS}}}catch{}t(x.NET_REQUEST,{id:Ke.id,method:Ke.method,...Ur(Ke.rawUrl),status:this.status,ok:qw(this.status),durationMs:Math.round(performance.now()-Ke.start),initiator:"xhr",...Ke.initiatorStack===void 0?{}:{initiatorStack:Ke.initiatorStack},...Qw(Ke.rawUrl),...Zw(this.statusText,Ct,this.getResponseHeader("content-length")),...Ke.reqFields,...Lt})})}))}}),T.call(this,Le!=null?Le:null)};let y=ve(m,"send"),v=window.EventSource,O=window.WebSocket,j,Y;r&&typeof v=="function"&&(window.EventSource=class extends v{constructor(Le,fe){super(Le,fe),Z(()=>{let ot=Ur(String(Le));t(x.NET_STREAM,{transport:Br.SSE,direction:Vr.OPEN,...ot}),this.addEventListener("message",It=>{Z(()=>{t(x.NET_STREAM,{transport:Br.SSE,direction:Vr.IN,...ot,...Nb(It.data,r)})})})})}},j=window.EventSource),r&&typeof O=="function"&&(window.WebSocket=(WS=class extends O{constructor(fe,ot){super(fe,ot);b(this,$a);f(this,$a,WG(String(fe))),!c(this,$a)&&Z(()=>{let It=Ur(String(fe));t(x.NET_STREAM,{transport:Br.WS,direction:Vr.OPEN,...It}),this.addEventListener("message",Ke=>{Z(()=>{t(x.NET_STREAM,{transport:Br.WS,direction:Vr.IN,...It,...Nb(Ke.data,r)})})})})}send(fe){if(c(this,$a)){super.send(fe);return}super.send(fe),Z(()=>{t(x.NET_STREAM,{transport:Br.WS,direction:Vr.OUT,...Ur(this.url),...Nb(fe,r)})})}},$a=new WeakMap,WS),Y=window.WebSocket);let te=typeof navigator!="undefined"?Object.getPrototypeOf(navigator):null,Ce=te===null||(zS=Object.getOwnPropertyDescriptor(te,"sendBeacon"))==null?void 0:zS.value,je;te!==null&&Ce!==void 0&&(je=function(Le,fe){let ot=u(),It=Mt(()=>Ur(String(Le))),Ke=Mt(()=>Ob()),Ct=Ce.call(this,Le,fe);return Z(()=>{t(x.NET_REQUEST,{id:ot,method:"POST",...It,status:0,ok:Ct,queued:Ct,durationMs:0,initiator:"beacon",...Ke===void 0?{}:{initiatorStack:Ke},...wb(fe,!1)})}),Ct},te.sendBeacon=je);let Ae=new Set,rt=0,Ot=200,Np;if(typeof PerformanceObserver!="undefined")try{let Le=new PerformanceObserver(fe=>{var ot,It,Ke;for(let Ct of fe.getEntries()){let Lt=Ct;if(rt>=Ot)return;let ii=Lt.initiatorType||"other";if(ii==="fetch"||ii==="xmlhttprequest")continue;let is=Lt.name;Ae.has(is)||(Ae.add(is),rt+=1,t(x.NET_REQUEST,{id:u(),method:"GET",...Ur(is),durationMs:Math.round(Lt.duration),initiator:ii,...Lt.transferSize>0?{transferSize:Lt.transferSize}:{},...((ot=Lt.responseStatus)!=null?ot:0)>0?{status:Lt.responseStatus,ok:((It=Lt.responseStatus)!=null?It:0)>=200&&((Ke=Lt.responseStatus)!=null?Ke:0)<400}:{}}))}});Np=Le,Le.observe({type:"resource",buffered:!0})}catch{}return()=>{hh()[fh]===n&&delete hh()[fh],Np==null||Np.disconnect(),window.fetch===p&&(window.fetch=a),ve(m,"open")===A&&(m.open=g),ve(m,"send")===y&&(m.send=T),j!==void 0&&window.EventSource===j&&(window.EventSource=v),Y!==void 0&&window.WebSocket===Y&&(window.WebSocket=O),te!==null&&Ce!==void 0&&te.sendBeacon===je&&(te.sendBeacon=Ce)}}D();var YG="Tauri-Response",XG="error",tO={OK:"Ok",ERROR:"Err"},nO=/^(?:ipc:\/\/[^/]*|https?:\/\/ipc\.localhost(?::\d+)?)\/(.+)$/;function rO(t,e){let n=nO.exec(t),r=n==null?void 0:n[1];if(r===void 0)return;let o=e(YG)!==XG;return{url:`${Dg}${r}`,initiator:ln.IPC,method:ln.IPC,ok:o,status:o?pd.OK:pd.ERROR,statusText:o?tO.OK:tO.ERROR}}function oO(t){var e;return((e=nO.exec(t))==null?void 0:e[1])===df}function qG(){return navigator.userAgent.includes("Electron")}function iO(t,e={}){let n=window[Ro];if(typeof(n==null?void 0:n.subscribe)!="function")return qG()&&t(x.BLIND_SPOT,{kind:Yt.UNOBSERVED_IPC,count:1}),()=>{};let r=n.subscribe(o=>{Z(()=>{var d;let s=`${Dg}${o.channel}`;if(o.phase==="start"){t(x.NET_PENDING,{id:o.id,method:ln.IPC,url:s,initiator:ln.IPC});return}let a=o.oneWay===!0&&o.ok===void 0;a&&t(x.BLIND_SPOT,{kind:Yt.VERDICTLESS_SEND,count:1});let l=o.ok===!0;t(x.NET_REQUEST,{id:o.id,method:ln.IPC,url:s,...a?{}:{ok:l,status:l?pd.OK:pd.ERROR},...o.oneWay===!0?{oneWay:!0}:{},durationMs:(d=o.durationMs)!=null?d:0,initiator:ln.IPC,...o.error===void 0?{}:{error:o.error},...o.responseSize===void 0?{}:{responseSize:o.responseSize},...e.captureBodies===!0?{...o.requestBody===void 0?{}:{requestBody:o.requestBody},...o.responseBody===void 0?{}:{responseBody:o.responseBody},...o.responseBodyTruncated===!0?{responseBodyTruncated:!0}:{}}:{}})})});return()=>{var o;(o=n.unsubscribe)==null||o.call(n,r)}}D();lt();xt();Ye();Rn();var sO=t=>t===void 0?0:Math.max(0,t.width)*Math.max(0,t.height);function aO(t){let e=globalThis.CSS;if(typeof(e==null?void 0:e.escape)=="function")return e.escape(t);let n="";for(let[r,o]of[...t].entries())/\d/.test(o)&&(r===0||r===1&&t.startsWith("-"))?n+=`\\${o.charCodeAt(0).toString(16)} `:/[\w-]/.test(o)?n+=o:n+=`\\${o}`;return n}function ZG(t){let e=Te(t);if(e!==null)return`[${Ti()}="${e.replace(/["\\]/g,"\\$&")}"]`;let n=t.tagName.toLowerCase();if(0<t.id.length)return`${n}#${aO(t.id)}`;let r=t.classList.item(0);return r===null?n:`${n}.${aO(r)}`}function QG(t){var n;let e;for(let r of t!=null?t:[]){let o=(n=r.node)!=null?n:null,s=o===null?null:pn(o)?o:o.parentElement;if(s===null||ft(s))continue;let a=Math.max(sO(r.previousRect),sO(r.currentRect));(e===void 0||a>e.area)&&(e={el:s,area:a})}return e===void 0?void 0:{ref:X.refFor(e.el),selector:ZG(e.el)}}function cO(t){if(typeof PerformanceObserver!="function")return()=>{};let e=[],n=(s,a)=>{try{let l=new PerformanceObserver(d=>{for(let u of d.getEntries())a(u)});l.observe({type:s,buffered:!0}),e.push(l)}catch{}},r=0,o=0;return n("largest-contentful-paint",s=>{let a=Math.round(s.startTime);a<=o||(o=a,t(x.PERF,{metric:qa.LCP,value:a,at:a}))}),n("layout-shift",s=>{var d;let a=s;if(a.hadRecentInput===!0)return;r+=(d=a.value)!=null?d:0;let l=QG(a.sources);t(x.PERF,{metric:qa.CLS,value:r,at:Math.round(s.startTime),...l===void 0?{}:{shifted:l}})}),n("longtask",s=>{t(x.PERF,{metric:qa.LONGTASK,value:Math.round(s.duration),at:Math.round(s.startTime)})}),()=>{for(let s of e)s.disconnect()}}D();var JG=new Set(["navigate","reload","back_forward"]);function eB(){try{let[t]=performance.getEntriesByType("navigation");return t}catch{return}}function lO(t){var a,l;let e=eB(),n=e==null?void 0:e.type,r=e==null?void 0:e.name;if(e===void 0||typeof r!="string"||r.length===0)return()=>{};if(typeof n!="string"||!JG.has(n))return()=>{};let o=e.responseStatus,s=typeof o=="number"&&o>0;return t(x.NET_REQUEST,{id:`doc-${String(Math.round((a=e.duration)!=null?a:0))}`,method:"GET",url:r,initiator:ln.DOCUMENT,durationMs:Math.round((l=e.duration)!=null?l:0),...s?{status:o,ok:o<400}:{},navigationType:n,...typeof e.transferSize=="number"?{transferSize:e.transferSize}:{}}),()=>{}}D();var tB=/^(javascript|mailto|tel|sms|blob|data):/i;function nB(){if(typeof window=="undefined")return;let t=window.navigation;return t instanceof EventTarget?t:void 0}function rB(t){if(!(t instanceof Element))return;let e=t.closest("a");return e instanceof HTMLAnchorElement?e:void 0}var oB=1e3;function dO(t,e,n){if(t.length===0||tB.test(t))return!1;if(e)return!0;try{let r=new URL(t,n),o=new URL(n);return r.origin===o.origin?r.pathname!==o.pathname||r.search!==o.search:!0}catch{return!1}}function uO(t){if(typeof document=="undefined")return()=>{};let e=0,n,r=(l,d)=>{let u=Date.now();n!==void 0&&n.url===l&&u-n.at<oB||(n={url:l,at:u},e+=1,t(x.NET_PENDING,{id:`nav-${String(e)}`,method:"GET",url:l,initiator:ln.NAVIGATION,...d?{download:!0}:{}}))},o=l=>{Z(()=>{var g;let d=rB(l.target);if(d===void 0)return;let u=(g=d.getAttribute("href"))!=null?g:"",p=document.location.href,h=d.hasAttribute("download");if(!dO(u,h,p))return;let m=new URL(u,p).toString();queueMicrotask(()=>{Z(()=>{l.defaultPrevented||r(m,h)})})})},s=l=>{Z(()=>{let d=l.destination;if(d===void 0||d.sameDocument)return;let u=d.url;dO(u,!1,document.location.href)&&queueMicrotask(()=>{Z(()=>{l.defaultPrevented||r(u,!1)})})})},a=nB();return a!==void 0&&a.addEventListener("navigate",s),document.addEventListener("click",o,!0),()=>{document.removeEventListener("click",o,!0),a!==void 0&&a.removeEventListener("navigate",s)}}D();pr();D();var iB=3,sB=256,aB={emit:!0},cB={emit:!1};function lB(t){if(t<10)return!1;let e=t;for(;e%10===0;)e/=10;return e===1}function dB(t){var e,n,r;return ac([t.message,(e=t.source)!=null?e:"",t.line===void 0?"":String(t.line),(n=t.kind)!=null?n:"",(r=t.stack)!=null?r:""].join("\0"))}function pO(t=iB,e=sB){let n=new Map;return{admit(r){var a,l;let o=dB(r),s=((a=n.get(o))!=null?a:0)+1;if(n.delete(o),n.size>=e){let d=n.keys().next();(l=d.done)!=null&&l||n.delete(d.value)}return n.set(o,s),s<=t?aB:lB(s)?{emit:!0,repeats:s}:cB}}}var fO="securitypolicyviolation",uB="report",pB={log:x.CONSOLE_LOG,warn:x.CONSOLE_WARN,error:x.CONSOLE_ERROR,info:x.CONSOLE_INFO,debug:x.CONSOLE_DEBUG};function fB(t){return t.map(e=>typeof e=="string"?e:e instanceof Error?e.message:Wr(e)).join(" ")}var hO=G.MAX_STACK_LENGTH;function Cb(t){if(!(t===void 0||t.length===0))return t.length>hO?t.slice(0,hO):t}function hB(t){for(let e of t)if(e instanceof Error)return Cb(e.stack)}function mO(t){let e=["log","warn","error","info","debug"],n=new Map,r=new Map;for(let h of e){let m=mr(console,h);n.set(h,m);let g=m.bind(console),T=(..._)=>{g(..._),Z(()=>{let A=h==="error"?hB(_):void 0;t(pB[h],{message:fB(_),...A===void 0?{}:{stack:A}})})};r.set(h,T),console[h]=T}let o=pO(),s=h=>{let m=o.admit(h);m.emit&&t(x.ERROR_UNCAUGHT,{...h,...m.repeats===void 0?{}:{repeats:m.repeats}})},a=h=>{var m,g;if(!(h instanceof ErrorEvent)){let T=h.target;if(!(T instanceof Element)||T===document)return;let _=T.tagName.toLowerCase(),A=(g=(m=T.getAttribute("src"))!=null?m:T.getAttribute("href"))!=null?g:"";Z(()=>{let N=`<${_}> failed to load${A.length===0?"":`: ${A}`}`;s({message:N,kind:"resource",...A.length===0?{}:{source:A}})});return}Z(()=>{let T=Cb(h.error instanceof Error?h.error.stack:void 0),_={message:h.message,source:h.filename,line:h.lineno,...T===void 0?{}:{stack:T}};s(_)})},l=h=>{Z(()=>{let m=h.reason,g=Cb(m instanceof Error?m.stack:void 0),T={message:m instanceof Error?m.message:String(m),kind:"unhandledrejection",...g===void 0?{}:{stack:g}};s(T)})},d=h=>{let m=h.blockedURI.length===0?"inline content":h.blockedURI,g=uB===h.disposition;t(g?x.CONSOLE_WARN:x.CONSOLE_ERROR,{message:g?`[Report Only] Content Security Policy directive: ${h.violatedDirective} would block ${m}`:`Content Security Policy directive: ${h.violatedDirective} blocked ${m}`,kind:fO,...h.blockedURI.length===0?{}:{source:h.blockedURI}})},u=new AbortController,{signal:p}=u;return window.addEventListener("error",a,{capture:!0,signal:p}),window.addEventListener("unhandledrejection",l,{signal:p}),window.addEventListener(fO,d,{capture:!0,signal:p}),()=>{for(let[h,m]of n)console[h]===r.get(h)&&(console[h]=m);u.abort()}}D();Tc();var mB={alert:void 0,confirm:!1,prompt:null},gB=["alert","confirm","prompt"];function gO(t){let e=window,n=new Map,r=new Map;for(let o of gB){let s=e[o];if(typeof s!="function")continue;n.set(o,s);let a=s.bind(window),l=(...d)=>{if(!jf())return a(...d);let u=mB[o],p=d[0];return Z(()=>{t(x.DIALOG_OPENED,{kind:o,...typeof p=="string"?{message:p}:{},...u===void 0?{}:{answered:u}})}),u};r.set(o,l),e[o]=l}return()=>{for(let[o,s]of n)e[o]===r.get(o)&&(e[o]=s)}}D();lt();Ye();function EO(t){let e=new AbortController,{signal:n}=e,r=a=>{let l=a.target;l instanceof Element&&!ft(l)&&t(x.ANIM_START,{name:a.animationName},X.refFor(l))},o=a=>{let l=a.target;l instanceof Element&&!ft(l)&&t(x.ANIM_END,{name:a.animationName},X.refFor(l))},s=a=>{let l=a.target;l instanceof Element&&!ft(l)&&t(x.ANIM_END,{name:a.propertyName,kind:"transition"},X.refFor(l))};return document.addEventListener("animationstart",r,{capture:!0,signal:n}),document.addEventListener("animationend",o,{capture:!0,signal:n}),document.addEventListener("transitionend",s,{capture:!0,signal:n}),()=>e.abort()}D();lt();dt();var bO=100,EB="[data-reticle-reveal], [data-reveal], section";function TO(t){let e=new AbortController,{signal:n}=e,r=0,o=0,s,a=()=>{r=performance.now();let u=window.scrollY,p=Math.max(1,document.documentElement.scrollHeight-window.innerHeight);t(x.SCROLL_POSITION,{x:window.scrollX,y:u,percent:Math.round(u/p*100),direction:u>=o?lf.DOWN:lf.UP}),o=u},l=()=>{let u=performance.now()-r;if(u>=bO){s!==void 0&&(_e(s),s=void 0),a();return}s===void 0&&(s=oe(()=>{s=void 0,a()},bO-u))};window.addEventListener("scroll",l,{passive:!0,signal:n});let d;if(typeof IntersectionObserver=="function"){d=new IntersectionObserver(p=>{for(let h of p)h.isIntersecting&&t(x.REVEAL_SHOWN,{ratio:h.intersectionRatio},X.refFor(h.target))},{threshold:.25});let u=d;for(let p of document.querySelectorAll(EB))u.observe(p)}return()=>{e.abort(),s!==void 0&&_e(s),d==null||d.disconnect()}}D();dt();function _O(){let t=window;return t.__TAURI_INTERNALS__!==void 0||t.__TAURI__!==void 0?"tauri":navigator.userAgent.includes("Electron")||t[Ro]!==void 0?"electron":"web"}function bB(){let t=navigator.userAgent;return/Chrome|Chromium|Edg\//.test(t)?"blink":/Gecko\/|Firefox/.test(t)?"gecko":"webkit"}var TB={"google chrome":He.CHROME,chrome:He.CHROME,"microsoft edge":He.EDGE,edge:He.EDGE,brave:He.BRAVE,opera:He.OPERA,arc:He.ARC,dia:He.DIA,firefox:He.FIREFOX,safari:He.SAFARI};function SB(t){return t==="chromium"||t.includes("not")&&t.includes("brand")}function _B(){var e;try{let r=(e=navigator.userAgentData)==null?void 0:e.brands;if(Array.isArray(r)){let o;for(let s of r){let a=typeof(s==null?void 0:s.brand)=="string"?s.brand.toLowerCase():"";if(a===""||SB(a))continue;let l=TB[a];if(l!==void 0)if(He.CHROME===l)o=l;else return l}return o!=null?o:He.OTHER}}catch{}let t=navigator.userAgent;return/Edg\//.test(t)?He.EDGE:/OPR\/|Opera/.test(t)?He.OPERA:/Firefox/.test(t)?He.FIREFOX:/Chrome|Chromium/.test(t)?He.CHROME:/Safari/.test(t)?He.SAFARI:He.OTHER}var SO=typeof window!="undefined"&&typeof window.fetch=="function"?window.fetch.bind(window):void 0;function xB(){var n,r;let t=window.__TAURI_INTERNALS__,e=(r=(n=t==null?void 0:t.metadata)==null?void 0:n.currentWindow)==null?void 0:r.label;return typeof e=="string"&&e.length>0?e:void 0}function AB(){try{let[t]=performance.getEntriesByType("navigation"),e=t==null?void 0:t.responseStatus;return typeof e=="number"&&e>0?e:void 0}catch{return}}async function yB(t){let e=AB();if(e!==void 0)return e;try{return t==="web"||SO===void 0||!/^https?:$/.test(location.protocol)?void 0:(await SO(location.href,{method:"HEAD",cache:"no-store"})).status}catch{return}}async function vB(){let t=window[Ro];if(typeof(t==null?void 0:t.windowLabel)=="function")try{let e=await t.windowLabel();return typeof e=="string"&&e.length>0?e:void 0}catch{return}}function RB(t){return{hidden:document.visibilityState==="hidden",focused:document.hasFocus(),runtime:_O(),engine:bB(),brand:_B(),...t===void 0?{}:{windowLabel:t}}}function xO(t){let e=new AbortController,{signal:n}=e,r,o=xB(),s=l=>{t(x.PAGE_HEALTH,{...RB(o),...r===void 0?{}:{documentStatus:r},reason:l})};document.addEventListener("visibilitychange",()=>s(Is.VISIBILITY),{signal:n}),window.addEventListener("focus",()=>s(Is.FOCUS),{signal:n}),window.addEventListener("blur",()=>s(Is.BLUR),{signal:n}),s(Is.INITIAL),Promise.all([yB(_O()),o===void 0?vB():Promise.resolve(o)]).then(([l,d])=>{n.aborted||l===void 0&&d===o||(r=l,o=d,s(Is.HEARTBEAT))});let a=zf(()=>s(Is.HEARTBEAT),Gx.HEARTBEAT_MS);return()=>{a(),e.abort()}}D();lt();var NB={VIDEO:"video",AUDIO:"audio"};function AO(t){let e=new AbortController,n=r=>{Z(()=>{let o=r.target;if(!(o instanceof HTMLMediaElement))return;let s=NB[o.tagName];if(s===void 0)return;let a=Number.isFinite(o.duration)?o.duration:void 0;t(x.MEDIA_STATE,{event:r.type,tag:s,currentTime:o.currentTime,...a===void 0?{}:{duration:a},readyState:o.readyState,paused:o.paused},X.refFor(o))})};for(let r of Object.values(id))document.addEventListener(r,n,{capture:!0,signal:e.signal});return()=>e.abort()}D();var Ge={CONNECT:"connect",DOM_OBSERVER:"dom_observer",NETWORK_OBSERVER:"network_observer",CONSOLE_OBSERVER:"console_observer",IPC_OBSERVER:"ipc_observer",HEALTH_OBSERVER:"health_observer",ROUTER_OBSERVER:"router_observer",ANIMATION_OBSERVER:"animation_observer",STORE_ADAPTER:"store_adapter",SNAPSHOT:"snapshot",ACTION:"action",COMMAND:"command",RECORDER:"recorder",TRANSPORT:"transport",TEARDOWN:"teardown"},wB=500;function Lb(t,e,n){try{let r=n instanceof Error?n.message:String(n);t(x.SDK_FAILED,{site:e,message:r.slice(0,wB),...n instanceof Error?{errorType:n.constructor.name.slice(0,64)}:{}})}catch{}}function Ze(t,e,n){try{return n()}catch(r){return Lb(t,e,r),()=>{}}}function yO(t,e){for(let n of e)try{n()}catch(r){Lb(t,Ge.TEARDOWN,r)}}function vO(t,e){return[Ze(t,Ge.NETWORK_OBSERVER,()=>eO(t,{captureBodies:e.captureBodies,...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies},reinterpret:rO,ignore:oO})),Ze(t,Ge.IPC_OBSERVER,()=>iO(t,{captureBodies:e.captureBodies})),Ze(t,Ge.ANIMATION_OBSERVER,()=>cO(t)),Ze(t,Ge.ROUTER_OBSERVER,()=>nv(t)),Ze(t,Ge.NETWORK_OBSERVER,()=>lO(t)),Ze(t,Ge.NETWORK_OBSERVER,()=>uO(t)),Ze(t,Ge.CONSOLE_OBSERVER,()=>mO(t)),Ze(t,Ge.CONSOLE_OBSERVER,()=>gO(t)),Ze(t,Ge.ANIMATION_OBSERVER,()=>EO(t)),Ze(t,Ge.DOM_OBSERVER,()=>TO(t)),Ze(t,Ge.DOM_OBSERVER,()=>Cw(t)),Ze(t,Ge.STORE_ADAPTER,()=>JN(t)),Ze(t,Ge.STORE_ADAPTER,()=>Pw(t)),Ze(t,Ge.DOM_OBSERVER,()=>$w(t)),Ze(t,Ge.DOM_OBSERVER,()=>fN(t)),Ze(t,Ge.NETWORK_OBSERVER,()=>zw(t,{capturePreview:e.captureBodies})),Ze(t,Ge.DOM_OBSERVER,()=>Uw(t)),Ze(t,Ge.HEALTH_OBSERVER,()=>xO(t)),Ze(t,Ge.DOM_OBSERVER,()=>Yw(t)),Ze(t,Ge.DOM_OBSERVER,()=>AO(t)),Ze(t,Ge.DOM_OBSERVER,()=>ew(t))]}xt();Vd();pr();var OB=["position:fixed","bottom:8px","right:8px","z-index:2147483647","font:11px ui-monospace,SFMono-Regular,Menlo,monospace","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:8px","padding:6px 10px","pointer-events:none","opacity:0.85"].join(";");function RO(){let t=document.createElement("div");return t.setAttribute("data-reticle-overlay",""),t.style.cssText=OB,t.textContent="Reticle: connecting\u2026",document.body.appendChild(t),{update:e=>{t.textContent=`Reticle ${e.connected?"\u25CF":"\u25CB"} ${String(e.events)} events`},destroy:()=>{t.remove()}}}kb();Db();D();lt();mt();function wn(t,e=""){return typeof t=="string"?t:e}function Ho(t){let e=wn(t);return e===""?void 0:e}function gh(t){let e=X.resolve(t);if(!(e instanceof Element))return t;let n=Yr(e);return n.name.length>0?`${n.role} "${n.name}"`:`${n.role} (${t})`}function NO(t){switch(t){case k.ACT:case k.ACT_SEQUENCE:return We.ACTING;case k.SNAPSHOT:case k.QUERY:case k.MATCH:case k.INSPECT:case k.ANIMATIONS:case k.STATE_READ:case k.CAPABILITIES:return We.READING;default:return We.IDLE}}function wO(t,e={}){var n;switch(t){case k.SNAPSHOT:return"Looking at the page";case k.QUERY:case k.MATCH:{let r=t===k.MATCH?(n=e.query)!=null?n:{}:e,o=IB(r);return o!==void 0?`Finding ${o}`:"Finding an element"}case k.INSPECT:{let r=Ho(e.ref);return r!==void 0?`Inspecting ${gh(r)}`:"Inspecting an element"}case k.ANIMATIONS:return"Reading animations";case k.STATE_READ:{let r=Ho(e.store);return r!==void 0?`Reading state: ${r}`:"Reading state"}case k.CAPABILITIES:return"Reading capabilities";default:return t}}function IB(t){var o,s,a,l;let e=(o=Ho(t.testid))!=null?o:et.TESTID===wn(t.by)?Ho(t.value):void 0;if(e!==void 0)return`[testid=${e}]`;let n=Ho(t.name),r=(l=(a=(s=Ho(t.value))!=null?s:Ho(t.text))!=null?a:Ho(t.label))!=null?l:Ho(t.role);return r!==void 0?n!==void 0?`"${r}" (${n})`:`"${r}"`:n!==void 0?`"${n}"`:void 0}jd();xt();D();D();Hd();mt();Ye();vi();var OO=["position:fixed","top:8px","left:50%","transform:translateX(-50%)","z-index:2147483647","display:flex","gap:6px","align-items:center","flex-wrap:wrap","max-width:90vw","font:12px ui-sans-serif,system-ui,sans-serif","background:#151823","color:#e6e9f0","border:1px solid #2a2f3d","border-radius:10px","padding:6px 10px","box-shadow:0 8px 30px rgba(0,0,0,.5)"].join(";"),Eh=["font:inherit","cursor:pointer","background:#262b3a","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 9px"].join(";"),Mb=["font:inherit","background:#0e1018","color:#e6e9f0","border:1px solid #3a4151","border-radius:7px","padding:3px 8px"].join(";"),IO=["opacity:.75","margin-left:4px"].join(";"),CO=["display:flex","gap:6px","align-items:center","flex-wrap:wrap"].join(";");var CB="recorded 0 steps",LB="recording\u2026",LO="ready",kB="pick an annotation",DB=Ya.ACT,Pb={record:"Record",stop:"Stop",annotate:"Annotate"},MB={[De.ASSERT_SIGNAL]:"assert signal",[De.ASSERT_VISIBLE]:"assert visible",[De.ASSERT_STATE]:"assert state",[De.ASSERT_NET]:"assert request",[De.MARK_DYNAMIC]:"mark dynamic",[De.SUCCESS_STATE]:"success state",[De.INTENT]:"intent"},PB=new Set([De.ASSERT_SIGNAL,De.SUCCESS_STATE]),$B="recorded-flow";function MO(t){let e=Te(t);if(e!==null&&e.length>0)return{anchor:{kind:Fn.TESTID,value:e},degraded:!1};let n=Ne(t),r=Se(t);return n!=="generic"&&(n.length>0||r.length>0)?{anchor:r.length>0?{kind:Fn.ROLE,role:n,name:r}:{kind:Fn.ROLE,role:n},degraded:!1}:{anchor:{kind:Fn.ROLE,role:S_},degraded:!0}}function kO(t){return t instanceof HTMLTextAreaElement?!0:t instanceof HTMLInputElement&&pu(t)==="textbox"}function pu(t){let e=t.type.toLowerCase();return e==="checkbox"?"checkbox":e==="radio"?"radio":["text","email","tel","url","search","password",""].includes(e)?"textbox":"other"}function Pc(t,e,n){let{anchor:r,degraded:o}=MO(t),s={tool:DB,anchor:r,action:e};n!==void 0&&(s.args=n),o&&(s.degraded=!0);let a=$d(t);return a!==void 0&&(s.source=a.line===void 0?{file:a.file}:{file:a.file,line:a.line}),s}function HB(t,e,n,r,o){let s=e.map(u=>({...u})),a=[],l;for(let u of n){if(u.kind===De.MARK_DYNAMIC){a.push(u.anchor);continue}if(u.kind===De.SUCCESS_STATE){u.signal!==void 0&&(l={kind:I.SIGNAL,name:u.signal});continue}let p=s.at(-1);p!==void 0&&(u.kind===De.ASSERT_SIGNAL&&u.signal!==void 0?p.expect=DO(p.expect,{kind:I.SIGNAL,name:u.signal}):u.kind===De.ASSERT_VISIBLE&&(p.expect=DO(p.expect,{kind:I.ELEMENT,query:UB(u.anchor)})))}let d={version:eg,name:t,createdAt:r,steps:s};return o!==void 0&&o.length>0&&(d.startPath=o),a.length>0&&(d.dynamic=a),l!==void 0&&(d.success=l),d}function DO(t,e){return t===void 0?e:t.kind===I.ALL_OF?{kind:I.ALL_OF,predicates:[...t.predicates,e]}:{kind:I.ALL_OF,predicates:[t,e]}}function UB(t){return t.kind===Fn.TESTID?{testid:t.value}:t.kind===Fn.ROLE?t.name!==void 0?{role:t.role,name:t.name}:{role:t.role}:{}}var Vs,Xn,en,mu,Di,Uo,$c,Mi,js,qr,gr,B,PO,fu,$O,HO,UO,FO,ki,GO,BO,Hb,VO,jO,KO,Bs,WO,bh,zO,YO,hu,Th,XO,$b=class{constructor(e){b(this,B);b(this,Vs);b(this,Xn,jt.IDLE);b(this,en,[]);b(this,mu);b(this,Di,[]);b(this,Uo);b(this,$c);b(this,Mi);b(this,js);b(this,qr);b(this,gr);f(this,Vs,e)}phase(){return c(this,Xn)}steps(){return c(this,en).map(e=>({...e}))}mount(){c(this,Mi)===void 0&&typeof document!="undefined"&&(E(this,B,WO).call(this),E(this,B,PO).call(this))}destroy(){var e,n;(e=c(this,$c))==null||e.abort(),f(this,$c,void 0),(n=c(this,Mi))==null||n.remove(),f(this,Mi,void 0),f(this,js,void 0),f(this,qr,void 0),f(this,Xn,jt.IDLE),f(this,en,[]),f(this,Di,[]),f(this,gr,void 0),f(this,Uo,void 0)}};Vs=new WeakMap,Xn=new WeakMap,en=new WeakMap,mu=new WeakMap,Di=new WeakMap,Uo=new WeakMap,$c=new WeakMap,Mi=new WeakMap,js=new WeakMap,qr=new WeakMap,gr=new WeakMap,B=new WeakSet,PO=function(){let e=new AbortController;f(this,$c,e);let n={capture:!0,signal:e.signal};document.addEventListener("click",r=>E(this,B,$O).call(this,r),n),document.addEventListener("input",r=>E(this,B,HO).call(this,r),n),document.addEventListener("change",r=>E(this,B,UO).call(this,r),n),document.addEventListener("submit",r=>E(this,B,FO).call(this,r),n)},fu=function(e){let n=e.target;if(n instanceof Element&&!ft(n))return n},$O=function(e){let n=E(this,B,fu).call(this,e);if(n!==void 0){if(c(this,Xn)===jt.ANNOTATING){E(this,B,GO).call(this,n);return}c(this,Xn)===jt.RECORDING&&(n instanceof HTMLInputElement&&(pu(n)==="checkbox"||pu(n)==="radio")||n instanceof HTMLSelectElement||(E(this,B,ki).call(this),c(this,en).push(Pc(n,L.CLICK))))}},HO=function(e){if(c(this,Xn)!==jt.RECORDING)return;let n=E(this,B,fu).call(this,e);n===void 0||!kO(n)||f(this,Uo,{el:n,value:n.value})},UO=function(e){if(c(this,Xn)!==jt.RECORDING)return;let n=E(this,B,fu).call(this,e);if(n!==void 0){if(n instanceof HTMLInputElement&&pu(n)==="checkbox"){E(this,B,ki).call(this),c(this,en).push(Pc(n,n.checked?L.CHECK:L.UNCHECK));return}if(n instanceof HTMLInputElement&&pu(n)==="radio"){E(this,B,ki).call(this),c(this,en).push(Pc(n,L.CHECK));return}if(n instanceof HTMLSelectElement){E(this,B,ki).call(this),c(this,en).push(Pc(n,L.SELECT,{value:n.value}));return}kO(n)&&(f(this,Uo,{el:n,value:n.value}),E(this,B,ki).call(this))}},FO=function(e){if(c(this,Xn)!==jt.RECORDING)return;let n=E(this,B,fu).call(this,e);n!==void 0&&(E(this,B,ki).call(this),c(this,en).push(Pc(n,L.SUBMIT)))},ki=function(){let e=c(this,Uo);if(e===void 0)return;f(this,Uo,void 0);let n=Zt(e.el)?ye:e.value;c(this,en).push(Pc(e.el,L.FILL,{value:n}))},GO=function(e){let n=c(this,gr);if(n===void 0)return;let{anchor:r}=MO(e),o={kind:n.kind,anchor:r},s=E(this,B,Hb).call(this);s!==void 0&&(o.signal=s),c(this,Di).push(o),f(this,gr,void 0),E(this,B,Bs).call(this,jt.RECORDING),E(this,B,hu).call(this)},BO=function(){let e=c(this,gr);if(e===void 0)return;let n=c(this,en).at(-1);if(n===void 0){f(this,gr,void 0),E(this,B,Bs).call(this,jt.RECORDING),E(this,B,hu).call(this);return}let r={kind:e.kind,anchor:n.anchor},o=E(this,B,Hb).call(this);o!==void 0&&(r.signal=o),c(this,Di).push(r),f(this,gr,void 0),E(this,B,Bs).call(this,jt.RECORDING),E(this,B,hu).call(this)},Hb=function(){var r,o;let e=(r=c(this,qr))==null?void 0:r.querySelector("[data-reticle-signal]"),n=(o=e==null?void 0:e.value)!=null?o:"";return n.length>0?n:void 0},VO=function(){f(this,en,[]),f(this,mu,typeof location=="undefined"?void 0:location.pathname),f(this,Di,[]),f(this,Uo,void 0),f(this,gr,void 0),E(this,B,Bs).call(this,jt.RECORDING),E(this,B,Th).call(this,LB)},jO=function(){var r,o;E(this,B,ki).call(this);let e=(o=(r=E(this,B,XO).call(this))!=null?r:c(this,Vs).defaultName)!=null?o:$B,n=HB(e,c(this,en),c(this,Di),c(this,Vs).now(),c(this,mu));c(this,Vs).emit(x.FLOW_RECORDED,{name:e,flow:n}),E(this,B,Th).call(this,c(this,en).length===0?CB:LO),E(this,B,Bs).call(this,jt.IDLE),E(this,B,hu).call(this)},KO=function(){c(this,Xn)===jt.RECORDING&&(E(this,B,Bs).call(this,jt.ANNOTATING),E(this,B,Th).call(this,kB),E(this,B,zO).call(this))},Bs=function(e){f(this,Xn,e)},WO=function(){let e=document.createElement("div");e.setAttribute("data-reticle-overlay",""),e.style.cssText=OO;let n=document.createElement("input");n.setAttribute("data-reticle-name",""),n.setAttribute("placeholder","flow name"),n.style.cssText=Mb,e.appendChild(n),e.appendChild(E(this,B,bh).call(this,"record",Pb.record,()=>E(this,B,VO).call(this))),e.appendChild(E(this,B,bh).call(this,"stop",Pb.stop,()=>E(this,B,jO).call(this))),e.appendChild(E(this,B,bh).call(this,"annotate",Pb.annotate,()=>E(this,B,KO).call(this)));let r=document.createElement("span");r.setAttribute("data-reticle-status",""),r.style.cssText=IO,r.textContent=LO,e.appendChild(r);let o=document.createElement("div");o.setAttribute("data-reticle-menu",""),o.style.cssText=CO,e.appendChild(o),document.body.appendChild(e),f(this,Mi,e),f(this,js,r),f(this,qr,o)},bh=function(e,n,r){let o=document.createElement("button");return o.setAttribute("data-reticle-action",e),o.textContent=n,o.style.cssText=Eh,o.addEventListener("click",r),o},zO=function(){let e=c(this,qr);if(e!==void 0){e.textContent="";for(let n of Object.values(De)){if(n===De.INTENT)continue;let r=document.createElement("button");r.setAttribute("data-reticle-annkind",n),r.textContent=MB[n],r.style.cssText=Eh,r.addEventListener("click",()=>E(this,B,YO).call(this,n)),e.appendChild(r)}}},YO=function(e){f(this,gr,{kind:e});let n=c(this,qr);if(n===void 0)return;if(PB.has(e)){let o=document.createElement("select");o.setAttribute("data-reticle-signal",""),o.style.cssText=Mb;for(let s of yi().signals){let a=document.createElement("option");a.value=s,a.textContent=s,o.appendChild(a)}n.appendChild(o)}let r=document.createElement("button");r.setAttribute("data-reticle-action","annotate-confirm"),r.textContent="on prior step",r.style.cssText=Eh,r.addEventListener("click",()=>E(this,B,BO).call(this)),n.appendChild(r)},hu=function(){c(this,qr)!==void 0&&(c(this,qr).textContent="")},Th=function(e){c(this,js)!==void 0&&(c(this,js).textContent=e)},XO=function(){var r,o;let e=(r=c(this,Mi))==null?void 0:r.querySelector("[data-reticle-name]"),n=(o=e==null?void 0:e.value.trim())!=null?o:"";return n.length>0?n:void 0};function qO(t){return new $b(t)}Zb();D();function v0(t){return{...t.env===void 0?{}:{env:t.env},...t.scope===void 0?{}:{scope:t.scope},...t.injected===!0?{instrumentation:of.INJECTED}:{}}}function R0(t,e){return t==="production"&&!e}function N0(t,e){let n=t.token;if(!(t.lease!==!0||n===void 0||n.length===0||n===e))return n}function oj(t){let e;try{e=new URL(t)}catch{return{url:t,adjusted:!1}}return e.protocol!=="ws:"&&e.protocol!=="wss:"||e.pathname!==""&&e.pathname!=="/"?{url:t,adjusted:!1}:(e.pathname=As,{url:e.toString(),adjusted:!0})}function ij(t,e,n,r,o="http:"){var d;let s;try{s=new URL(e)}catch{return{allowed:!1,reason:"invalid Reticle bridge URL"}}if(s.protocol!=="ws:"&&s.protocol!=="wss:")return{allowed:!1,reason:"Reticle bridge URL must use ws:// or wss://"};if(((d=r==null?void 0:r.length)!=null?d:0)>G.MAX_TOKEN_LENGTH)return{allowed:!1,reason:`Reticle pairing token exceeds ${String(G.MAX_TOKEN_LENGTH)} characters`};let a=!Yg(s.hostname);return a&&s.protocol!=="wss:"?{allowed:!1,reason:"a non-local Reticle bridge must use wss://"}:!cA(o,t)||a?n?r===void 0||r.length===0?{allowed:!1,reason:"a pairing token is required outside localhost"}:{allowed:!0}:{allowed:!1,reason:"Reticle is disabled outside localhost unless allowNonLocalhost is explicitly enabled"}:{allowed:!0}}var sj=20,aj="[Reticle] killed for this page. Restart your dev server or reload the page to bring it back.",cj="Session ended - lost connection to Reticle (the agent is no longer running).";function lj(t,e){return t===void 0||t===md?e():t}function dj(){try{let t=new URL(window.location.href);if(!t.searchParams.has(sh))return;t.searchParams.delete(sh),window.history.replaceState(window.history.state,"",t.toString())}catch{}}function BS(t){let e=new URLSearchParams(t),n={},r=e.get(Gn.SESSION),o=e.get(Gn.PROJECT),s=VS(yn,e.get(Gn.HUD));return r!==null&&r.length>0&&(n.session=r),o!==null&&o.length>0&&(n.projectId=o),s!==void 0&&(n.hud=s),n}function uj(t){return t===void 0?{placed:[]}:{remember:t,placed:yn.SHOWN===t?[]:[t]}}function X1(t,e){var s;let n=BS(e),r=t.session!==void 0&&t.session!==md?t.session:void 0,o=(s=t.projectId)!=null?s:n.projectId;return{session:r!=null?r:n.session,projectId:o!==void 0&&o.length>0?o:void 0}}function pj(t){return{t:t.t,seq:t.seq,type:t.type,sessionId:t.sessionId,ref:t.ref,documentId:t.documentId,editEpoch:0===t.editEpoch?void 0:t.editEpoch,data:t.data}}var Mr,xp,La,mo,ka,Gm,Ap,ns,Oe,Kl,Da,ri,yp,Wl,vp,Ma,go,zl,rs,Rp,os,Yl,Pa,Eo,Xl,oi,Sn,Z1,bo,Q1,J1,ek,tk,nk,ql=class{constructor(){b(this,Sn);b(this,Mr);b(this,xp,new Map);b(this,La,[]);b(this,mo,!1);b(this,ka,"default");b(this,Gm,qx(Math.random));b(this,Ap,0);b(this,ns);b(this,Oe);b(this,Kl,new Map);b(this,Da,[]);b(this,ri);b(this,yp);b(this,Wl,!1);b(this,vp,!1);b(this,Ma);b(this,go);b(this,zl,0);b(this,rs);b(this,Rp,{});b(this,os);b(this,Yl,!1);b(this,Pa);b(this,Eo);b(this,Xl,[]);b(this,oi);b(this,bo,(e,n,r)=>{var s,a,l;let o=pj({seq:c(this,zl),t:Math.round(performance.now()-c(this,Ap)),type:e,sessionId:c(this,ka),documentId:c(this,Gm),editEpoch:Gd.current,data:n,ref:r});try{(s=c(this,Mr))==null||s.sendEvent(o),f(this,zl,c(this,zl)+1),(a=c(this,ns))==null||a.update({connected:!0,events:c(this,zl)}),e===x.ROUTE_CHANGE&&((l=c(this,Oe))==null||l.refilterFlows())}catch{}})}connect(e={}){var h,m,g,T,_,A,N;if(c(this,mo)){let y=N0(e,c(this,rs));y!==void 0&&(f(this,rs,y),(h=c(this,Mr))==null||h.redialAfterRefusal()),E(this,Sn,J1).call(this,e);return}if(typeof window=="undefined"||typeof document=="undefined")return;let n=globalThis.process,r=(m=n==null?void 0:n.env)==null?void 0:m.NODE_ENV;if(R0(r,e.allowInProduction===!0)){globalThis.console.warn("[Reticle] disabled in production (NODE_ENV=production). Gate the import behind import.meta.env.DEV, or pass allowInProduction:true to override.");return}dj();let o=oj((g=e.url)!=null?g:v_(ng)),s=o.url;o.adjusted&&globalThis.console.warn(`[Reticle] bridge URL has no path; using ${s} (the bridge only accepts WebSocket upgrades on ${As}).`);let a=ij(window.location.hostname,s,e.allowNonLocalhost===!0,e.token,window.location.protocol);if(!a.allowed){globalThis.console.warn(`[Reticle] ${(T=a.reason)!=null?T:"connection blocked"}`);return}e.root!==void 0&&e.root.length>0&&(globalThis[Zp]=e.root);let l=(_=e.sdkVersion)!=null?_:globalThis[Rx];f(this,os,typeof l=="string"&&l.length>0?l:void 0);let d=X1(e,window.location.search),u=lj(d.session,()=>"");f(this,ka,Bv(u.length>0?u:void 0,typeof globalThis.sessionStorage=="undefined"?void 0:globalThis.sessionStorage,()=>{var y;return typeof((y=globalThis.crypto)==null?void 0:y.randomUUID)=="function"?`s${globalThis.crypto.randomUUID()}`:`s${Date.now().toString(36)}`})),f(this,rs,e.token!==void 0&&e.token.length>0?e.token:void 0),f(this,Eo,d.projectId),f(this,Rp,v0(e)),E(this,Sn,Q1).call(this,e.redact),f(this,Ap,performance.now()),f(this,xp,gw()),f(this,Mr,new ch({url:s,hello:()=>E(this,Sn,ek).call(this),handleCommand:y=>E(this,Sn,tk).call(this,y),onConnected:()=>{var y;f(this,vp,!0),(y=c(this,Oe))==null||y.sessionStart()},onConnectionLost:()=>{var y;vc(),((y=c(this,Oe))==null?void 0:y.sessionActive)===!0&&c(this,Oe).setState($e.ENDED,cj)},onUnreachable:({url:y,attempts:v})=>{var O;fr(dh(y,v)),(O=c(this,Oe))==null||O.showUnreachable(y,v)}})),$f(()=>{var y;return(y=c(this,Mr))==null?void 0:y.reannounce()}),Wy(e.exposePresenter===!0),rv(e.testIdAttribute),e.networkBodyMaxChars!==void 0&&Ww(e.networkBodyMaxChars);let p=c(this,bo);f(this,Yl,e.captureNetworkBodies===!0),f(this,Pa,typeof e.sourceMapping=="boolean"?e.sourceMapping:void 0),f(this,La,vO(p,{captureBodies:c(this,Yl),...e.captureErrorBodies===void 0?{}:{captureErrorBodies:e.captureErrorBodies}})),e.overlay===!0&&(f(this,ns,RO()),c(this,ns).update({connected:!0,events:0})),f(this,ri,BS(window.location.search).hud),e.present!==!1&&yn.REMOVED!==c(this,ri)&&E(this,Sn,Z1).call(this,e),e.recorder===!0&&(f(this,Ma,qO({emit:p,now:()=>Date.now()})),c(this,Ma).mount()),((A=e.annotate)!=null?A:e.present!==!1)&&(f(this,go,new ea({emit:p,now:()=>Date.now(),onMark:y=>{var v;return(v=c(this,Oe))==null?void 0:v.log(ke.HUMAN,`\u{1F6A9} #${String(y.index)} ${y.label}${y.source!==void 0?` \xB7 ${y.source}`:""} \u2014 ${y.note}`)},shouldBlock:()=>{var y,v;return(v=(y=c(this,yp))==null?void 0:y.call(this).blockPageInteractions)!=null?v:!0}})),c(this,go).mount(),(N=c(this,Oe))==null||N.bindAnnotator(c(this,go))),c(this,Mr).connect(),f(this,mo,!0)}get connected(){return c(this,mo)}routes(e){tv(e)}signal(e,n={}){c(this,bo).call(this,x.SIGNAL,{name:e,data:n})}busy(e){return Qy(e,(n,r)=>{this.signal(n,r)})}state(e,n){c(this,bo).call(this,x.STATE_CHANGE,{name:e,value:n})}renderCommit(e){e>0&&c(this,bo).call(this,x.RENDER_COMMIT,{commits:e})}describe(e){bc(e)}endSession(){var e;(e=c(this,Oe))==null||e.setState($e.ENDED)}observeHotUpdates(e){Gd.observe(e)}disconnect(){var e,n,r,o,s,a;c(this,mo)&&(yO(c(this,bo),c(this,La)),f(this,La,[]),(e=c(this,Mr))==null||e.close(),f(this,Mr,void 0),(n=c(this,ns))==null||n.destroy(),f(this,ns,void 0),(r=c(this,Oe))==null||r.sessionEnd(),(o=c(this,Oe))==null||o.destroy(),f(this,Oe,void 0),(s=c(this,Ma))==null||s.destroy(),f(this,Ma,void 0),(a=c(this,go))==null||a.destroy(),f(this,go,void 0),vc(),f(this,mo,!1))}};Mr=new WeakMap,xp=new WeakMap,La=new WeakMap,mo=new WeakMap,ka=new WeakMap,Gm=new WeakMap,Ap=new WeakMap,ns=new WeakMap,Oe=new WeakMap,Kl=new WeakMap,Da=new WeakMap,ri=new WeakMap,yp=new WeakMap,Wl=new WeakMap,vp=new WeakMap,Ma=new WeakMap,go=new WeakMap,zl=new WeakMap,rs=new WeakMap,Rp=new WeakMap,os=new WeakMap,Yl=new WeakMap,Pa=new WeakMap,Eo=new WeakMap,Xl=new WeakMap,oi=new WeakMap,Sn=new WeakSet,Z1=function(e){c(this,Wl)||(f(this,Wl,!0),Promise.resolve().then(()=>(C1(),I1)).then(({Presenter:n})=>Promise.resolve().then(()=>(tl(),WI)).then(r=>({Presenter:n,settings:r}))).then(({Presenter:n,settings:r})=>{if(!c(this,mo))return;f(this,yp,r.getPresenterSettings);let o={};e.pace!==void 0&&(o.paceMs=e.pace),e.narrationDwellMs!==void 0&&(o.narrationDwellMs=e.narrationDwellMs),e.border!==void 0&&(o.border=e.border),e.logMax!==void 0&&(o.logMax=e.logMax),e.endedFadeMs!==void 0&&(o.endedFadeMs=e.endedFadeMs),e.idleEndMs!==void 0&&(o.idleEndMs=e.idleEndMs),o.sessionId=c(this,ka),c(this,Eo)!==void 0&&(o.projectId=c(this,Eo)),o.onControl=a=>c(this,bo).call(this,x.HUMAN_CONTROL,a.text!==void 0?{kind:a.kind,text:a.text}:{kind:a.kind}),o.onHudUse=a=>c(this,bo).call(this,x.HUD_USED,{...a}),o.onKill=()=>{this.disconnect(),fr(aj)};let s=new n(o);f(this,Oe,s),s.mount(),s.showSdkVersion(c(this,os));for(let a of c(this,Kl).values())s.handlePush(a);c(this,Kl).clear(),0<c(this,Da).length&&s.sessionStart();for(let a of c(this,Da).splice(0))s.narrate(a.text,a.level,a.actor,a.summary);c(this,ri)!==void 0&&s.placeHud(c(this,ri),void 0),f(this,ri,void 0),Promise.resolve().then(()=>(Y1(),z1)).then(a=>{var d;if(!c(this,mo))return;let l=a.mountTour({document,storage:a.safeLocalStorage(),projectId:(d=BS(window.location.search).projectId)!=null?d:window.location.origin,isDriving:()=>We.IDLE!==s.mode,search:window.location.search,navigator,copy:u=>{var p,h;return(h=(p=navigator.clipboard)==null?void 0:p.writeText(u).then(()=>!0,()=>!1))!=null?h:!1},select:u=>{let p=window.getSelection();if(p===null)return;let h=document.createRange();h.selectNodeContents(u),p.removeAllRanges(),p.addRange(h)}});l!==void 0&&c(this,La).push(l.destroy)}),c(this,vp)&&s.sessionStart(),c(this,go)!==void 0&&s.bindAnnotator(c(this,go))}).catch(()=>{}))},bo=new WeakMap,Q1=function(e){tA(eA(e,fr)),f(this,Xl,nA(e))},J1=function(e){var r;if(c(this,Eo)!==void 0)return;let n=X1(e,window.location.search).projectId;n!==void 0&&(f(this,Eo,n),(r=c(this,Mr))==null||r.reannounce())},ek=function(){return{kind:Kt.HELLO,protocolVersion:Hp,sessionId:c(this,ka),...c(this,Eo)===void 0?{}:{projectId:c(this,Eo)},url:Of(),title:Fr(document.title),adapters:Bd(),...c(this,rs)===void 0?{}:{token:c(this,rs)},...c(this,Rp),hasCapabilities:Hf(),channels:xw(),platform:Aw(),commands:yw(),captureBodies:c(this,Yl),...c(this,Pa)===void 0?{}:{sourceMapping:c(this,Pa)},...c(this,os)===void 0?{}:{sdkVersion:c(this,os)},contract:mE,contractParts:{commands:[...Rd.commands],events:[...Rd.events],actions:[...Rd.actions]},...c(this,Xl).length===0?{}:{redactKeys:c(this,Xl)}}},tk=async function(e){var r,o,s,a,l,d,u,p;if(e.name===k.MARKERS){let h=Uv(document),m=c(this,os)!==void 0||c(this,Pa)!==void 0,g=Fv({buildPlugin:m,adapters:Bd(),markers:h});return{ok:!0,result:{markers:h,...g.length===0?{}:{notApplicable:g}}}}if(e.name===k.NARRATE)return c(this,Oe)===void 0&&c(this,Wl)?(c(this,Da).length<sj&&c(this,Da).push({text:wn(e.args.text),level:wn(e.args.level,"info"),actor:q1(e.args),summary:e.args.summary===!0}),{ok:!0,result:{shown:!1,buffered:!0}}):((r=c(this,Oe))==null||r.sessionStart(),(o=c(this,Oe))==null||o.narrate(wn(e.args.text),wn(e.args.level,"info"),q1(e.args),e.args.summary===!0),{ok:!0,result:{shown:c(this,Oe)!==void 0}});if(e.name===k.SESSION_CONFIG){let h=e.args.idleEndMs;typeof h=="number"&&((s=c(this,Oe))==null||s.setIdleEndMs(h));let m=VS(yn,e.args.hud),g=VS(Qp,e.args.corner),T=c(this,Oe),_;if(T!==void 0)_=T.placeHud(m,g);else{let A=uj(m);A.remember!==void 0&&f(this,ri,A.remember),_=A.placed}return{ok:!0,result:{applied:c(this,Oe)!==void 0,idleEndMs:h,...0<_.length?{hud:_}:{}}}}if(e.name===k.PRESENTER||e.name===k.FLOWS||e.name===k.FLOW_PROGRESS||e.name===k.PLAN||e.name===k.IMPACT)return c(this,Oe)===void 0?(c(this,Kl).set(e.name,e),{ok:!0,result:{applied:!1,buffered:!0}}):(c(this,Oe).handlePush(e),{ok:!0,result:{applied:!0}});let n=c(this,xp).get(e.name);if(n===void 0)return{ok:!1,error:`unknown command '${e.name}'`};(a=c(this,Oe))==null||a.sessionStart(),await E(this,Sn,nk).call(this,e),_E(Td.HARNESS===e.by),DE((l=e.outward)==null?void 0:l.allowed);try{let h=await n(e.args);return(d=c(this,oi))==null||d.result(Nn.PASS),{ok:!0,result:h}}catch(h){return(u=c(this,oi))==null||u.result(Nn.FAIL),{ok:!1,error:h instanceof Error?h.message:String(h)}}finally{_E(!1),DE(void 0),f(this,oi,void 0),(p=c(this,Oe))==null||p.scheduleIdle()}},nk=async function(e){let n=c(this,Oe);if(n===void 0)return;n.setMode(NO(e.name)),f(this,oi,void 0);let r=Td.HARNESS===e.by?Jt.HARNESS:Jt.AGENT;if(e.name===k.ACT){let o=wn(e.args.ref),s=gh(o);f(this,oi,n.log(ke.ACT,`${uu(wn(e.args.action))} ${s}`,void 0,r)),await n.beforeAct(o,wn(e.args.action),s)}else if(e.name===k.ACT_SEQUENCE){let o=Array.isArray(e.args.steps)?e.args.steps:[];for(let s of o){let a=s,l=wn(a.ref),d=gh(l);f(this,oi,n.log(ke.ACT,`${uu(wn(a.action))} ${d}`,void 0,r)),await n.beforeAct(l,wn(a.action),d)}}else{let o=wO(e.name,e.args);n.status(o),n.log(ke.READ,o,void 0,r)}};function q1(t){return Td.HARNESS===t.actor?Jt.HARNESS:Jt.AGENT}function VS(t,e){return Object.values(t).includes(e)?e:void 0}var jS=globalThis,rk,Zl=(rk=jS.__reticleInstance)!=null?rk:jS.__reticleInstance=new ql;D();Ye();ko();$s();jd();$s();function sk(t){try{return KS(t,new WeakMap)}catch{return t}}function KS(t,e){if(typeof t!="object"||t===null)return t;let n=e.get(t);if(n!==void 0)return n;if(Array.isArray(t)){let s=[];e.set(t,s);for(let a of t)s.push(KS(a,e));return s}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return t;let o={};e.set(t,o);for(let[s,a]of Object.entries(t))o[s]=KS(a,e);return o}function fj(t){return typeof t!="object"||t===null?String(t):JSON.stringify(t,(e,n)=>{if(typeof n!="object"||n===null||Array.isArray(n))return n;let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let o=n,s={};for(let a of Object.keys(o).sort())s[a]=o[a];return s})}function ak(t){let e={getState:()=>{var r,o,s;let n={};for(let a of t.getQueryCache().getAll()){let l=a.queryKey.map(fj).join("/");n[l]={status:a.state.status,fetchStatus:a.state.fetchStatus,isStale:(r=a.isStale)==null?void 0:r.call(a),isInvalidated:a.state.isInvalidated,dataUpdatedAt:a.state.dataUpdatedAt,error:(s=(o=a.state.error)==null?void 0:o.message)!=null?s:null,data:a.state.data}}return n},subscribe:n=>t.getQueryCache().subscribe(n)};return Df(e,t),e}function ck(t,e){return{getState:()=>{let n={};for(let[r,o]of Object.entries(e))n[r]=t.get(o);return n},subscribe:n=>{let r=Object.values(e).map(o=>t.sub(o,n));return()=>{for(let o of r)o()}}}}function lk(t){return{getState:()=>t.getSnapshot(),subscribe:e=>{let n=t.subscribe(e);return()=>n.unsubscribe()}}}function dk(t,e,n){return{getState:()=>e(t),subscribe:r=>n(t,r)}}function uk(t,e,n){return{getState:()=>e(t),subscribe:r=>n(()=>e(t),()=>r())}}var ok={HAS_VALUE:"hasValue",LOADING:"loading",HAS_ERROR:"hasError"};function hj(t){if(t.state===ok.HAS_ERROR){let e=t.contents;return{status:t.state,value:null,error:e instanceof Error?e.message:String(e)}}return t.state!==ok.HAS_VALUE?{status:t.state,value:null,error:null}:{status:t.state,value:t.contents,error:null}}function pk(t,e,n){return{getState:()=>{let r=e(),o={};for(let[s,a]of Object.entries(t))o[s]=hj(r.getLoadable(a));return o},subscribe:n}}function ik(t){if(typeof t=="function"){t();return}t.unsubscribe()}function fk(t,e=fr){let n=!1;return{getState:()=>{let r,o=!1;return ik(t.subscribe(s=>{r=sk(s),o=!0})),!o&&!n&&(n=!0,e("[reticle] a store passed to svelteStore did not call its subscriber synchronously, so its current value cannot be read. reticle_state will report undefined for it. Svelte stores always call back immediately; an RxJS Observable does not unless it is a BehaviorSubject.")),r},subscribe:r=>{let o=!0,s=t.subscribe(()=>{o||r()});return o=!1,()=>ik(s)}}}var mj={detached:!0,flush:"sync"};function hk(t){return{getState:()=>sk(t.$state),subscribe:e=>t.$subscribe(()=>e(),{...mj})}}function mk(t){let e=t,n=new Set;return{store:{getState:()=>e,subscribe:o=>(n.add(o),()=>n.delete(o))},push:o=>{e=o;for(let s of n)s()}}}vi();function gk(t={}){var n;let e=(n=t.target)!=null?n:Zl;return{signal(r,o={}){e.connected&&e.signal(r,o)},state(r,o){e.connected&&e.state(r,o)}}}function Ek(t,e,n,r){let o=e();return t.signal(n,r),o}vi();function bk(t){let e={};t.testids!==void 0&&(e.testids=[...t.testids]),t.signals!==void 0&&(e.signals=[...t.signals]),t.stores!==void 0&&(e.stores=[...t.stores]),bc(e)}NE();mt();lt();Zb();Ub();var gj=t=>Jy((e,n)=>{Zl.signal(e,n)},t);return Nk(Ej);})();
|
|
1781
1772
|
if(typeof module==="object"&&module&&module.exports)module.exports=ReticleSdk;
|