@applitools/nlp-web-runner 5.7.0 → 5.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
const x4=D;(function(T,V){const i=D,q=T();while(!![]){try{const C=-parseInt(i(0x212))/0x1*(parseInt(i(0x1c2))/0x2)+-parseInt(i(0x747))/0x3*(parseInt(i(0x2b2))/0x4)+parseInt(i(0x3ff))/0x5+-parseInt(i(0x6fa))/0x6+parseInt(i(0x165))/0x7+parseInt(i(0x855))/0x8*(parseInt(i(0x114))/0x9)+-parseInt(i(0x1c8))/0xa*(-parseInt(i(0x295))/0xb);if(C===V)break;else q['push'](q['shift']());}catch(o){q['push'](q['shift']());}}}(R,0x868a7));import{t as L}from'../../_chunks/rolldown-runtime-D7D4PA-g.js';import{debuglog,inspect,styleText}from'node:util';import{basename}from'node:path';import{once,setMaxListeners}from'node:events';import{colornames}from'color-name-list/short';import j from'parse-color';import{differenceHyab,nearest,parse,rgb}from'culori';import{readFileSync}from'node:fs';import{execFileSync}from'node:child_process';import{Agent,Request,Socks5ProxyAgent,WebSocket,buildConnector,fetch as N}from'undici';import{Buffer as A}from'node:buffer';import{Readable}from'node:stream';import{buffer}from'node:stream/consumers';import{setImmediate,setTimeout as S}from'node:timers/promises';import{nextTick}from'node:process';import{harFromMessages}from'chrome-har';import{XMLBuilder,XMLParser,XMLValidator}from'fast-xml-parser';import{readFile}from'node:fs/promises';const contextProxyHandler={'has'(T,V){const d=D;return T['data'][d(0x136)](V)||Reflect[d(0x136)](T,V);},'get'(T,V){const x0=D;if(T[x0(0x51c)][x0(0x136)](V))return T[x0(0x856)](),T[x0(0x25d)][x0(0x840)](V),T['data'][x0(0x316)](V);else return Reflect[x0(0x316)](T,V);},'set'(T,V,q){const x1=D;return T[x1(0x856)](),T[x1(0x66f)][x1(0x840)](V),T[x1(0x51c)][x1(0x866)](V,q),!![];},'deleteProperty'(T,V){const x2=D;return T[x2(0x856)](),T[x2(0x66f)]['add'](V),T[x2(0x51c)][x2(0x66b)](V);},'ownKeys'(T){const x3=D;return Array[x3(0xbd)](T['data'][x3(0x1e3)]());}};var Context=class Context{[x4(0x51c)]=new Map();['accessedKeys']=new Set();[x4(0x66f)]=new Set();['sharedData']=![];get[x4(0x42f)](){const x5=x4;return this[x5(0x25d)][x5(0x357)]>0x0;}get['mutated'](){const x6=x4;return this[x6(0x66f)][x6(0x357)]>0x0;}get[x4(0x205)](){return this;}constructor(){return new Proxy(this,contextProxyHandler);}['share'](){const x7=x4,T=this['self'];return T[x7(0x761)]=!![],{'data':T['data'],'accessedKeys':T[x7(0x25d)],'mutatedKeys':T[x7(0x66f)]};}static[x4(0x7f5)](T){const x8=x4,V=Object['create'](Context[x8(0x828)]);return V['data']=T['data'],V[x8(0x25d)]=T[x8(0x25d)],V[x8(0x66f)]=T[x8(0x66f)],V[x8(0x761)]=!![],new Proxy(V,contextProxyHandler);}['has'](T){const x9=x4;return this[x9(0x51c)][x9(0x136)](T);}[x4(0x856)](){const xx=x4;if(!this[xx(0x761)])return;this[xx(0x51c)]=new Map(this[xx(0x51c)]),this[xx(0x25d)]=new Set(this['accessedKeys']),this[xx(0x66f)]=new Set(this['mutatedKeys']),this[xx(0x761)]=![];}[x4(0x6f4)](){const xr=x4,T=this['self'];T[xr(0x856)](),T[xr(0x51c)][xr(0x2d8)]((V,q)=>{const xR=xr;if(!T[xR(0x25d)][xR(0x136)](q)&&!T[xR(0x66f)]['has'](q))T['data'][xR(0x66b)](q);}),T[xr(0x25d)]['clear'](),T['mutatedKeys']['clear']();}[x4(0x5a0)](){const xb=x4,T=this[xb(0x205)],V=Object['create'](Context['prototype']);return V[xb(0x51c)]=T[xb(0x51c)],V[xb(0x25d)]=T[xb(0x25d)],V[xb(0x66f)]=T[xb(0x66f)],V[xb(0x761)]=!![],T[xb(0x761)]=!![],new Proxy(V,contextProxyHandler);}};const collectionsProxyHandler={'has'(T,V){const xD=x4;return T[xD(0x1bf)][xD(0x136)](V)||Reflect[xD(0x136)](T,V);},'get'(T,V){const xL=x4;if(!T['collections'][xL(0x136)](V)&&Reflect[xL(0x136)](T,V))return Reflect[xL(0x316)](T,V);T['own']();let q=T[xL(0x1bf)]['get'](V);return q===void 0x0&&(q=new Collection(),T[xL(0x1bf)][xL(0x866)](V,q)),q;},'set'(T,V,q){const xj=x4;return T[xj(0x856)](),T['collections']['set'](V,q),!![];},'deleteProperty'(T,V){const xN=x4;return T[xN(0x856)](),T[xN(0x1bf)][xN(0x66b)](V);}};var Collections=class Collections{[x4(0x1bf)]=new Map();[x4(0x761)]=![];get[x4(0x205)](){return this;}constructor(){return new Proxy(this,collectionsProxyHandler);}[x4(0x24f)](){const xA=x4,T=this[xA(0x205)];return T[xA(0x761)]=!![],T[xA(0x1bf)];}static[x4(0x7f5)](T){const xS=x4,V=Object[xS(0x3d8)](Collections['prototype']);return V[xS(0x1bf)]=T,V['sharedData']=!![],new Proxy(V,collectionsProxyHandler);}[x4(0x856)](){const xT=x4;if(!this[xT(0x761)])return;const T=new Map();this[xT(0x1bf)][xT(0x2d8)]((V,q)=>{const xV=xT;if(V[xV(0x33d)]>0x0)T[xV(0x866)](q,V[xV(0x5a0)]());}),this['collections']=T,this[xT(0x761)]=![];}[x4(0x1e3)](){const xq=x4;return this[xq(0x1bf)][xq(0x1e3)]();}[x4(0x7ef)](T){const xC=x4;if(this[xC(0x1bf)]===T['collections'])return!![];for(const [V,q]of this[xC(0x1bf)]){if(q[xC(0x33d)]===0x0)continue;const C=T[xC(0x1bf)]['get'](V);if(!C||!q[xC(0x7ef)](C))return![];}for(const [o,X]of T[xC(0x1bf)])if(X[xC(0x33d)]>0x0&&!this[xC(0x1bf)][xC(0x136)](o))return![];return!![];}[x4(0x5a0)](){const xy=x4,T=this[xy(0x205)],V=Object[xy(0x3d8)](Collections[xy(0x828)]);return V[xy(0x1bf)]=T[xy(0x1bf)],V[xy(0x761)]=!![],T['sharedData']=!![],new Proxy(V,collectionsProxyHandler);}},Collection=class Collection{[x4(0x51c)]=[];[x4(0x33d)]=0x0;[x4(0x856)](){const xo=x4;this['data']=this['data'][xo(0x7e8)](0x0,this[xo(0x33d)]);}['at'](T,V){const xX=x4;if(T<0x0)T=this[xX(0x33d)]+T;if(arguments[xX(0x33d)]===0x1)return this['data'][T];if(T<this[xX(0x51c)][xX(0x33d)])this[xX(0x856)]();return this[xX(0x51c)][T]=V;}[x4(0x136)](T){const xG=x4;for(let V=0x0;V<this[xG(0x33d)];++V)if(this[xG(0x51c)][V]===T)return!![];return![];}[x4(0x2f2)](T){const xB=x4;for(let V=0x0;V<this[xB(0x33d)];++V)if(T(this[xB(0x51c)][V]))return this['data'][V];}[x4(0x6dd)](T){const xu=x4;for(let V=this['length']-0x1;V>=0x0;--V)if(T(this[xu(0x51c)][V]))return this[xu(0x51c)][V];}[x4(0x66b)](T){const xc=x4;if(T>=this['length'])return;this[xc(0x856)](),this[xc(0x51c)][xc(0x29f)](T,0x1),--this[xc(0x33d)];}[x4(0x132)](...T){const xP=x4;if(this['data'][xP(0x33d)]>this[xP(0x33d)])this[xP(0x856)]();for(const V of T)this[xP(0x51c)][this[xP(0x33d)]++]=V;return this[xP(0x33d)];}[x4(0x34c)](){const xY=x4;if(this[xY(0x33d)]>0x0)return this[xY(0x51c)][--this[xY(0x33d)]];}[x4(0x7e8)](T,V){const xn=x4;return this[xn(0x51c)]['slice'](0x0,this[xn(0x33d)])[xn(0x7e8)](T,V);}[x4(0x7ef)](T){const xv=x4;if(this['length']!==T[xv(0x33d)])return![];if(this[xv(0x51c)]===T[xv(0x51c)])return!![];for(let V=0x0;V<this[xv(0x33d)];++V)if(this[xv(0x51c)][V]!==T[xv(0x51c)][V])return![];return!![];}['clone']({deep:T}={}){const xI=x4,V=Object['create'](Collection['prototype']);return V['data']=T?this[xI(0x51c)]['slice'](0x0,this[xI(0x33d)]):this[xI(0x51c)],V[xI(0x33d)]=this[xI(0x33d)],V;}};function RegExpToken(T){const xe=x4;return T=new RegExp(T[xe(0x275)],T[xe(0x61c)][xe(0x241)]('y')?T['flags']:T['flags']+'y'),V=>{const xM=xe;T[xM(0x271)]=V[xM(0x169)];const q=V[xM(0x1fc)][xM(0x5fd)]?V[xM(0x82c)]['substring'](0x0,V[xM(0x1fc)][xM(0x5fd)]):V[xM(0x82c)],C=T[xM(0xc8)](q);if(C){const o=V[xM(0x74e)](C[0x0]['length']),X=o['tokens'][xM(0x582)]?.(o)??o[xM(0x5a0)]();if(X!==o){for(let G=0x1;G<C[xM(0x33d)];++G)X[xM(0x1bf)]['results'][xM(0x132)](C[G]);return X[xM(0x103)](T),X;}}return V[xM(0x2b3)](T),V;};}function StringToken(T){return V=>{const xK=D;if((V[xK(0x1fc)][xK(0x5fd)]?V[xK(0x82c)][xK(0x358)](0x0,V['shared'][xK(0x5fd)]):V['text'])['startsWith'](T,V['pos'])){const q=V[xK(0x74e)](T[xK(0x33d)]),C=q[xK(0x3e1)][xK(0x582)]?.(q)??q['clone']();if(C!==q)return C[xK(0x103)](T),C;}return V['logMismatched'](T),V;};}function Use(T){const xg=x4;if(typeof T==='function')return T;if(T instanceof RegExp)return RegExpToken(T);if(typeof T==='string')return StringToken(T);throw new Error(xg(0x6c0));}const Never=T=>T,Nothing$1=T=>{const xl=x4;if(T instanceof Cursor){const V=T;return V[xl(0x103)](xl(0x374)),V[xl(0x5a0)]();}else{const q=T;return Node(Nothing$1,()=>q);}};function Silent(T){const xf=x4,V=Use(T);return Pre(q=>q[xf(0x314)][xf(0x4b5)]?void(q[xf(0x314)]['enabled']=![]):V(q),Post(V,q=>void(q[xf(0x314)][xf(0x4b5)]=!![])));}function LogGroup(T,V){const xU=x4;let q,C=![];if(typeof T===xU(0x71a))q=T;else q=T[xU(0x15f)],C=T['collapsed']??![];const o=C?Silent(Use(V)):Use(V);return Pre(X=>{const xE=xU;if(!X[xE(0x314)]['enabled'])return o(X);if(!C)X['logGroup'](q);},Post(o,(X,G)=>{const xZ=xU;X[!C?xZ(0x623):xZ(0xb2)](X!==G?styleText([xZ(0x394),xZ(0x7cd)],q):styleText([xZ(0x394),xZ(0x1e6)],q));}));}function Pre(T,V){const q=Use(V);return C=>T(C)??q(C);}function Post(T,V){const xH=x4,q=Use(T),C=typeof V===xH(0x7de)?(o,X)=>V(o,X)??o:(o,X)=>V[o!==X?xH(0x789):xH(0x3fd)]?.(o,X)??o;return o=>{const xt=xH,X=o,G=o['clone']();G[xt(0x76f)][xt(0x185)]((u,c)=>{if(u===c)return c;const P=C(u,X);return P===X?c:P;});const B=q(G);return B[xt(0x76f)][xt(0x34c)](),C(B!==G?B:o,o);};}const Anything$1=Customizable(({threshold:threshold=0xa}={})=>{return T=>{const xm=D;let V=T[xm(0x5a0)]();while(!![]){const q=Rest(V);if(q!==V&&(q[xm(0x169)]>=V[xm(0x82c)]['length']||q['pos']-V[xm(0x169)]>=threshold))break;V=V[xm(0x74e)](0x1);if(V[xm(0x169)]===V[xm(0x82c)][xm(0x33d)])break;}return V[xm(0x1bf)][xm(0x71e)][xm(0x132)](V['text'][xm(0x358)](T[xm(0x169)],V[xm(0x169)])),V;};}),Rest=T=>{const xJ=x4;if(T[xJ(0x1fc)]['matchingRest'])return T['logSkip'](xJ(0x101)),T;const V=T['clone'](),q=Pre(C=>{const xs=xJ;C[xs(0x1fc)][xs(0x69c)]=!![],C[xs(0x314)][xs(0x59c)]??=C['logs'][xs(0x1c1)];},Post(LogGroup(xJ(0x25c),T[xJ(0x76f)]['probe']),C=>{const xO=xJ;C[xO(0x314)]['restDepth']=V['logs'][xO(0x59c)],C['shared'][xO(0x69c)]=![];}))(V);return q!==V?q:T;};function Recursive(T){return V({'depth':0x0});function V({depth:q}){return T(Lazy(()=>V({'depth':++q})),{'depth':q});}}function Dynamic(T){return V=>{return Use(T(V))(V);};}function Lazy(T){let V;return Dynamic(()=>V??=Use(T()));}function Customizable(T){const V=new Map();function q(C){const xp=D;let o=V[xp(0x316)](C);if(!o)V[xp(0x866)](C,o=Use(T(C)));return o;}return C=>{if(C instanceof Cursor)return q()(C);else return Customizable(o=>q(C||o?{...C,...o}:void 0x0));};}function Boundary(T,V){const q=T&&Silent(Boundary(null,Use(T)));return Pre(C=>{const xh=D;C[xh(0x3e1)]={...C[xh(0x3e1)],'boundary':q,'boundaryStack':[...C[xh(0x3e1)][xh(0x72d)],C['tokens']['boundary']]};},Post(V,C=>{const xk=D;C[xk(0x3e1)]={...C[xk(0x3e1)],'boundary':C[xk(0x3e1)]['boundaryStack']['at'](-0x1)??null,'boundaryStack':C[xk(0x3e1)][xk(0x72d)]['slice'](0x0,-0x1)};}));}function NoBoundary(T){return Post(Boundary(null,T),{'match':(V,q)=>{const xF=D;if(!V[xF(0x3e1)][xF(0x582)])return V;const C=V[xF(0x3e1)][xF(0x582)](V);if(C===V)return q;return C;}});}function Ignore(T,V){const q=T&&Use(T);return Pre(C=>{const xW=D;C['tokens']={...C[xW(0x3e1)],'ignore':q,'ignoreStack':[...C[xW(0x3e1)]['ignoreStack'],C['tokens'][xW(0x26e)]]};},Post(V,C=>{const xQ=D;C[xQ(0x3e1)]={...C[xQ(0x3e1)],'ignore':C[xQ(0x3e1)][xQ(0x1e4)]['at'](-0x1)??null,'ignoreStack':C['tokens'][xQ(0x1e4)]['slice'](0x0,-0x1)};}));}function Raw(T){return Ignore(null,Boundary(null,T));}function Not(T){const xa=x4;return Post(T,{'match':(V,q)=>q,'unmatch':(V,q)=>q[xa(0x5a0)]()});}function NonEmpty(T){const xz=x4;return Post(T,{'match':(V,q)=>V[xz(0x169)]===q[xz(0x169)]&&V[xz(0x1bf)][xz(0x7ef)](q['collections'])?q:V});}function Optional(T){const xw=x4;return Post(T,{'unmatch':(V,q)=>q[xw(0x5a0)]()});}function Weak(T){const V=Use(T);return LogGroup('Weak',q=>{const xi=D,C=q;q[xi(0x1fc)][xi(0x1f8)]+=0x1;const o=V(C);q[xi(0x1fc)][xi(0x1f8)]-=0x1;if(o===C)return q;if(q['shared'][xi(0x69c)])return q[xi(0x5a0)]();return q['fork'](o);});}function Any(...T){const xd=x4,V=T[xd(0x16a)](Use),q=V[xd(0x16a)]((C,o)=>V[xd(0x7e8)](o+0x1));return C=>{const r0=xd;for(let o=0x0;o<V['length'];++o){const X=V[o],G=C[r0(0x5a0)](),B=q[o];if(B[r0(0x33d)]>0x0)G['rest']['any'](C,B);const u=X(G);if(B[r0(0x33d)]>0x0)u[r0(0x76f)][r0(0x34c)]();if(u!==G)return u;}return C;};}function Longest(...T){const r1=x4,V=T[r1(0x16a)]((q,C)=>LogGroup(r1(0x15c)+(C+0x1),Use(q)));return LogGroup('Longest',q=>{const r2=r1;return V[r2(0x6d3)]((C,o)=>{const r3=r2,X=q[r3(0x5a0)](),G=o(X);if(G!==X&&G[r3(0x169)]>C[r3(0x169)])return G;return C;},q);});}function All(...T){const r4=x4,V=T[r4(0x16a)](Use);if(V['length']===0x1)return V[0x0];return q=>{const r5=r4;let C=q[r5(0x5a0)]();C['rest']['all'](V);for(let o=0x0;o<V[r5(0x33d)];++o){const X=V[o];C['rest'][r5(0x34c)]();const G=C[r5(0x3e1)]['ignore']?.(C)??C,B=X(G);if(B===G)return q;if(B['pos']!==G[r5(0x169)]||!B[r5(0x1bf)][r5(0x7ef)](G[r5(0x1bf)]))C=B;}return C;};}function Plus(T){const V=Use(T);return q=>{const r6=D;let C=q;while(!![]){const o=C===q?C[r6(0x5a0)]():C['tokens'][r6(0x26e)]?.(C)??C[r6(0x5a0)]();o['rest'][r6(0x5fc)](V);const X=V(o);X['rest']['pop']();if(X===o)return C;if(X[r6(0x169)]===o[r6(0x169)]&&X[r6(0x1bf)][r6(0x7ef)](o[r6(0x1bf)]))return C;C=X;}};}function Star(T){return Optional(Plus(T));}function PreCondition(T,V){return Pre(q=>{const r7=D,C=!T(q)?q:void 0x0;if(C)q[r7(0x2b3)](r7(0x292));return C;},V);}function PostCondition(T,V){return Post(T,{'match':(q,C)=>{const r8=D,o=!V(q[r8(0x1bf)]['results'][r8(0x7e8)](C[r8(0x1bf)]['results']['length']),q,C)?C:void 0x0;if(o)q[r8(0x2b3)](r8(0x60d));return o;}});}function As$1(T,V){const r9=x4,q=Use(T);return Pre(C=>{const o=q(C);if(o===C)return C;C['limit'](o['pos']);},Post(V,C=>C[r9(0x117)](void 0x0)));}function Effect(T,V){const rx=x4;return Post(T,{'match':(q,C)=>void V(q['collections'][rx(0x71e)][rx(0x7e8)](C[rx(0x1bf)]['results']['length']),q,C)});}function Node(T,V){return Effect(T,(q,C,o)=>{const rr=D,X=V(q,C,o);C[rr(0x1bf)]['results'][rr(0x33d)]=o[rr(0x1bf)][rr(0x71e)][rr(0x33d)],C['collections']['results'][rr(0x132)](X);});}function Text$2(T){const rR=x4;return Node(T,(V,q,C)=>q['text'][rR(0x358)](C[rR(0x169)],q['pos']));}function Void(T){return Effect(T,(V,q,C)=>{const rb=D;q[rb(0x1bf)]['results']['length']=C[rb(0x1bf)][rb(0x71e)][rb(0x33d)];});}function Important(T){const rD=x4;return Effect(T,(V,q)=>q[rD(0x1bf)]['important'][rD(0x132)](!![]));}const log$1=debuglog(x4(0x453));var Cursor=class Cursor{['text'];[x4(0x169)]=0x0;[x4(0x6f3)]=new Context();[x4(0xd7)]=null;[x4(0x534)]=new Collections();[x4(0x653)]=null;[x4(0x76f)]=new RestStorage();get['context'](){const rL=x4;return this[rL(0x6f3)]??=Context[rL(0x7f5)](this['__contextParts']);}get['collections'](){const rj=x4;return this[rj(0x534)]??=Collections['materialize'](this[rj(0x653)]);}[x4(0x3e1)]={'ignore':null,'boundary':null,'ignoreStack':[],'boundaryStack':[]};[x4(0x314)]={'enabled':log$1[x4(0x4b5)],'depth':0x0,'restDepth':void 0x0};['shared']={'forkId':void 0x0,'forks':[],'endPos':void 0x0,'farthestPos':0x0,'matchingRest':![],'weakDepth':0x0,'options':{}};get[x4(0x509)](){const rN=x4;return this[rN(0x1fc)][rN(0x509)];}get[x4(0x7fc)](){const rA=x4;return this[rA(0x1fc)][rA(0x7fc)];}constructor(T,V){const rS=x4;this[rS(0x82c)]=T,this['shared']['options']=V??{};}['clone'](){const rT=x4,T=Object[rT(0x3d8)](Cursor['prototype']);return T[rT(0x82c)]=this[rT(0x82c)],T['pos']=this[rT(0x169)],T[rT(0x6f3)]=null,T[rT(0xd7)]=this[rT(0x6f3)]?this[rT(0x6f3)][rT(0x24f)]():this[rT(0xd7)],T[rT(0x534)]=null,T[rT(0x653)]=this[rT(0x534)]?this['__collections']['share']():this['__collectionsMap'],T['tokens']=this[rT(0x3e1)],T[rT(0x76f)]=this[rT(0x76f)][rT(0x5a0)](),T[rT(0x314)]=this[rT(0x314)],T['shared']=this[rT(0x1fc)],T;}[x4(0x709)](T){const rV=x4,V=this[rV(0x5a0)](),q=this[rV(0x1fc)][rV(0x1f8)]+0x1,C=T[rV(0x5a0)]();return C[rV(0x1fc)]={...C[rV(0x1fc)],'forkId':''+(V[rV(0x1fc)]['forkId']?V[rV(0x1fc)][rV(0x808)]+'.':'')+(V[rV(0x1fc)][rV(0x11a)]['length']+0x1),'forks':[],'weakDepth':q},C[rV(0x314)]={...C[rV(0x314)]},C['rest']=new RestStorage(),V['shared']['forks']['push']({'$':C,'token':this[rV(0x76f)][rV(0x825)],'weight':q}),V[rV(0x4d0)](rV(0x609)+C[rV(0x1fc)]['forkId']+rV(0x5be)+q+')\x20'+C['getProgressString']()),V;}['limit'](T){const rq=x4;if(T===void 0x0||T<0x0)this['shared'][rq(0x5fd)]=void 0x0;else this[rq(0x1fc)][rq(0x5fd)]=Math[rq(0x67d)](T,this['shared'][rq(0x5fd)]??this['text']['length']);}[x4(0x74e)](T){const rC=x4,V=this['clone']();V[rC(0x169)]+=T;if(V[rC(0x169)]>V[rC(0x1fc)][rC(0x7fc)])V[rC(0x1fc)][rC(0x7fc)]=V[rC(0x169)];return V;}[x4(0x505)](T){const ry=x4,V=[ry(0x55c),ry(0x342),ry(0x4a9),ry(0x28d),'cyanBright','magentaBright',ry(0x615),ry(0x500)],q=T??this[ry(0x314)]['depth'],C=V[Math['max'](0x0,q-0x1)%V[ry(0x33d)]];return this[ry(0x314)][ry(0x59c)]!==void 0x0&&q>this[ry(0x314)][ry(0x59c)]?[ry(0x816),C]:[C];}[x4(0x475)](T=this[x4(0x169)]){const ro=x4;return styleText('reset','['+styleText([ro(0x816),'underline'],this[ro(0x82c)][ro(0x358)](0x0,T))+this[ro(0x82c)][ro(0x358)](T)+']');}[x4(0x556)](T){const rX=x4;let V='';if(this[rX(0x314)][rX(0x59c)]!==void 0x0){for(let C=0x0;C<this[rX(0x314)]['restDepth'];C++)V+=styleText(this[rX(0x505)](C+0x1),'│\x20');const q=this[rX(0x314)]['depth']-this[rX(0x314)]['restDepth'];for(let o=0x0;o<q;o++)V+=styleText(this[rX(0x505)](this[rX(0x314)][rX(0x59c)]+o+0x1),'┊\x20');}else{for(let X=0x0;X<this[rX(0x314)]['depth'];X++)V+=styleText(this['getDepthStyle'](X+0x1),'│\x20');}log$1(''+(this['shared'][rX(0x808)]?'*':'')+V+T);}[x4(0x366)](T){const rG=x4;this[rG(0x314)]['enabled']&&(this[rG(0x314)][rG(0x1c1)]-=0x1,this[rG(0x556)](styleText(this['getDepthStyle'](this['logs'][rG(0x1c1)]+0x1),rG(0x649)+T)),this['logs']['depth']+=0x1);}[x4(0x1a0)](T){const rB=x4;this['logs'][rB(0x4b5)]&&(this[rB(0x314)][rB(0x1c1)]-=0x1,this[rB(0x556)](styleText(this['getDepthStyle'](this[rB(0x314)][rB(0x1c1)]+0x1),rB(0x397)+T)+'\x20'+this[rB(0x475)]()));}['logGroup'](T){const ru=x4;this[ru(0x314)][ru(0x4b5)]&&(this[ru(0x556)](styleText(this['getDepthStyle'](this[ru(0x314)][ru(0x1c1)]+0x1),'▼\x20'+T)),this[ru(0x314)][ru(0x1c1)]+=0x1);}[x4(0x623)](T){const rc=x4;this[rc(0x314)][rc(0x4b5)]&&(this['logs'][rc(0x1c1)]-=0x1,this['log'](styleText(this[rc(0x505)](this[rc(0x314)][rc(0x1c1)]+0x1),'△\x20'+T)+'\x20'+this[rc(0x475)]()));}[x4(0xb2)](T){const rP=x4;if(this[rP(0x314)][rP(0x4b5)])this[rP(0x556)](styleText(this['getDepthStyle'](this[rP(0x314)][rP(0x1c1)]+0x1),'▶\x20'+T)+'\x20'+this[rP(0x475)]());}['logMatched'](T){const rY=x4;if(this[rY(0x314)][rY(0x4b5)])this[rY(0x556)](styleText(rY(0x7cd),'✓')+'\x20'+styleText('green',T['toString']())+'\x20\x20'+this['getProgressString']());}['logMismatched'](T){const rn=x4;if(this['logs'][rn(0x4b5)])this['log'](styleText('red','✗')+'\x20'+styleText(rn(0x1e6),T[rn(0x1f7)]())+'\x20'+this[rn(0x475)]());}[x4(0x4d0)](T){const rv=x4;if(this[rv(0x314)][rv(0x4b5)])this['log'](styleText(rv(0x4a9),'↷\x20'+T));}['logComplete'](){const rI=x4;if(this[rI(0x314)]['enabled']){if(this[rI(0x169)]<this[rI(0x82c)]['length'])log$1(styleText(rI(0x1e6),rI(0x5e8)+this[rI(0x475)](this['shared'][rI(0x7fc)])));else log$1(styleText(rI(0x7cd),'parsing\x20finished\x20✓\x20'+this[rI(0x475)](this[rI(0x1fc)]['farthestPos'])));}}};let emptyContinuation;var RestStorage=class RestStorage{[x4(0x5d6)]=null;get['token'](){return this['compose']({'probing':![]});}get[x4(0x63c)](){const re=x4;return this[re(0x135)]({'probing':!![]});}['compose']({probing:T}){const rM=x4,V=this[rM(0x5d6)];if(!V)return emptyContinuation??=All(...[]);const q=T?V[rM(0x63c)]:V['token'];if(q)return q;let C=[];for(let X=V;X;X=X[rM(0x668)]){const G=X[rM(0xf0)];if(typeof G===rM(0x7de))C[rM(0x132)](G);else{if(!T||G[rM(0x515)]!==rM(0x185))C=[G['wrap'](C)];}}const o=All(...C);if(T)V['probe']=o;else V[rM(0x825)]=o;return o;}[x4(0x5a0)](){const rK=x4,T=new RestStorage();return T[rK(0x5d6)]=this[rK(0x5d6)],T;}[x4(0x18c)](T){const rg=x4;for(let V=T[rg(0x33d)]-0x1;V>=0x0;--V)this[rg(0x5d6)]={'item':T[V],'next':this[rg(0x5d6)]};}['post'](T){this['unshift']({'kind':'post','wrap':V=>{return Post(V['length']>0x0?All(...V):Important(Nothing$1),T);}});}[x4(0x50a)](T,V){const rl=x4,q=T;this[rl(0x4bf)]({'kind':rl(0x50a),'wrap':C=>{const rf=rl;return Any(All(...C),...V[rf(0x16a)](o=>X=>{const rU=rf,G=q[rU(0x5a0)]();G[rU(0x1fc)]=X[rU(0x1fc)],G[rU(0x314)]=X[rU(0x314)];const B=o(G);return B!==G?B:X;}));}});}[x4(0x5fc)](T){const rE=x4;this[rE(0x4bf)]({'kind':rE(0x5fc),'wrap':V=>{return All(...V,Star(T));}});}['pop'](){const rZ=x4;this['head']=this[rZ(0x5d6)]?.['next']??null;}[x4(0x4bf)](T){const rH=x4;this[rH(0x5d6)]={'item':T,'next':this[rH(0x5d6)]};}};function State(T,V){const rt=x4,q=Symbol(rt(0x2a7));return V?C(V({'Mutate':X,'state':B,'mutate':G})):{'Provide':o,'Apply':C,'Mutate':X,'state':B,'mutate':G};function C(u){return o(Node(Void(u),(c,P)=>B(P)));}function o(u){const rm=rt;return Pre(c=>void c['collections'][q][rm(0x132)]({'init':T,'mutators':[]}),Post(u,c=>void c['collections'][q][rm(0x34c)]()));}function X(u,c){return Effect(u,(P,Y)=>G(Y,n=>c(n,P)));}function G(u,c){const rJ=rt;u['collections'][q]=u[rJ(0x1bf)][q][rJ(0x5a0)]({'deep':!![]});const P=u['collections'][q]['at'](-0x1);if(!P)throw new Error('Cannot\x20mutate\x20state\x20that\x20wasn\x27t\x20provided');u[rJ(0x1bf)][q]['at'](-0x1,{'init':P[rJ(0x767)],'mutators':[...P[rJ(0x3dc)],c]});}function B(u){const rs=rt,c=u[rs(0x1bf)][q]['at'](-0x1);if(!c)throw new Error('Cannot\x20return\x20state\x20that\x20wasn\x27t\x20provided');const P=structuredClone(c['init']);return c[rs(0x3dc)][rs(0x2d8)](Y=>Y(P)),P;}}function takeNextFork(T){const rO=x4;let V=0x0;for(let q=0x1;q<T['length'];++q){const C=T[q],o=T[V];if(C['weight']<o[rO(0x43b)]||C[rO(0x43b)]===o[rO(0x43b)]&&C['$'][rO(0x169)]>o['$'][rO(0x169)])V=q;}return T['splice'](V,0x1)[0x0];}function makeParse(T){const rp=x4,V=PostCondition(T,(q,C)=>C[rp(0x169)]===C[rp(0x82c)]['length']);return(q,C)=>{const rh=rp;if(typeof q!==rh(0x71a))throw new Error('Parsing\x20function\x20expects\x20a\x20string\x20input');const o=new Cursor(q,C);let X=V(o);if(X===o){const G=o[rh(0x1fc)]['forks'][rh(0x29f)](0x0,o[rh(0x1fc)]['forks'][rh(0x33d)]);while(G[rh(0x33d)]>0x0){const {$:B,token:u}=takeNextFork(G);o[rh(0x366)](rh(0x78e)+B['shared'][rh(0x808)]);const c=u(B);c[rh(0x1a0)](rh(0x78e)+B[rh(0x1fc)][rh(0x808)]);if(c!==B){X=c;break;}G[rh(0x132)](...c[rh(0x1fc)][rh(0x11a)]);}}if(X===o||X['pos']<q[rh(0x33d)])X[rh(0x1bf)][rh(0x5c3)][rh(0x132)]({'type':rh(0x3c1),'pos':X[rh(0x7fc)],'text':q[rh(0x7e8)](X[rh(0x7fc)])});return X['logComplete'](),Object[rh(0x714)](Array[rh(0xbd)](X[rh(0x1bf)]['keys']())['map'](P=>[P,X[rh(0x1bf)][P][rh(0x7e8)]()]));};}function test(T,V,q){const rk=x4;if(typeof V!==rk(0x71a))return![];const C=new Cursor(V,q),o=Use(T)(C);return C!==o&&o[rk(0x169)]>=V['length'];}function startsWith$2(T,V,q){const rF=x4;if(typeof V!==rF(0x71a))return![];const C=new Cursor(V,q),o=Use(T)(C);return C!==o&&o[rF(0x169)]>0x0;}function search(T,V,q){const rW=x4;if(typeof V!==rW(0x71a))return null;const C=new Cursor(V,q),o=Use(T);for(let X=0x0;X<V['length'];++X){const G=C['move'](X),B=o(G);if(B!==G&&B[rW(0x169)]>G[rW(0x169)])return{'text':V[rW(0x358)](X,B[rW(0x169)]),'pos':X};}return null;}const Article=T=>All(Optional(/the|an|a/i),T),Possessive=(T,{strict:V}={})=>Any(NoBoundary(All(T,/'s?/)),V?Never:T),InstructionTerminator=/[.;\s]*$/,ActionSeparator=/(?:(?:(?:,\s*)?(?:(?:and\s+)?(?:then|after)|and))|,)/i,ActionModifierSeparator=/[:,-]/,BlockSeparator=/[,;]/,AndListSeparator=/(?:,\s*)?and|,/i,OrListSeparator=/(?:,\s*)?(?:or|and)|,/i,The=/the(?:\s+the)?/i,IndefiniteArticle=/an|a/i,For=/for/i,Until=/until/i,To=/to/i,From=/from/i,Of=/of/i,By=/by/i,With=/with/i,Without=/without/i,As=/as/i,LocationPreposition=/into|within|inside|in|on|at/i,FunctionalPreposition=/as|under/i,RelationalPreposition=/from|in|at|as|below|under/i,EquivalencePreposition=/as|to/i,TemporalPreposition=/before|after|for/i,AssignmentPreposition=/with|as|to|in/i,StoragePreposition=/to|in|as|under/i,AssociationPreposition=/with|of/i,ConditionPreposition=/in|on|under/i,Only=/only/i,Last$1=/last/i,If$1=/if/i,And=/and/i,That=/that/i,While=/while/i,When=/when/i,Then$1=/then/i,NumberSign=/#|№/,Start=/Start/i,Bottom=/bottom/i,It=/it/i,Its=/its/i,Them=/them/i,This=/this/i,These=/these/i,Keyboard$1=/keyboard/i,KeyboardKey$1=All(Optional(Keyboard$1),/key|button/i),KeyboardKeys=All(Optional(Keyboard$1),/(?:key|button)s?/i),Character=/char(?:acter)?|symbol|letter/i,Characters=/(?:char(?:acter)?|symbol|letter)s?/i,Tab=/tab/i,Variables=/(?:var(?:iable)?|param(?:eter)?)s?/i,Parameters$1=/(?:arg(?:ument)?|var(?:iable)?|param(?:eter)?)s?/i,Value$5=/value|data|datum|content/i,Http=/https?|hyper\s*text\s+transfer\s+protocol/i,Pixels=/px|pixels?/i,Following=/following/i,Nothing=/nothing/i,Anything=/anything/i,Name$1=/name/i,Times$3=/times?/i,Evaluation=/eval(?:uation)?|exec(?:ution)?|step/i,Request$1=/request|req/,Result=/result/,Width=/width/,Height=/height/,Assertions=/(?:assert(?:ion)?|verification|validation|check(?:point)?)s?/i,CustomFlowTest=/test|custom[-\s]?flow(?:\s+test)?/i,TestStep=/(?:test[-\s])?step/i,TestSteps=/(?:test[-\s])?steps?/i,Website=/(?:web[-\s]?)?(?:site|page|document)/i,Websites=/(?:web[-\s]?)?(?:site|page|document)s?/i,Url$4=/url|(?:hyper)?link|domain|address/i,Title$2=/title/i,Endpoint$1=/endpoint|api|url|address/i,BasicAuth$1=/(?:basic\s+)?auth(?:orization)?/i,User=/user/i,HttpCookie=/(?:request\s+)?cookie/i,HttpHeader=/(?:request\s+)?header/i,HttpBody=/(?:request\s+)?body/i,HttpResponse=/(?:https?\s+)?(?:request\s+)?response/i,HttpStatusCode=/(?:request\s+)?status(?:\s+code)?/i,HttpStatusCodes=/(?:request\s+)?status(?:es|(?:\s+codes?))?/i,CSSPseudoClass=/styl(?:e|ing)|pseudo[-\s]?class/i,JavaScript=/js|java-?script/i,CodeSnippet=/(?:code\s+)?(?:snippet|expression|statement|line)|code/i,CollectionItems=/items?|elements?|entr(?:y|eis)/i,CollectionPairs=/pairs?|mappings?/i,CollectionKeys=/keys?/i,CollectionValues=/values?/i,Secret=/(?:(?:(?:(?:access|auth(?:entication)?)\s+)?(?:token|password|pwd|pass|security|pin)(?:\s*(?:key|code))?|secret(?:\s*(?:pin|key|code))?)|(?:access|auth(?:entication)?)\s+(?:key|code)|credit\s*card)/i,OTP$1=/(?:otp|one\s*-?\s*time\s*-?\s*password)(?:\s+(?:(?:pin\s*-?\s*)?code|password|key|digits|pin|(?:pass\s*-?\s*)?phrase|secret|passcode))?/i,File=/file|attachment/i,SelectboxOption=/(radio\s+)?(button|option|item|entry|value|text|element)/i,Popup=/(?:pop(?:-|\s*)(?:up|over)|dialog)(?:\s+(?:item))?/i,Tooltip=/(?:tool|info|help|context)\s*tip|help\s*tip|(?:info|hint|help|text)\s+bubble/i,Page=/page/i,WebPage=/(?:web[-\s]?)?(?:page|document)|window/i,PdfPage$1=/(?:document|pdf)\s+page/i,App$1=/app(?:lication)?/i,Viewport$1=/screen|viewport/i,Selector$1=/selector|locator/i,String$1=/text/i,Color$2=/colou?r/i,Date$1=/date/i,Time=/time/i,DateTime=/date(?:-|\s+and\s+|\s+)?time/i,Number$1=/amount|sum|total|number/i,Price$1=/price|cost|fee/i,Code=/id|code/i,Having=/with|holding|containing|including/i,Percentage$1=/percent(?:age)?/i,Text$1=/label|text|string/i,Link=/link/i,Heading=/heading/i,Menu=/menu/i,Hamburger=/(?:ham)?burger(?:\s+menu)?/i,MenuItem=/menu\s*(?:item|option|entry)/i,List$1=/list/i,ListItem=/list\s*(?:item|option|entry)/i,Header$4=/header/i,Footer=/footer/i,Card=/card|panel/i,Paragraph=/paragraph/i,Textbox=/box|text[-\s]?(?:box|area|field|input)|form(?:-|\s*)(?:field|input)|field|input(?:[-\s]?(?:field|box|area))?|edit[-\s]?(?:box|area)|bar/i,Searchbox=/search[-\s]?(?:box|bar)/i,Checkbox=/check[-\s]?box/i,CheckboxGroup=/check[-\s]?box\s*group/i,Radio=/radio/i,RadioGroup=/radio\s*group/i,ColorPicker=/colou?r(?:-|\s*)(?:picker|chooser|box|field|input)/i,DatePicker=/date(?:-|\s*)(?:picker|chooser|box|field|input)/i,TimePicker=/time(?:-|\s*)(?:picker|chooser|box|field|input)/i,DateTimePicker=/date(?:-|\s+and\s+|\s+)?time(?:-|\s*)(?:picker|chooser|box|field|input)/i,FilePicker=/file(?:-|\s*)(?:picker|chooser|box|field|input)/i,Inputbox=/input(?:-|\s+)?box/i,Selectbox=/select(?:-|\s+)?box/i,Valuebox=/value(?:-|\s+)?box/i,Combobox=/(?:drop[-\s]?down(?:\s+(?:menu|list))?|drop[-\s]?box|combo[-\s]?box)(?:\s+arrow)?/i,Listbox=/(?:list[-\s]?box)(?:\s+arrow)?/i,Option$1=/option/i,Form$1=/form/i,Image=/image|svg|picture|drawing|graphics?/i,Logo=/logo/i,Icon=/icon|svg|glyph/i,Button=/button|tab|(?:tool\s*bar|tool|bar)(?:\s+item)?/i,Slider=/slider/i,Ad=/advert(?:isement)?|ads?/i,Element$3=/element/i,Browser$1=/(?:(?:web|internet)[-\s])?browser/i,BrowserTab=All(Possessive(Browser$1),/tab/i),BrowserToolbar=All(Possessive(Browser$1),Optional(/tool[-\s]?bar/i)),BrowserDialogType=/alert|prompt|confirm/i,BrowserDialog=Any(All(/native/i,Optional(Possessive(Browser$1)),Any(BrowserDialogType,Popup)),All(Possessive(Browser$1),Any(BrowserDialogType,Popup)),BrowserDialogType),Accept=/ok|accept|agree|allow|confirm|submit/i,Dismiss=/cancel|decline|reject|close|discard|dismiss/i,Table=/table/i,Cell=/cell/i,Row=/row/i,Column=/column/i,Stub=/stub/i,Be=/be|is|are/i,Wait$1=/wait/i,Skip=/skip|ignore/i,Skipping=/skipping|ignoring/i,Run=/run|do|execute|perform/i,Running=/running|doing|executing|performing/i,Expect=/expect|accept|allow|permit/i,Expecting=/expecting|accepting|allowing|permitting/i,Using=/using/i,Holding=/holding|pressing|hitting/i,Activate=/activate|define|add/i,Cancel=/cancel|undefine|clear|reset/i,Dont=/do\s+not|don't/i,Optionally=/optionally|if\s+possible/i,Random=/random(?:ly)?/i,Relative=/relative/i,Current=/current/i,Each=/each|every|all|any/i,Named=/named|called|titled|(?:(?:with|of|that\s+has|showing)\s+(?:the\s+)?(?:name|title|text)?)/i,Maximum=/maximum|max|no\s+more\s+than|at\s+most|a\s+(?:max|maximum)\s+of|up\s+to/i,Inside=/within|inside(?:\s+of)?|on(?:top(?:\s+of)?)?|in|at|of/i,Near=/nearest|near|closest|close|next|adjacent/i,Background=/background/i,Foreground=/foreground/i,Back=/back/i,Forward=/forward/i,Previous=/prev(?:ious)?/i,Next=/next/i,Before=/before/i,After=/after/i,Prior=/before|prior(?:\s+to)?/i,Implicit=/implicit/i,Subsequent=/subsequent|remaining|next/i,Generated=/generated/i,New=/new/i,Zero=Use(/(zero)/i);Use(/(one)/i);const CardinalNumeralDigit=Use(/(one|two|three|four|five|six|seven|eight|nine)/i),CardinalNumeralTeen=Use(/(ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)/i),CardinalNumeralTen=Use(/(twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)/i),OrdinalNumeralDigit=Use(/(first|second|third|fourth|fifth|sixth|seventh|eighth|ninth)/i),OrdinalNumeralTeen=Use(/(tenth|eleventh|twelfth|thirteenth|fourteenth|fifteenth|sixteenth|seventeenth|eighteenth|nineteenth)/i),OrdinalNumeralTen=Use(/(twentieth|thirtieth|fortieth|fiftieth|sixtieth|seventieth|eightieth|ninetieth)/i),DenominatorNumeralDigit=Use(/(firsts?|half|halves|thirds?|fourths?|quoters?|fifths?|sixths?|sevenths?|eighths?|ninths?)/i),DenominatorNumeralTeen=Use(/(tenths?|elevenths?|twelfths?|thirteenths?|fourteenths?|fifteenths?|sixteenths?|seventeenths?|eighteenths?|nineteenths?)/i),DenominatorNumeralTen=Use(/(twentieths?|thirtieths?|fortieths?|fiftieths?|sixtieths?|seventieths?|eightieths?|ninetieths?)/i),MultiplicativeNumeral=Use(/(single|double|triple|quadruple|quintuple|sextuple|septuple|octuple|nonuple|decuple)/i),FractionNumeral=Use(/(half|quoter)/i),IterativeNumeral=Use(/(once|twice|thrice)/i),SkipSpaces=T=>All(Optional(/\s+/),Ignore(/\s+/,T)),TokenBoundary=T=>Boundary(/(?<!\w)|\b(?![-]|'\w)/,T),Sanitize$1=T=>TokenBoundary(SkipSpaces(T)),Mark=(T,{type:V,subtype:q,regexp:C,mutate:o})=>Effect(T,(X,G,B)=>{const rQ=x4,u=G[rQ(0x82c)][rQ(0x7e8)](B[rQ(0x169)],G['pos']);if(u){let c;if(C){const P=u[rQ(0x789)](C);if(P)c={'pos':B[rQ(0x169)]+P[rQ(0x6ee)],'text':P[0x0],'type':V};}else c={'pos':B[rQ(0x169)],'text':u,'type':V};if(c){if(q)c[rQ(0x1a4)]=q;o?.(c,X,G,B),G[rQ(0x1bf)][rQ(0x433)][rQ(0x132)](c);}}}),Fix=(T,V)=>Effect(Mark(T,{'type':x4(0x600)}),(q,C,o)=>{const ra=x4,X=C['text'][ra(0x7e8)](o[ra(0x169)],C[ra(0x169)]);if(X)C[ra(0x1bf)]['fixes'][ra(0x132)]({'pos':o[ra(0x169)],'text':X,'fix':V(X,q)});}),Disambiguate=(T,V)=>Effect(Mark(T,{'type':x4(0x7cc)}),(q,C,o)=>{const rz=x4,X=C[rz(0x82c)][rz(0x7e8)](o[rz(0x169)],C[rz(0x169)]);if(X)C['collections'][rz(0x321)][rz(0x132)]({'pos':o[rz(0x169)],'text':X,'replacements':V(X,q)});}),Wrap=(T,V)=>{const rw=x4,{left:q,right:C}=typeof T===rw(0x52d)&&!(T instanceof RegExp)?T:{'left':T,'right':T};return All(q,V,C);},DoubleQuoted$1=T=>Mark(Wrap('\x22',T),{'type':x4(0x71a),'subtype':x4(0x3d4)}),SingleQuoted$1=T=>Mark(Wrap('\x27',T),{'type':'string','subtype':'single\x20quoted'}),Quoted$1=T=>Any(DoubleQuoted$1(T),SingleQuoted$1(T)),Stringish=T=>Any(Quoted$1(T),Mark(T,{'type':x4(0x71a),'subtype':'unquoted'})),Index$1=T=>Node(T,([V])=>typeof V==='number'?V-0x1:V),List=(T,V)=>All(T,Star(All(V,T))),WeakList=(T,V)=>All(T,Star(Weak(All(V,T)))),Mask=()=>{const {Provide:T,state:V,mutate:q}=State({'enabled':![],'markers':[]});function C(X,G=!![]){const ri=D,B=G?ri(0x1de):ri(0x226);q(X,u=>u[ri(0x4b5)]=G),V(X)[ri(0x433)]['forEach'](u=>u[ri(0x54f)]=B);}const o=X=>Mark(X,{'type':'empty','mutate':(G,B,u)=>{const rd=D;if(V(u)[rd(0x4b5)])G[rd(0x54f)]='secret';q(u,c=>c['markers'][rd(0x132)](G));}});return{'Masker':T,'Maskable':o,'mask':C};},HorizontalAbsolutePosition=Any(Node(/(?:very\s+)?left(?:\s*(?:-\s*)?most)?|start|beginning/i,()=>'left'),Node(/(?:very\s+)?right(?:\s*(?:-\s*)?most)?|end/i,()=>x4(0x5fb))),VerticalAbsolutePosition=Any(Node(/(?:very\s+)?top(?:\s*(?:-\s*)?most)?/i,()=>x4(0x81c)),Node(/(?:very\s+)?bottom(?:\s*(?:-\s*)?most)?/i,()=>'bottom')),CenterAbsolutePosition=Node(/middle|center/i,()=>x4(0x764)),AbsolutePosition$1=Any(Node(All(Optional(The),HorizontalAbsolutePosition,Optional(All(And,VerticalAbsolutePosition))),([T,V])=>''+(V??'')+T),Node(All(Optional(The),VerticalAbsolutePosition,Optional(All(And,HorizontalAbsolutePosition))),([T,V])=>''+T+(V??'')),All(Optional(The),CenterAbsolutePosition)),HorizontalRelativePosition=Any(Node(/left/i,()=>x4(0x6f8)),Node(/right/i,()=>'rightof')),VerticalRelativePosition=Any(Node(/above|over/i,()=>x4(0xb1)),Node(/below|under/i,()=>'below')),BeforeRelativePosition=Any(Node(Before,()=>x4(0x2c6))),AfterRelativePosition=Any(Node(After,()=>x4(0x267))),RelativePosition=Any(Node(All(Optional(All(To,Optional(The))),HorizontalRelativePosition,Optional(All(And,Optional(All(To,Optional(The))),VerticalRelativePosition))),([T,V])=>''+(V??'')+T),Node(All(Optional(All(To,Optional(The))),VerticalRelativePosition,Optional(All(And,Optional(All(To,Optional(The))),HorizontalRelativePosition))),([T,V])=>''+T+(V??'')),BeforeRelativePosition,AfterRelativePosition),SequentialRelativePosition=T=>Any(Node(Any(All(Next,T),All(T,/that\s+(?:follows|comes\s+after)\s+(?:the\s+)?current/i)),([V])=>({'position':'next','object':V})),Node(Any(All(Previous,T),All(T,/that\s+comes\s+before\s+(?:the\s+)?current/i)),([V])=>({'position':x4(0x4cd),'object':V}))),BackspaceKey$1=Node(/backspace/i,()=>x4(0x7c5)),DeleteKey$1=Node(/del(?:ete)?/i,()=>'Delete'),ArrowKey$1=Any(Node(/up(?:\s+arrow)?|arrow\s+up/i,()=>x4(0x7be)),Node(/down(?:\s+arrow)?|arrow\s+down/i,()=>x4(0x439)),Node(/left(?:\s+arrow)?|arrow\s+left/i,()=>x4(0x3b1)),Node(/right(?:\s+arrow)?|arrow\s+right/i,()=>x4(0x640))),ControlKey$1=Any(Node(/escape|esc/i,()=>'Escape'),Node(/f1/i,()=>'F1'),Node(/f2/i,()=>'F2'),Node(/f3/i,()=>'F3'),Node(/f4/i,()=>'F4'),Node(/f5/i,()=>'F5'),Node(/f6/i,()=>'F6'),Node(/f7/i,()=>'F7'),Node(/f8/i,()=>'F8'),Node(/f9/i,()=>'F9'),Node(/f10/i,()=>'F10'),Node(/f11/i,()=>x4(0x31c)),Node(/f12/i,()=>'F12'),Node(/caps(?:\s*lock)?/i,()=>x4(0x105)),Node(/tab/i,()=>'Tab'),Node(/enter|return/i,()=>x4(0x6b4)),Node(/(?:left\s+)?shift/i,()=>x4(0x57b)),Node(/right\s+shift/i,()=>x4(0x6c9)),Node(/(?:left\s+)?(?:control|ctrl)/i,()=>x4(0x69b)),Node(/right\s+(?:control|ctrl)/i,()=>x4(0x37d)),Node(/(?:left\s+)?(?:meta|windows|command|cmd)/i,()=>x4(0x54b)),Node(/right\s+(?:meta|windows|command|cmd)/i,()=>x4(0x59d)),Node(/(?:left\s+)?(?:alt|alternate|option)/i,()=>x4(0x86d)),Node(/right\s+(?:alt|alternate|option)/i,()=>x4(0x813)),Node(/(?:alt|alternate)\s*gr(?:aph)/i,()=>x4(0x5c4)),Node(/space/i,()=>x4(0x348)),Node(/home/i,()=>'Home'),Node(/end/i,()=>x4(0x75b)),Node(/page\s*up|pgup/i,()=>x4(0x551)),Node(/page\s*down|pgdn/i,()=>x4(0x796)),Node(/ins(?:ert)?/i,()=>x4(0x4ec)),BackspaceKey$1,DeleteKey$1),KeyboardKey=Any(ControlKey$1,ArrowKey$1,Any(Node(/\\|backslash/i,()=>x4(0x745)),Node(/`(?!\S)|back\s*quote|back\s*tick/,()=>x4(0x6ad)),Node(/1|one/i,()=>'Digit1'),Node(/2|two/i,()=>x4(0x60e)),Node(/3|thee/i,()=>x4(0x847)),Node(/4|four/i,()=>x4(0x743)),Node(/5|five/i,()=>x4(0x4c3)),Node(/6|six/i,()=>x4(0x442)),Node(/7|seven/i,()=>'Digit7'),Node(/8|eight/i,()=>'Digit8'),Node(/9|nine/i,()=>x4(0x2ab)),Node(/0|zero/i,()=>x4(0x84e)),Node(/-(?!\S)|minus/i,()=>x4(0x118)),Node(/=(?!\S)|equal/i,()=>x4(0xc6)),Node(/Q/i,()=>x4(0x7ca)),Node(/W/i,()=>x4(0x40d)),Node(/E/i,()=>x4(0x74c)),Node(/R/i,()=>x4(0xca)),Node(/T/i,()=>'KeyT'),Node(/Y/i,()=>x4(0x47c)),Node(/U/i,()=>x4(0x133)),Node(/I/i,()=>'KeyI'),Node(/O/i,()=>x4(0x657)),Node(/P/i,()=>'KeyP'),Node(/\[(?!\S)|(?:left|open(?:ing)?)\s+bracket/i,()=>x4(0xed)),Node(/\](?!\S)|(?:right|clos(?:e|ing))\s+bracket/i,()=>x4(0x865)),Node(/A/i,()=>x4(0x455)),Node(/S/i,()=>x4(0xfe)),Node(/D/i,()=>x4(0x361)),Node(/F/i,()=>x4(0x1b0)),Node(/G/i,()=>x4(0x669)),Node(/H/i,()=>'KeyH'),Node(/J/i,()=>x4(0x4ca)),Node(/K/i,()=>'KeyK'),Node(/L/i,()=>x4(0x41d)),Node(/;(?!\S)|semi(?:colon)?/i,()=>x4(0x2e9)),Node(/"(?!\S)|(?:double\s+)?quote/i,()=>'Quote'),Node(/Z/i,()=>'KeyZ'),Node(/X/i,()=>x4(0x7d6)),Node(/C/i,()=>'KeyC'),Node(/V/i,()=>x4(0x2cc)),Node(/B/i,()=>x4(0x4e7)),Node(/N/i,()=>x4(0x593)),Node(/M/i,()=>x4(0x701)),Node(/,(?!\S)|comma/i,()=>x4(0x5ac)),Node(/\.(?!\S)|period|dot/i,()=>'Period'),Node(/\/(?!\S)|slash/i,()=>x4(0x4a2)))),InnerRelationalOffset=Any(Node(/half(?:\s*way)?/i,()=>0.5),Node(/entire|whole|full|all(?:\s+(?:the\s+)?way)?/i,()=>0x1)),Comment=Mark(Node(RegExpToken(/(?:\/\/|#)(.*)$/),([T])=>({'type':'comment','text':T[x4(0x4e3)]()})),{'type':x4(0x3b9)}),CARDINAL_NUMERALS={'one':0x1,'two':0x2,'three':0x3,'four':0x4,'five':0x5,'six':0x6,'seven':0x7,'eight':0x8,'nine':0x9,'ten':0xa,'eleven':0xb,'twelve':0xd,'fourteen':0xe,'fifteen':0xf,'sixteen':0x10,'seventeen':0x11,'eighteen':0x12,'nineteen':0x13,'twenty':0x14,'thirty':0x1e,'forty':0x28,'fifty':0x32,'sixty':0x3c,'seventy':0x46,'eighty':0x50,'ninety':0x5a};function cardinalNumeralToNumber(T){return CARDINAL_NUMERALS[T]??NaN;}const ORDINAL_NUMERALS={...CARDINAL_NUMERALS,'first':0x1,'second':0x2,'third':0x3,'fourth':0x4,'fifth':0x5,'sixth':0x6,'seventh':0x7,'eighth':0x8,'ninth':0x9,'tenth':0xa,'eleventh':0xb,'twelfth':0xc,'thirteenth':0xd,'fourteenth':0xe,'fifteenth':0xf,'sixteenth':0x10,'seventeenth':0x11,'eighteenth':0x12,'nineteenth':0x13,'twentieth':0x14,'thirtieth':0x1e,'fortieth':0x28,'fiftieth':0x32,'sixtieth':0x3c,'seventieth':0x46,'eightieth':0x50,'ninetieth':0x5a};function ordinalNumeralToNumber(T){return ORDINAL_NUMERALS[T]??NaN;}const DENOMINATOR_NUMERALS={...ORDINAL_NUMERALS,'firsts':0x1,'half':0x2,'halves':0x2,'thirds':0x3,'fourths':0x4,'quoter':0x4,'quoters':0x4,'fifths':0x5,'sixths':0x6,'sevenths':0x7,'eighths':0x8,'ninths':0x9,'tenths':0xa,'elevenths':0xb,'twelfths':0xc,'thirteenths':0xd,'fourteenths':0xe,'fifteenths':0xf,'sixteenths':0x10,'seventeenths':0x11,'eighteenths':0x12,'nineteenths':0x13,'twentieths':0x14,'thirtieths':0x1e,'fortieths':0x28,'fiftieths':0x32,'sixtieths':0x3c,'seventieths':0x46,'eightieths':0x50,'ninetieths':0x5a};function denominatorNumeralToNumber(T){return DENOMINATOR_NUMERALS[T]??NaN;}const ITERATIVE_NUMERALS={'once':0x1,'twice':0x2,'thrice':0x3};function iterativeNumeralToInteger(T){return ITERATIVE_NUMERALS[T]??NaN;}const MULTIPLICATIVE_NUMERALS={'single':0x1,'double':0x2,'triple':0x3,'quadruple':0x4,'quintuple':0x5,'sextuple':0x6,'septuple':0x7,'octuple':0x8,'nonuple':0x9,'decuple':0xa};function multiplicativeNumeralToInteger(T){return MULTIPLICATIVE_NUMERALS[T]??NaN;}const FRACTIONAL_NUMERALS={'quoter':0.25,'half':0.5};function fractionalNumeralToNumber(T){return FRACTIONAL_NUMERALS[T]??NaN;}function replace(T,V,q,C){return T['substring'](0x0,V)+C+T['substring'](V+q);}function normalizeString(T,V=/[]/){const R0=x4;return T[R0(0x268)](new RegExp(String[R0(0x5ab)]`\\([{\\nt]|${V[R0(0x275)]})`,'g'),(q,C)=>{if(C==='n')return'\x0a';else{if(C==='t')return'\x09';}return C;});}function normalizeNumericString(T,V){const R1=x4;if(V?.[R1(0x27e)]('en'))return T[R1(0x268)](',','');else return T['replaceAll']('.','')[R1(0x811)](',','.');}function mergeElementDescriptors(T,V){const R2=x4,q={...T,...V};if(T['type']&&V[R2(0x54f)]){q[R2(0x54f)]=[...new Set([T[R2(0x54f)]??[],V[R2(0x54f)]??[]][R2(0x3f1)]())];if(q[R2(0x54f)][R2(0x33d)]===0x1)q[R2(0x54f)]=q[R2(0x54f)][0x0];}if(T[R2(0x1d0)]&&V[R2(0x1d0)])q[R2(0x1d0)]=[T['anchor']??[],V[R2(0x1d0)]??[]][R2(0x3f1)]();if(T[R2(0x755)]?.[R2(0x54f)]&&V[R2(0x755)]?.['type']){q[R2(0x755)]['type']=[...new Set([T[R2(0x755)][R2(0x54f)]??[],V[R2(0x755)]['type']??[]][R2(0x3f1)]())];if(q['hints'][R2(0x54f)][R2(0x33d)]===0x1)q['hints']['type']=q['hints'][R2(0x54f)][0x0];}return q;}function attachAnchor(T,V){const R3=x4,q=Array[R3(0x1ec)](V)?V:[V];if(T['anchor'])T['anchor']=[T[R3(0x1d0)],...q][R3(0x3f1)]();else{if(q[R3(0x33d)]===0x1)T['anchor']=q[0x0];else T[R3(0x1d0)]=q;}}function attachAnchorAtDeepest(T,V){const R4=x4;if((Array[R4(0x1ec)](V)?V:[V])['some'](({element:q})=>q===T))return;if(T[R4(0x1d0)]){for(const q of Array[R4(0x1ec)](T[R4(0x1d0)])?T['anchor']:[T[R4(0x1d0)]])if(q[R4(0x22b)]&&!(R4(0x769)in q[R4(0x22b)])&&!(R4(0x3d6)in q[R4(0x22b)]))attachAnchorAtDeepest(q[R4(0x22b)],V);}else T[R4(0x1d0)]=V;}function convertToStructure(T){const R5=x4;if(Array[R5(0x1ec)](T))return{'isStructure':!![],'type':R5(0x406),'items':T[R5(0x16a)](V=>convertToStructure(V))};else{if(T&&typeof T===R5(0x52d))return{'isStructure':!![],'type':R5(0x309),'items':Object[R5(0x80f)](T)['map'](([V,q])=>({'key':V,'value':convertToStructure(q)}))};}return T;}const RESERVED_NAMES=new Set([x4(0x5ca),x4(0x7a7),x4(0x64b),'it']);function isReservedName(T){return RESERVED_NAMES['has'](T);}function isSecretName(T){const R6=x4,V=new RegExp('(?:'+[/(?:access|o?auth(?:entication|orization)?)[\s_-]*(?:key|code)/,/(credential|token)(?:s)?/,/(?:api|app(?:lication)?|client|shared)[\s_-]*secret/,/(?:secret|api|private|encryption|verification|certificate)(?:[\s_-]*(?:pin|code|key))+/,/(?:pin|secret|otp)[\s_-]*(?:code)?/,/(?:secure|security|authenticator|2fa|mfa|(?:two|2)[\s_-]factor)[\s_-]*(?:code)?/,/pass[\s_-]*(?:code|word|phrase)/,/(credit|payment)[\s_-]*card/,/(?:cc|cvv|cvc)[\s_-]*(?:number|code|digits?)/][R6(0x16a)](u=>u[R6(0x275)])[R6(0x78a)]('|')+')','i')[R6(0xc8)](T);if(!V)return![];const q=V[R6(0x6ee)],C=q+V[0x0]['length'],o=T[q-0x1]||'',X=T[C]||'';if(!/[A-Za-z0-9]/[R6(0x3a7)](o)&&!/[A-Za-z0-9]/['test'](X))return!![];const G=/[a-z0-9]/[R6(0x3a7)](o)&&/[A-Z]/[R6(0x3a7)](V[0x0][0x0]),B=/[A-Z]/[R6(0x3a7)](V[0x0]['slice'](-0x1))&&/[a-z0-9]/[R6(0x3a7)](X);return G||B;}function isElementType(T){return test(Any(ElementType$1,NoopElementType),T);}function isPatternName(T){return test(NamedPattern,T);}function isNamedColor(T){const R7=x4;if(typeof T!==R7(0x71a))return![];return test(NamedColor,T[R7(0x4e3)]());}function variableNameToElementType(T){const R8=x4,V=T[R8(0x655)]()[R8(0x811)](/[\s_-]+/g,'');if(/(link|url|address|uri|location)/[R8(0x3a7)](V))return R8(0x71d);if(/(btn|button|cta)/[R8(0x3a7)](V))return'button';if(/(combo(?:box)|dropdown|select)/['test'](V))return'combobox';if(/(listbox)/[R8(0x3a7)](V))return R8(0x3d0);if(/(radio)/[R8(0x3a7)](V))return R8(0x78c);if(/(form)/['test'](V))return'form';if(/(check)/[R8(0x3a7)](V))return R8(0xc4);if(/(popup|dialog|modal|alert)/['test'](V))return R8(0x1e0);if(/(logo|brand)/['test'](V))return R8(0x793);if(/(img|image|picture|photo)/['test'](V))return R8(0x82d);if(/(heading|title|subtitle)/[R8(0x3a7)](V))return R8(0x7a3);if(/(item)/[R8(0x3a7)](V))return R8(0x7dd);if(/(menu|nav)/[R8(0x3a7)](V))return'menu';if(/(burger)/[R8(0x3a7)](V))return'hamburger';if(/(datetime)/[R8(0x3a7)](V))return R8(0x56b);if(/(calendar|date)/[R8(0x3a7)](V))return'datepicker';if(/(time)/[R8(0x3a7)](V))return R8(0x54c);if(/(color)/['test'](V))return R8(0x23f);if(/(header|topbar)/[R8(0x3a7)](V))return'header';if(/(footer|bottombar)/[R8(0x3a7)](V))return R8(0x39c);if(/(icon|glyph|symbol)/[R8(0x3a7)](V))return R8(0x23b);if(/(range|slider)/[R8(0x3a7)](V))return R8(0x2e2);if(/(textbox|input|field)/['test'](V))return'textbox';if(/(text|label|paragraph|content)/['test'](V))return R8(0x82c);return null;}const Identifier$1=Use(/([^,.:\/'"{}[\]()/\s]+)/),MultiWordIdentifier=Use(/([^,.:\/'"{}[\]()/]+)\b/),Reference$1=(T,{context:V}={})=>Lazy(()=>Sanitize$1(Recursive(()=>{const Rx=x4,q=Any(Node(All('.',MultiWordIdentifier),([o])=>({'get':o})),Node(Wrap({'left':'[','right':']'},Any(IntegerNumberLiteral,QuotedInterpolatedStringLiteral,UnquotedInterpolatedStringLiteral({'escape':/[\]]/}))),([o])=>({'get':o}))),C=Node(RegExpLiteral,([o])=>({'match':o}));return Mark(Any(Node(Wrap({'left':'{%','right':'%}'},UnquotedJSExpressionLiteral({'char':/(?!%})./})),([o])=>{return{'isJSExpressionRef':!![],'expression':o,'type':T};}),Node(Wrap({'left':'{','right':'}'},All(MultiWordIdentifier,Star(Any(q,C)))),([o,...X],G)=>{const R9=D;let B;if(o==='it'&&G[R9(0x5e1)][R9(0x136)](R9(0x3a8)))B={...G[R9(0x5e1)][R9(0x3a8)],'modifiers':[...G['context'][R9(0x3a8)]?.[R9(0x496)]??[],...X],'type':T};else B={'isRef':!![],'name':o,'modifiers':X,'type':T};return G[R9(0x1bf)]['references'][R9(0x132)](B),B;})),{'type':Rx(0x3a8),'subtype':V});}))),VerboseReference=Any(Lazy(()=>{const Rr=x4;return Mark(Node(All(Optional(The),Optional(Last$1),HttpResponse,Optional(Any(Node(HttpBody,()=>[{'get':Rr(0x537)}]),Node(All(HttpCookie,InterpolatedStringLiteral$1),([T])=>[{'get':Rr(0x5e5)},{'get':T}]),Node(All(HttpHeader,InterpolatedStringLiteral$1),([T])=>[{'get':Rr(0x5c5)},{'get':T}])))),([T],V)=>{const RR=Rr,q={'isRef':!![],'name':RR(0x7a7),'modifiers':T,'type':RR(0x71a)};return V[RR(0x1bf)][RR(0x715)][RR(0x132)](q),q;}),{'type':Rr(0x3a8)});}),Mark(Node(All(Optional(The),Optional(Last$1),JavaScript,Optional(Evaluation),Result),(T,V)=>{const Rb=x4,q={'isRef':!![],'name':'js-result','type':Rb(0x71a)};return V[Rb(0x1bf)][Rb(0x715)]['push'](q),q;}),{'type':x4(0x3a8)}),Lazy(()=>{const RD=x4,T=Any(Node(Url$4,()=>({'type':RD(0x71a),'modifiers':[{'get':RD(0x5b7)}]})),Node(Title$2,()=>({'type':RD(0x71a),'modifiers':[{'get':'title'}]})),Node(HttpStatusCode,()=>({'type':RD(0x196),'modifiers':[{'get':RD(0x729)}]})),Node(Width,()=>({'type':RD(0x196),'modifiers':[{'get':'width'}]})),Node(Height,()=>({'type':RD(0x196),'modifiers':[{'get':RD(0x2b5)}]})),Node(All(HttpCookie,InterpolatedStringLiteral$1),([V])=>({'type':'string','modifiers':[{'get':'cookies'},{'get':V}]})),Node(All(HttpHeader,InterpolatedStringLiteral$1),([V])=>({'type':RD(0x71a),'modifiers':[{'get':RD(0x5c5)},{'get':V}]})));return Mark(Node(Any(All(Optional(The),T,Of,Any(The,This),Optional(Current),WebPage),All(Possessive(WebPage),T)),([{type:V,modifiers:q}],C)=>{const RL=RD,o={'isRef':!![],'name':'page','modifiers':q,'type':V};return C[RL(0x1bf)][RL(0x715)][RL(0x132)](o),o;}),{'type':RD(0x3a8)});})),NaturalNumberLiteral=Mark(Node(Dynamic(T=>T[x4(0x509)]['locale']?.[x4(0x27e)]('en')?Use(/([1-9](?:,(?=\d{3})|\d)*)/):Use(/([1-9](?:[.](?=\d{3})|\d)*)/)),([T],V)=>Number[x4(0x52f)](normalizeNumericString(T,V[x4(0x509)]['locale']))),{'type':x4(0x196)}),NonnegativeDecimalNumberLiteral=Mark(Node(Dynamic(T=>T[x4(0x509)][x4(0x1ed)]?.[x4(0x27e)]('en')?Use(/((?:0|[1-9](?:,(?=\d{3})|\d)*)?[.]\d+)/):Use(/((?:0|[1-9](?:[.](?=\d{3})|\d)*)?,\d+)/)),([T],V)=>Number[x4(0x57c)](normalizeNumericString(T,V[x4(0x509)][x4(0x1ed)]))),{'type':x4(0x196)}),DecimalNumberLiteral=Mark(Node(Dynamic(T=>T[x4(0x509)]['locale']?.['startsWith']('en')?Use(/([-+]?(?:0|[1-9](?:,(?=\d{3})|\d)*)[.]\d+)/):Use(/([-+]?(?:0|[1-9](?:[.](?=\d{3})|\d)*),\d+)/)),([T],V)=>Number[x4(0x57c)](normalizeNumericString(T,V[x4(0x509)][x4(0x1ed)]))),{'type':'number'}),NonnegativeIntegerNumberLiteral=Mark(Node(Dynamic(T=>T[x4(0x509)][x4(0x1ed)]?.[x4(0x27e)]('en')?Use(/(0|[1-9](?:,(?=\d{3})|\d)*)/):Use(/(0|[1-9](?:[.](?=\d{3})|\d)*)/)),([T],V)=>Number[x4(0x52f)](normalizeNumericString(T,V[x4(0x509)][x4(0x1ed)]))),{'type':'number'}),IntegerNumberLiteral=Mark(Node(Dynamic(T=>T['options'][x4(0x1ed)]?.[x4(0x27e)]('en')?Use(/([-+]?(?:0|[1-9](?:,(?=\d{3})|\d)*))/):Use(/([-+]?(?:0|[1-9](?:[.](?=\d{3})|\d)*))/)),([T],V)=>Number[x4(0x52f)](normalizeNumericString(T,V['options'][x4(0x1ed)]))),{'type':x4(0x196)}),NumericLiteral=Any(DecimalNumberLiteral,IntegerNumberLiteral),NonnegativeRationalNumberLiteral=Node(Mark(All(NonnegativeIntegerNumberLiteral,All('/',NaturalNumberLiteral)),{'type':x4(0x196)}),([T,V])=>T/V),RationalNumberLiteral=Node(Mark(All(IntegerNumberLiteral,All('/',NaturalNumberLiteral)),{'type':x4(0x196)}),([T,V])=>T/V),CardinalNumberLiteral=Node(Mark(Any(NoBoundary(All(CardinalNumeralTen,Optional(All(Optional(/and|-/i),CardinalNumeralDigit)))),CardinalNumeralTeen,CardinalNumeralDigit),{'type':x4(0x196)}),T=>T['reduce']((V,q)=>V+cardinalNumeralToNumber(q),0x0)),OrdinalNumberLiteral$1=Mark(Any(Node(Use(/(\d*(?:(?:[0|4-9]|1\d)th|1st|2nd|3rd))/i),([T])=>Number[x4(0x52f)](T)),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(/and|-/i),OrdinalNumeralDigit)),OrdinalNumeralTen,OrdinalNumeralTeen,OrdinalNumeralDigit),T=>T[x4(0x6d3)]((V,q)=>V+ordinalNumeralToNumber(q),0x0))),{'type':x4(0x196)}),FractionalNumberLiteral=Mark(Any(Node(All(Any(Node(Zero,()=>0x0),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(All(Optional(/and|-/i),CardinalNumeralTeen)))),CardinalNumeralTeen,CardinalNumeralDigit),T=>T[x4(0x6d3)]((V,q)=>V+cardinalNumeralToNumber(q),0x0))),Optional('-'),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(/and|-/i),DenominatorNumeralDigit)),DenominatorNumeralTen,DenominatorNumeralTeen,DenominatorNumeralDigit),T=>T[x4(0x6d3)]((V,q)=>V+denominatorNumeralToNumber(q),0x0))),([T,V])=>T/V),Node(FractionNumeral,([T])=>fractionalNumeralToNumber(T))),{'type':x4(0x196)}),QuantitativeNumberLiteral=Any(NonnegativeDecimalNumberLiteral,NonnegativeRationalNumberLiteral,NaturalNumberLiteral,FractionalNumberLiteral,CardinalNumberLiteral);Any(Node(Any(NonnegativeDecimalNumberLiteral,NonnegativeRationalNumberLiteral,FractionalNumberLiteral),([T])=>Math[x4(0x67d)](T,0x1)),Node(NoBoundary(All(NonnegativeIntegerNumberLiteral,'%')),([T])=>Math[x4(0x67d)](T/0x64,0x1)));const IterativeNumberLiteral=Node(IterativeNumeral,([T])=>iterativeNumeralToInteger(T)),MultiplicativeNumberLiteral=Node(MultiplicativeNumeral,([T])=>multiplicativeNumeralToInteger(T)),CardinalNumberExpression=Any(Reference$1('number'),NaturalNumberLiteral,CardinalNumberLiteral),IterativeNumberExpression=Any(Reference$1('number'),IterativeNumberLiteral),OrdinalNumberExpression$1=Any(Reference$1(x4(0x196)),OrdinalNumberLiteral$1),QuantitativeNumberExpression=Any(Reference$1('number'),QuantitativeNumberLiteral),NullLiteral=Node(/null|nil/i,()=>null),TimeUnitLiteral=Any(Node(/milliseconds?|millis|msecs?|ms/i,()=>0x1),Node(/seconds?|secs?|s/i,()=>0x3e8),Node(/minutes?|mins?|m/i,()=>0xea60)),TimeIntervalLiteral=Node(NoBoundary(All(Any(QuantitativeNumberLiteral,Nothing$1(0x1)),Optional(IndefiniteArticle),TimeUnitLiteral)),([T,V])=>T*V),TimeIntervalExpression=Any(Node(NoBoundary(All(Reference$1(x4(0x196)),Optional(TimeUnitLiteral))),([T,V])=>V?{'operator':x4(0x1d5),'operands':[{'isOperand':!![],'value':T},{'isOperand':!![],'value':V}]}:T),TimeIntervalLiteral),RegExpLiteral=Node(Use(/\/([^/]+)\/([gimsuy]*)/),([T,V])=>{return{'isPattern':!![],'pattern':T,'flags':V};}),NamedPattern=Node(Any(Node(Number$1,()=>'number'),Node(Price$1,()=>'price'),Node(Percentage$1,()=>x4(0x739)),Node(Date$1,()=>x4(0x525)),Node(Time,()=>x4(0xf9)),Node(Code,()=>x4(0x5e4))),([T])=>{return{'isPattern':!![],'name':T};}),QuotedStringLiteral=Customizable((T={})=>{const Rj=x4,V=T[Rj(0x148)]??/./,q=Node(Use(new RegExp(String[Rj(0x5ab)]`"((?:(?:\\["\\nt])|(?:(?!["])${V[Rj(0x275)]}))*)"`)),([o])=>normalizeString(o,/["]/)),C=Node(Use(new RegExp(String[Rj(0x5ab)]`'((?:(?:\\['\\nt])|(?:(?!['])${V[Rj(0x275)]}))*)'`)),([o])=>normalizeString(o,/[']/));return Node(Any(Mark(q,{'type':Rj(0x71a),'subtype':Rj(0x3d4)}),Mark(C,{'type':Rj(0x71a),'subtype':Rj(0x18e)})),([o])=>normalizeString(o,/['"]/));}),QuotedInterpolatedStringLiteral=Customizable((T={})=>{const RN=x4,V=T[RN(0x148)]??/./,q=Node(Use(new RegExp(String[RN(0x5ab)]`({?(?:(?:\\["{\\nt])|(?:(?!["{])${V[RN(0x275)]}))+|{)`)),([X])=>normalizeString(X,/["]/)),C=Node(Use(new RegExp(String['raw']`({?(?:(?:\\['{\\nt])|(?:(?!['{])${V[RN(0x275)]}))+|{)`)),([X])=>normalizeString(X,/[']/)),o=Use(/(\s+)/);return Raw(Node(Any(Mark(Wrap('\x22',Star(Any(o,Reference$1(RN(0x71a),{'context':RN(0x7d8)}),q))),{'type':RN(0x71a),'subtype':'double\x20quoted'}),Mark(Wrap('\x27',Star(Any(o,Reference$1(RN(0x71a),{'context':RN(0x792)}),C))),{'type':RN(0x71a),'subtype':RN(0x18e)})),X=>{const RA=RN;X=X[RA(0x6d3)]((G,B)=>{const RS=RA;if(typeof B===RS(0x71a)){if(typeof G['at'](-0x1)===RS(0x71a))G[G['length']-0x1]+=B;else G[RS(0x132)](B);}else G['push'](B);return G;},[]);if(X[RA(0x33d)]===0x0)return'';else{if(X[RA(0x33d)]===0x1&&typeof X[0x0]===RA(0x71a))return X[0x0];else return{'isInterpolatedString':!![],'chunks':X};}}));}),UnquotedStringLiteral$1=Customizable((T={})=>{const RT=x4,V=T['char']??/[^,\s]/,q=T[RT(0x4b6)]??/[]/,C=T[RT(0x25e)],o=Use(new RegExp(RT(0x763)+q['source']+')'+V[RT(0x275)]+RT(0x84b)));return Mark(C?NonEmpty(Weak(o)):o,{'type':'string','subtype':'unquoted'});}),UnquotedInterpolatedStringLiteral=Customizable((T={})=>{const RV=x4,V=T[RV(0x148)]??/[^,\s]/,q=T[RV(0x4b6)]??/[]/,C=T[RV(0x25e)],o=Use(new RegExp(String[RV(0x5ab)]`({?(?:(?:\\(?:[{\\nt]|${q['source']}))|(?:(?![{]|${q[RV(0x275)]})${V[RV(0x275)]}))+|{)`)),X=Node(Plus(Any(All(Not(/["'\s]/),Reference$1(RV(0x71a),{'context':RV(0x83c)})),o)),G=>{const Rq=RV;G=G[Rq(0x16a)](B=>typeof B===Rq(0x71a)?normalizeString(B,q):B);if(G[Rq(0x33d)]===0x1)return G[0x0];else return{'isInterpolatedString':!![],'chunks':G};});return Raw(Mark(C?NonEmpty(Weak(X)):X,{'type':RV(0x71a),'subtype':RV(0x5ee)}));}),StandaloneInterpolatedStringLiteral=Customizable((T={})=>{const RC=x4,V=T[RC(0x148)]??/./,q=Use(new RegExp(String[RC(0x5ab)]`({?(?:(?:\\[{\\nt])|(?:(?![{])${V[RC(0x275)]}))+|{)`));return Raw(Node(Mark(Star(Any(Use(/(\s+)/),Reference$1(RC(0x71a),{'context':RC(0x6a3)}),q)),{'type':RC(0x71a),'subtype':RC(0x11d)}),C=>{const Ry=RC;C=C[Ry(0x6d3)]((o,X)=>{const Ro=Ry;if(typeof X===Ro(0x71a)){X=normalizeString(X);if(typeof o['at'](-0x1)===Ro(0x71a))o[o[Ro(0x33d)]-0x1]+=X;else o['push'](X);}else o[Ro(0x132)](X);return o;},[]);if(C[Ry(0x33d)]===0x0)return'';else{if(C[Ry(0x33d)]===0x1)return C[0x0];else return{'isInterpolatedString':!![],'chunks':C};}}));}),StringLiteral$1=Customizable((T={})=>{return Any(QuotedStringLiteral(T),UnquotedStringLiteral$1(T));}),InterpolatedStringLiteral$1=Customizable((T={})=>{return Any(QuotedInterpolatedStringLiteral(T),UnquotedInterpolatedStringLiteral(T));}),QuotedStringExpression=Customizable((T={})=>{return Any(Reference$1('string'),VerboseReference,QuotedInterpolatedStringLiteral(T));}),UnquotedStringExpression=Customizable((T={})=>{return Any(VerboseReference,UnquotedInterpolatedStringLiteral(T));}),StringExpression$1=Customizable((T={})=>{const RX=x4;return LogGroup({'name':RX(0x20e),'collapsed':![]},Any(VerboseReference,InterpolatedStringLiteral$1(T)));}),StandaloneStringExpression=StandaloneInterpolatedStringLiteral,QuotedJSExpressionLiteral=Lazy(()=>{const RG=x4;return Raw(Mark(Node(Any(Wrap('\x22',Star(Any(Reference$1('any'),Use(/(\{?(?:\\["{\\]|[^"{])+)/)))),Wrap('\x27',Star(Any(Reference$1(RG(0x50a)),Use(/(\{?(?:\\['{\\]|[^'{])+)/))))),T=>{const RB=RG;return T=T[RB(0x16a)](V=>typeof V===RB(0x71a)?V['replace'](/\\(["'{\\])/g,'$1'):V),{'isJSExpression':!![],'chunks':T};}),{'type':'js\x20code'}));}),UnquotedJSExpressionLiteral=Customizable((T={})=>{const Ru=x4,V=T['char'];return Raw(Mark(Node(V?Star(Any(Reference$1('any'),Use(new RegExp(String[Ru(0x5ab)]`(\{?(?:\\[{\\]|(?![{])${V[Ru(0x275)]})+)`)))):As$1(Anything$1,Star(Any(Reference$1(Ru(0x50a)),Use(/(\{?(?:\\[{\\]|[^{])+)/)))),q=>{const Rc=Ru;return q=q[Rc(0x16a)](C=>typeof C===Rc(0x71a)?C[Rc(0x811)](/\\(["'{\\])/g,'$1'):C),{'isJSExpression':!![],'chunks':q};}),{'type':Ru(0x57f)}));}),JSExpressionLiteral$1=Customizable((T={})=>{return Any(QuotedJSExpressionLiteral,UnquotedJSExpressionLiteral(T));}),StructureLiteral$1=Lazy(()=>Recursive(T=>{const RP=x4,V=Any(Reference$1('string'),Use(/([^:'",\s]+)/),InterpolatedStringLiteral$1),q=Any(Reference$1(RP(0x50a)),T,PrimitiveLiteral({'escape':/[\]]/})),C=Any(Reference$1('any'),T,PrimitiveLiteral({'escape':/[\}]/}));return Any(Node(Mark(Wrap({'left':'[','right':']'},Optional(List(q,','))),{'type':'array'}),o=>({'isStructure':!![],'type':RP(0x406),'items':o})),Node(Mark(Wrap({'left':'{','right':'}'},Optional(List(Node(All(Mark(V,{'type':RP(0x3b5)}),':',C),([o,X])=>({'key':o,'value':X})),','))),{'type':RP(0x309)}),o=>({'isStructure':!![],'type':RP(0x309),'items':o})));})),BooleanLiteral=Any(Node(/true/i,()=>!![]),Node(/false/i,()=>![]));Any(Reference$1(x4(0x716)),BooleanLiteral);const PrimitiveLiteral=Customizable((T={})=>{return Any(NullLiteral,BooleanLiteral,RationalNumberLiteral,DecimalNumberLiteral,IntegerNumberLiteral,InterpolatedStringLiteral$1(T));}),AnyExpression$1=Any(Reference$1(x4(0x50a)),VerboseReference,StructureLiteral$1,PrimitiveLiteral),AnyVerboseExpression=Customizable((T={})=>{const RY=x4;return Any(Reference$1(RY(0x50a)),VerboseReference,StructureLiteral$1,CardinalNumberLiteral,FractionalNumberLiteral,PrimitiveLiteral(T));}),Url$3=Mark(StringExpression$1,{'type':x4(0x1de),'regexp':/(?<=^[^:]+:\/\/.+(?:(?=(?<!\\){)|:)).+(?=@.+)/}),ExplicitUrl=Mark(Stringish(Use(/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/)),{'type':'secret','regexp':/(?<=^[^:]+:\/\/.+(?:(?=(?<!\\){)|:)).+(?=@.+)/}),Viewport=Node(All(Optional(The),Viewport$1),()=>({'isViewportDescriptor':!![]})),Dialog=Node(All(Optional(The),BrowserDialog),(T,V)=>{const Rn=x4,q={'isDialogDescriptor':!![]};return V[Rn(0x5e1)][Rn(0x22b)]=q,q;}),{Apply:Apply$28,Mutate:Mutate$28}=State({'isDialogElementDescriptor':!![]}),ButtonTitle$1=Any(Mutate$28(Stringish(Accept),T=>T['title']='ok'),Mutate$28(Stringish(Dismiss),T=>T[x4(0x5e0)]='cancel')),TextboxTitle$1=Mutate$28(Stringish(/prompt|answer/i),T=>T[x4(0x5e0)]='prompt'),DialogButton=Effect(Apply$28(All(Optional(The),Any(All(Optional(Possessive(BrowserDialog)),ButtonTitle$1),All(ButtonTitle$1,Optional(Possessive(BrowserDialog)))),Optional(Button))),([T],V)=>V[x4(0x5e1)][x4(0x22b)]=T),ExplicitDialogButton=Effect(Apply$28(All(Optional(The),Any(All(Possessive(BrowserDialog),ButtonTitle$1),All(ButtonTitle$1,Possessive(BrowserDialog))),Optional(Button))),([T],V)=>V[x4(0x5e1)][x4(0x22b)]=T),DialogTextbox=Effect(Apply$28(All(Optional(The),Optional(Possessive(BrowserDialog)),TextboxTitle$1,Optional(Textbox))),([T],V)=>V[x4(0x5e1)]['element']=T),ExplicitDialogTextbox=Effect(Apply$28(All(Optional(The),Possessive(BrowserDialog),TextboxTitle$1,Optional(Textbox))),([T],V)=>V[x4(0x5e1)][x4(0x22b)]=T),RelativeAnchor=({Element:T})=>Any(Node(All(Near,Optional(To),T),([V])=>({'position':'near','element':V})),Node(All(RelativePosition,Optional(Of),T),([V,q])=>({'position':V,'element':q}))),AbsoluteAnchor=({Element:T})=>{const Rv=x4,V=Any(Viewport,Dialog,T),q=Node(PostCondition(List(T({'anchor':![]}),Inside),C=>C[Rv(0x33d)]>=0x2&&C[Rv(0x529)](o=>o['type']&&o[Rv(0x54f)]===C[0x0]['type'])),C=>{const RI=Rv;return C[RI(0x10d)]((o,X)=>(attachAnchor(X,{'position':RI(0x4f9),'element':o}),X));});return Any(Node(All(Optional(LocationPreposition),AbsolutePosition$1,Optional(All(Any(LocationPreposition,Of),V))),([C,o])=>o?{'position':C,'element':o}:{'position':C}),Node(All(Inside,WeakList(Any(q,V),AndListSeparator)),C=>{const Re=Rv,o=C[Re(0x16a)](X=>({'position':Re(0x4f9),'element':X}));return o['length']>0x1?o:o[0x0];}));},Anchor$3=T=>{const RM=x4;return LogGroup(RM(0x7c7),Mark(Any(RelativeAnchor(T),AbsoluteAnchor(T)),{'type':'anchor'}));},NamedColor=Any(Node(/red/i,()=>'red'),Node(/blue/i,()=>x4(0x28d)),Node(/green/i,()=>x4(0x7cd)),Node(/yellow/i,()=>'yellow'),Node(/orange/i,()=>'orange'),Node(/purple/i,()=>x4(0x1ba)),Node(/pink/i,()=>x4(0x3c4)),Node(/brown/i,()=>x4(0x38b)),Node(/black/i,()=>'black'),Node(/white/i,()=>x4(0x5c8)),Node(/gr[ae]y/i,()=>'gray'),Node(/cyan/i,()=>x4(0x55c)),Node(/magenta/i,()=>x4(0x342)),Node(/lime/i,()=>'lime'),Node(/navy/i,()=>x4(0x541)),Node(/teal/i,()=>'teal'),Node(/maroon/i,()=>'maroon'),Node(/olive/i,()=>x4(0x81f)),Node(/aqua/i,()=>x4(0x631)),Node(/silver/i,()=>x4(0x507)),Node(/gold/i,()=>'gold'),Node(/indigo/i,()=>x4(0x1c9)),Node(/violet/i,()=>x4(0x6d4)),Node(/crimson/i,()=>'crimson'),Node(/coral/i,()=>'coral'),Node(/salmon/i,()=>x4(0x85b)),Node(/turquoise/i,()=>x4(0x5d2)),Node(/lavender/i,()=>'lavender'),Node(/khaki/i,()=>x4(0x7b6)),Node(/tan/i,()=>x4(0x335)),Node(/beige/i,()=>x4(0x58d)),Node(/ivory/i,()=>x4(0x34a)),Node(/plum/i,()=>x4(0x5d3)),Node(/azure/i,()=>'azure'),Node(/mint/i,()=>x4(0x1ab)),Node(/peach/i,()=>x4(0x35c))),EncodedColor=Any(Use(/(rgb\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\))/i),Use(/(rgba\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d*\.?\d+\s*\))/i),Use(/(cmyk\(\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\))/i),Use(/(hsl\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\))/i),Use(/(#[0-9A-F]{3}(?:[0-9A-F]{3})?)/i)),Color$1=Any(EncodedColor,NamedColor),{Apply:Apply$27,Mutate:Mutate$27,state:state$2}=State({}),Type$3=Void(Mutate$27(Use(/(css|xpath)/i),(T,[V])=>T['type']=V['toLowerCase']())),Value$4=Mutate$27(Node(StringExpression$1,([T],V)=>({'type':state$2(V)[x4(0x54f)]??(typeof T==='string'&&['/','(','../','./','*/'][x4(0x654)](q=>T[x4(0x27e)](q))?x4(0x513):'css'),'selector':T})),(T,[{type:V,selector:q}])=>{T['type']=V,T['selector']=q;}),ElementSelector=Apply$27(All(Any(All(Type$3,Optional(All(Optional(Any('-',With,By)),Selector$1))),All(Nothing$1(void 0x0),Selector$1)),Mark(Value$4,{'type':x4(0x7b1),'mutate':(T,[V])=>T['subtype']=V[x4(0x54f)]}))),NoopElementType=Element$3,AppElementType=Node(Any(WebPage,App$1),()=>x4(0x6e5)),groups={'control':[x4(0x1b6),x4(0xc4),x4(0x1e8),x4(0x78c),'textbox','combobox',x4(0x3d0),x4(0x4cc),'datepicker','timepicker',x4(0x56b),x4(0x23f),'filepicker',x4(0x2e2),x4(0x182),x4(0x5de),x4(0x4b3),'button',x4(0x81d)],'structural':['ad','header','footer',x4(0x1e0),'tooltip',x4(0x1c5),'menu',x4(0x7dd),x4(0x700),x4(0x5bc),x4(0x5fe),x4(0x7a3),x4(0x7ac),'table-cell',x4(0x5aa),x4(0x7ba),x4(0x2d1),x4(0x387),x4(0x1fb),x4(0x6da),x4(0x85a)],'content':[x4(0x82c),'link',x4(0x2c4),'logo',x4(0x82d),x4(0x23b),x4(0x834),x4(0x488)]},definitions=[[x4(0x7f9),Tooltip],['button',Button],[x4(0x1e8),RadioGroup],[x4(0x78c),Radio],['textbox',Textbox],[x4(0x1b6),CheckboxGroup],[x4(0xc4),Checkbox],['combobox',Combobox],['listbox',Listbox],[x4(0x4cc),Option$1],[x4(0x23f),ColorPicker],[x4(0x530),DatePicker],['timepicker',TimePicker],[x4(0x56b),DateTimePicker],[x4(0x67f),FilePicker],['slider',Slider],[x4(0x182),Inputbox],[x4(0x5de),Selectbox],[x4(0x4b3),Valuebox],[x4(0x85a),PdfPage$1],['ad',Ad],[x4(0x1fb),All(Optional(Table),Header$4,Cell)],[x4(0x733),All(Optional(Table),Cell)],[x4(0x7ba),All(Optional(Table),Header$4,Row)],['table-row',All(Optional(Table),Row)],[x4(0x387),All(Optional(Table),Stub,Column)],[x4(0x2d1),All(Optional(Table),Column)],['table',Table],['header',Header$4],[x4(0x39c),Footer],[x4(0x1e0),Popup],['form',Form$1],[x4(0x7dd),MenuItem],[x4(0x4e4),Menu],['listitem',ListItem],[x4(0x5bc),List$1],[x4(0x700),Hamburger],['heading',Heading],['card',Card],[x4(0x82c),Text$1],[x4(0x71d),Link],[x4(0x793),Logo],[x4(0x82d),Image],[x4(0x23b),Icon],['paragraph',Paragraph]],ElementType$1=Customizable((T={})=>{const RK=x4;let V;if(T?.[RK(0x75c)]){const q=new Set(T[RK(0x75c)][RK(0x1ff)](C=>groups[C]??C));V=definitions[RK(0x1ff)](([C,o])=>{const Rg=RK;if(q[Rg(0x136)](C))return Node(o,()=>C);return[];});}else V=definitions[RK(0x16a)](([C,o])=>Node(o,()=>C));return Any(...V);}),{Apply:Apply$26,Mutate:Mutate$26}=State({}),Type$2=Customizable(T=>{const Rl=x4,V=T?.['allowed']?.['filter'](C=>C!==Rl(0x46e)),q=!V||V['length']<T[Rl(0x75c)][Rl(0x33d)];return Any(Mutate$26(ElementType$1({'allowed':V}),(C,[o])=>C['type']=o),!V||V[Rl(0x241)]('textbox')?Mutate$26(Any(All(Stringish(Use(/(search)/i)),/bar|box/i),Searchbox),(C,[o=Rl(0x830)])=>{const Rf=Rl;C['type']=Rf(0x28b),C['title']=o;}):Never,q?NoopElementType:Never);}),App=Mutate$26(AppElementType,(T,[V])=>T[x4(0x54f)]=V),IndexedPdfPage=Mutate$26(All(Optional(The),Any(All(Index$1(OrdinalNumberExpression$1),Any(PdfPage$1,Page)),All(Any(PdfPage$1,Page),Optional(Any(NumberSign,Number$1)),Index$1(CardinalNumberExpression)))),(T,[V])=>(T['type']='pdfpage',T[x4(0x779)]=V)),ExplicitColor=Mutate$26(Any(All(Color$2,Any(EncodedColor,StringExpression$1)),All(Any(EncodedColor,StringExpression$1),Color$2)),(T,[V])=>T[x4(0x81d)]=V),KnownColor=Mutate$26(Color$1,(T,[V])=>T[x4(0x81d)]=V),Colorable=T=>Any(All(T,Any(With,Of),Optional(The),ExplicitColor),All(Optional(KnownColor),T)),Selector=Mutate$26(All(Optional(All(Any(With,By),Optional(The))),ElementSelector),(T,[V])=>T[x4(0x7b1)]=V),ReferenceTitle=Mutate$26(Mark(Reference$1(x4(0x71a)),{'type':x4(0x82c)}),(T,[V])=>{const RU=x4;T[RU(0x5e0)]=V;}),Title$1=Customizable(({weak:T}={})=>Mutate$26(Any(All(Optional(All(Having,Optional(The))),NamedPattern),All(Named,Mark(StringExpression$1,{'type':x4(0x82c)})),Mark(StringExpression$1({'weak':T}),{'type':x4(0x82c)})),(V,[q])=>{const RE=x4;V[RE(0x5e0)]=q;if(typeof q===RE(0x71a)&&isSecretName(q))V['secret']=!![];})),ExplicitTitle=Mutate$26(Any(All(All(Having,Optional(The)),NamedPattern),All(Named,Mark(StringExpression$1,{'type':x4(0x82c)}))),(T,[V])=>{const RZ=x4;T[RZ(0x5e0)]=V;if(typeof V===RZ(0x71a)&&isSecretName(V))T[RZ(0x1de)]=!![];}),Nth=Mutate$26(All(Optional(The),Index$1(OrdinalNumberExpression$1)),(T,[V])=>T[x4(0x779)]=V),Last=Mutate$26(Any(Last$1,Bottom),T=>T['orderDirection']=x4(0x671)),SearchOrder=Any(Mutate$26(/from\s+(?:the\s+)?(?:beginning|top)/i,T=>T['orderDirection']='forward'),Mutate$26(/from\s+(?:the\s+)?(?:end|bottom)/i,T=>T[x4(0x43f)]=x4(0x671))),ElementAnchor=T=>Mutate$26(Anchor$3({'Element':T}),(V,[q])=>attachAnchor(V,q)),TypeAnchor=Mutate$26(All(Optional(The),Any(Possessive(AppElementType,{'strict':!![]}),Possessive(ElementType$1({'allowed':[x4(0x528)]}))),Not(Inside)),(T,[V])=>attachAnchor(T,{'position':x4(0x4f9),'element':{'type':V}})),Element$2=Recursive((T,{depth:V})=>{return Customizable(q=>{const RH=D,C=q?.[RH(0x7d0)]&&V===0x0,o=q?.[RH(0x1d0)]!==![],X=!!q?.[RH(0x18a)]&&!q[RH(0x18a)]['includes']('noop'),G=Type$2({'allowed':q?.[RH(0x18a)]}),B=o?List(ElementAnchor(T(q)),AndListSeparator):Never,u=All(Optional(The),Any(All(G,Selector),All(Selector,Optional(G)))),c=Any(All(Optional(The),Any(Last,ReferenceTitle),Colorable(G),Optional(B)),All(Optional(Nth),Optional(The),Any(All(Colorable(G),Any(All(SearchOrder,Optional(Selector)),o?All(Optional(Selector),B):Never,All(Title$1({'weak':!![]}),Optional(Selector),Optional(B)),Optional(Selector))),All(Colorable(All(Title$1,G)),Optional(Selector),Optional(B))))),P=C?Any(All(Optional(Nth),The,Title$1,Optional(Selector),Optional(B)),o?All(Title$1,Optional(Selector),B):Never,All(ExplicitTitle,Optional(Selector))):Any(All(Optional(The),Last,Optional(The),Any(All(Title$1,NonEmpty(All(Optional(Selector),Optional(B)))),Title$1({'weak':!![]}))),All(Nth,Optional(The),Any(All(Title$1,NonEmpty(All(Optional(Selector),Optional(B)))),Title$1({'weak':!![]}))),All(Optional(The),Any(All(Title$1,NonEmpty(All(Optional(Selector),Optional(B)))),Title$1({'weak':!![]}))));return Effect(LogGroup(RH(0x806),Mark(Apply$26(Any(IndexedPdfPage,u,Longest(o?All(TypeAnchor,c):Never,Any(c,Article(App),X?Never:P),o&&!X?All(TypeAnchor,P):Never))),{'type':RH(0x576)})),([Y],n)=>{const Rt=RH;if(Y['type']!==Rt(0x6e5))n[Rt(0x5e1)]['element']=Y;if(Y['title']&&typeof Y[Rt(0x5e0)]===Rt(0x52d)&&Rt(0x47a)in Y['title']){const v=variableNameToElementType(Y['title'][Rt(0x15f)]);v&&(Y[Rt(0x755)]=Y[Rt(0x755)]??{},Y[Rt(0x755)][Rt(0x54f)]=[v]);}if(Y[Rt(0x779)]!==void 0x0&&!Y[Rt(0x5e0)]){if(Y['type']===Rt(0x5aa))Y[Rt(0x54f)]='table-leaf-row';if(Y[Rt(0x54f)]===Rt(0x2d1))Y[Rt(0x54f)]=Rt(0x402);}if(Array[Rt(0x1ec)](Y[Rt(0x1d0)])){function I(M){const Rm=Rt;if(!M)return![];return(Array[Rm(0x1ec)](M)?M:[M])[Rm(0x654)](K=>[Rm(0x2d1),'table-row',Rm(0x402),'table-leaf-row',Rm(0x387),Rm(0x7ba)]['includes'](K));}const e=Y[Rt(0x1d0)][Rt(0x79b)](M=>M[Rt(0x5d4)]===Rt(0x4f9)&&M[Rt(0x22b)]&&!(Rt(0x769)in M[Rt(0x22b)])&&!(Rt(0x3d6)in M['element'])&&I(M[Rt(0x22b)][Rt(0x54f)]));if(e['length']>0x0){const M=e[e['length']-0x1];function K(f){const RJ=Rt;if(f[RJ(0x54f)]===RJ(0x7ac))return{'position':'inside','element':f};if(f[RJ(0x1d0)]&&!Array[RJ(0x1ec)](f[RJ(0x1d0)])&&f[RJ(0x1d0)][RJ(0x5d4)]===RJ(0x4f9)&&f['anchor']['element']&&!('isViewportDescriptor'in f[RJ(0x1d0)]['element'])&&!(RJ(0x3d6)in f['anchor'][RJ(0x22b)]))return K(f[RJ(0x1d0)][RJ(0x22b)]);}const l=K(M[Rt(0x22b)]);if(l){const f=Y['anchor'][Rt(0x734)](M);Y[Rt(0x1d0)]=Y[Rt(0x1d0)][Rt(0x16a)]((U,E)=>{const Rs=Rt;if(E===f||!e['includes'](U))return U;if(K(U[Rs(0x22b)]))return U;const Z=structuredClone(U);return attachAnchorAtDeepest(Z[Rs(0x22b)],l),Z;});}}}});});}),ExplicitElement=Lazy(()=>Element$2({'explicit':!![]})),StringElement=Apply$26(Title$1),PageElement=Apply$26(All(Optional(The),App)),ImplicitElement=PreCondition(T=>T['context']['has'](x4(0x22b)),Mark(Node(It,(T,V)=>V[x4(0x5e1)][x4(0x22b)]),{'type':'implicit\x20element\x20descriptor','mutate':(T,[V])=>T[x4(0x22b)]=V})),ElementValueExtractor=Customizable(({Element:Element=Element$2}={})=>{const RO=x4,T=Any(Node(All(Optional(Any(Node(Mark(Background,{'type':RO(0x61e),'subtype':'background'}),()=>RO(0x470)),Node(Mark(Any(Foreground,Text$1),{'type':RO(0x61e),'subtype':RO(0x642)}),()=>RO(0x3e8)))),Color$2),([V])=>V??RO(0x81d)),Node(Value$5,()=>RO(0x50a)),Node(String$1,()=>RO(0x71a)));return Mark(Node(Any(Node(All(Optional(The),T,Any(All(Any(Of,From,LocationPreposition),Element),Node(Anchor$3({'Element':Element}),([V])=>({'anchor':V})))),([V,q])=>({'isExtractor':!![],'value':q,'type':V})),Node(All(ExplicitElement,T),([V,q])=>({'isExtractor':!![],'value':V,'type':q})),Node(PostCondition(Element,([V])=>!!(V[RO(0x54f)]===RO(0x82c)&&!(V['nth']||V[RO(0x5e0)])&&V['anchor']&&(!Array['isArray'](V[RO(0x1d0)])||V[RO(0x1d0)][RO(0x33d)]===0x1))),([V])=>{const Rp=RO;return{'isExtractor':!![],'value':(Array[Rp(0x1ec)](V['anchor'])?V[Rp(0x1d0)][0x0]:V[Rp(0x1d0)])[Rp(0x22b)],'type':Rp(0x71a)};})),([V],q)=>{const Rh=RO;return q[Rh(0x1bf)][Rh(0x473)][Rh(0x132)](V),V;}),{'type':RO(0x79c)});}),IsWrapperOperator=T=>{return Node(All(Any(Node(/not|isn't|is\s+not|doesn't|does\s+not|(?:can't|can\s+not)(\s+be)?|(?:have|has)(?:n't|\s+not)\s+been/i,()=>![]),Node(/is|does|be|(?:to|can)(?:\s+be)?|(?:have|has)\s+been/i,()=>!![]),Nothing$1(!![])),T),([V,q])=>{return V?q:(...C)=>not(q(...C));});},IgnoreCase=Node(/case[\s-]?insensitive|(?:ignor(?:e|ing))\s+(?:cas(?:e|ing))/i,()=>ignoreCase),MatchCase=Node(/case[\s-]?sensitive|(?:match(?:ing)?|respect(?:ing)?)\s+(?:cas(?:e|ing))/i,()=>matchCase),ParensOperator=T=>{return Node(Wrap({'left':'(','right':')'},T),([V])=>parens(V));},BooleanOperator=Any(Node(/(?:,\s+)?and|,/i,()=>and),Node(/(?:,\s+)?or/i,()=>or)),IsOperator=Any(Node(/not|isn't|is\s+not|doesn't|does\s+not|does/,()=>(T,V)=>not(eq$1(T,V))),Node(/is|does/,()=>eq$1)),ComparisonOperator=Any(Node(/==?=?|equals?(?:\s+to)?|the\s+same\s+as|eq/i,()=>eq$1),Node(/!==?|different\s+(?:from|than)/i,()=>(T,V)=>not(eq$1(T,V))),Node(/>=|(?:greater|bigger|larger|more)\s+or\s+equals?\s(?:to|than)|gte/i,()=>gte$1),Node(/>|(?:greater|bigger|larger|more)\s+than|gt/i,()=>gt$1),Node(/<=|(?:lower|smaller|less)\s+or\s+equals?\s(?:to|than)|lte/i,()=>lte$1),Node(/<|(?:lower|smaller|less)\s+than|lt/i,()=>lt$1)),ValidateOperator=Node(Any(Node(Use(/(lower|upper|camel|pascal|snake|kebab)[\s-]?case/i),([T])=>T[x4(0x655)]()+x4(0x30f)),Node(/capitalized/i,()=>x4(0x4d2)),Node(/(?:numeric|a\s+number)/i,()=>x4(0x6fd)),Node(/alpha-?numeric/i,()=>'alphanumeric')),([T])=>{return V=>validate$1(V,T);}),MatchOperator=Node(All(Optional(/match(?:es)?(?:(?:\s+the)?\s+(?:regexp?|rex|pattern|regular(?:-|\s+)expression))?/i),RegExpLiteral),([T])=>{return V=>match$1(V,T);}),SizeValidationOperator=Any(Node(/empty/i,()=>{return T=>eq$1({'isOperand':!![],'value':size(T)},{'isOperand':!![],'value':0x0});}),Node(/nonempty/i,()=>{return T=>gt$1({'isOperand':!![],'value':size(T)},{'isOperand':!![],'value':0x0});}),Node(All(/includes?|contains?|have|has/i,CardinalNumberExpression,Any(CollectionItems,CollectionPairs,CollectionValues,CollectionKeys)),([T])=>{return V=>gte$1({'isOperand':!![],'value':size(V)},{'isOperand':!![],'value':T});})),IncludesOnlyOperator=Node(All(/includes?|contains?|have|has/i,Only,Any(Node(All(Optional(The),CollectionValues),()=>values),Node(All(Optional(The),Any(All(CollectionKeys,Optional(/named|names?/i)),All(Any(CollectionItems,CollectionPairs),/named|names?/i))),()=>keys),Node(Optional(All(Optional(The),CollectionItems)),()=>entries))),([T])=>{return(V,q)=>includesOnly$1({'isOperand':!![],'value':T(V)},q);}),IncludesOperator=Node(All(/includes?|contains?|have|has/i,Any(Node(All(Optional(The),CollectionValues),()=>values),Node(All(Optional(The),Any(All(CollectionKeys,Optional(/named|names?/i)),All(Any(CollectionItems,CollectionPairs),/named|names?/i))),()=>keys),Node(Optional(All(Optional(The),CollectionItems)),()=>entries))),([T])=>{return(V,q)=>includes$1({'isOperand':!![],'value':T(V)},q);}),StartsWithOperator=Node(/starts?\s+with/i,()=>startsWith$1),EndsWithOperator=Node(/ends?\s+with/i,()=>endsWith$1),VisibleOperator=Node(All(/visible|shown|shows?(?:\s+up)?|appears?|apparent|displayed/i,Optional(Anchor$3({'Element':Element$2}))),([T])=>{if(T)return V=>{const Rk=D,q=V[Rk(0x4fb)];return visible$1({'isOperand':!![],'value':{...q,'anchor':q['anchor']?[q['anchor'],T][Rk(0x3f1)]():T}});};else return visible$1;}),InvisibleOperator=Node(All(/invisible|hidden|disappear/i,Optional(Anchor$3({'Element':Element$2}))),()=>T=>not(visible$1(T))),ClickableOperator=Node(/clickable|clicked/i,()=>clickable$1),EnabledOperator=Node(/enabled/i,()=>enabled$1),DisabledOperator=Node(/disabled/i,()=>T=>not(enabled$1(T))),CheckedOperator=Node(/checked|ticked/i,()=>T=>checked$1(T,!![])),UncheckedOperator=Node(/unchecked|unselected|unticked/i,()=>T=>checked$1(T,![])),PopulatedOperator=Node(/populated|entered|set|filled(?:\s+in)?|(?:have|has)(?:\s+an?)?\s+value|holds?\s+input/i,()=>T=>populated$1(T)),NotPopulatedOperator=Node(Any(/unfilled/i,/unset/i,/blank/i),()=>T=>not(populated$1(T))),HoveredOperator=Node(Any(/hovered/i,All(/has\s+hover/i,CSSPseudoClass,/applied|active/i),All(Optional(ConditionPreposition),/hover(?:\s+state)?/i)),()=>hovered$1),HoveredReversedOperator=All(/hover/i,CSSPseudoClass,IsWrapperOperator(Node(/applied|active/i,()=>hovered$1)),LocationPreposition),SelectedOperator=Node(All(/selected/i,StoragePreposition),()=>eq$1),UnaryOperator=IsWrapperOperator(Any(MatchOperator,ValidateOperator,SizeValidationOperator)),BinaryOperator=Any(IsWrapperOperator(Any(ComparisonOperator,IncludesOnlyOperator,IncludesOperator,StartsWithOperator,EndsWithOperator)),IsOperator),ElementUnaryOperator=IsWrapperOperator(Any(VisibleOperator,InvisibleOperator,CheckedOperator,UncheckedOperator,ClickableOperator,EnabledOperator,DisabledOperator,HoveredOperator,PopulatedOperator,NotPopulatedOperator)),ElementReversedUnaryOperator=Any(HoveredReversedOperator),ElementBinaryOperator=IsWrapperOperator(Any(SelectedOperator)),ConditionOperation=Recursive(T=>{const RQ=x4,{Masker:V,Maskable:q,mask:C}=Mask(),o=Effect(Use(Secret),(K,l)=>C(l)),X=K=>{const RF=D;return LogGroup(RF(0x50e),Node(Mark(q(K),{'type':RF(0x1cf)}),([l],f)=>{const RW=RF,U={'isOperand':!![],'value':l};return f[RW(0x1bf)][RW(0x3ea)]['push'](U),U;}));},G=X(AnyVerboseExpression({'weak':!![]})),B=X(VerboseReference),u=X(Effect(ElementValueExtractor,([K],l)=>K['value'][RQ(0x1de)]&&C(l))),c=X(Effect(Element$2({'explicit':!![]}),([K],l)=>K['secret']&&C(l))),P=Any(All(Optional(o),u),B,c,All(Optional(o),G)),Y=X(Any(Effect(Element$2,([K],l)=>K[RQ(0x1de)]&&C(l)),Dialog)),n=Node(All(P,Optional(Any(IgnoreCase,MatchCase))),([K,l])=>{return{'operand':K,'wrapper':l};}),v=Any(Node(UnaryOperator,([K])=>({'operator':K})),Node(All(BinaryOperator,P,Optional(Any(IgnoreCase,MatchCase))),([K,l,f])=>{return{'operator':U=>f?.(K(U,l))??K(U,l)};})),I=Node(T,([K])=>{return{'operation':K};}),e=Node(All(Any(All(Y,ElementUnaryOperator),All(P,UnaryOperator)),Any(IgnoreCase,MatchCase,Nothing$1(K=>K)),Star(Node(All(BooleanOperator,Any(I,v)),([K,l])=>{return{'connector':K,'addition':l};}))),([K,l,f,...U])=>{return U['reduce']((E,{connector:Z,addition:H})=>{const Ra=D;return Z(E,'operator'in H?H[Ra(0x17b)](K):H[Ra(0x4d1)]);},f(l(K)));}),M=Any(Node(All(All(ElementReversedUnaryOperator,Y),Star(Node(All(BooleanOperator,I),([K,l])=>{return{'connector':K,'addition':l};}))),([K,l,...f])=>{return f['reduce']((U,{connector:E,addition:Z})=>{const Rz=D;return E(U,Z[Rz(0x4d1)]);},K(l));}),e,Node(All(Any(All(Y,ElementBinaryOperator),All(P,BinaryOperator)),P,Any(IgnoreCase,MatchCase,Nothing$1(K=>K)),Star(Any(Node(All(BooleanOperator,Any(I,v)),([K,l])=>{return{'connector':K,'addition':l};}),NonEmpty(Weak(Node(All(BooleanOperator,n),([K,l])=>{return{'connector':K,'addition':l};})))))),([K,l,f,U,...E])=>{const Rw=RQ;return E[Rw(0x6d3)]((Z,{connector:H,addition:t})=>{const Ri=Rw;if('operand'in t){if(Z[Ri(0x17b)]===Ri(0x3db))return Z[Ri(0x3ea)][Ri(0x132)](t['operand']),Z;else return H(Z,l(K,t[Ri(0x1cf)]));}else{if(Ri(0x17b)in t)return H(Z,t['operator'](K));else return H(Z,t[Ri(0x4d1)]);}},U(l(K,f)));}));return Node(Mark(V(All(Any(ParensOperator(M),M),Star(Node(All(BooleanOperator,Any(ParensOperator(M),M)),([K,l])=>{return f=>K(f,l);})))),{'type':RQ(0x4d1)}),([K,...l])=>{const Rd=RQ;return l[Rd(0x6d3)]((f,U)=>U(f),K);});}),Condition$1=Node(ConditionOperation,([T])=>({'isCondition':!![],'operation':T})),NegativeCondition=Node(ConditionOperation,([T])=>({'isCondition':!![],'operation':not(T)}));function parens(T){return{'operator':'parens','operands':[T]};}function ignoreCase(T){return{'operator':'ignore\x20case','operands':[T]};}function matchCase(T){const b0=x4;return{'operator':b0(0x72c),'operands':[T]};}function not(T){return{'operator':'not','operands':[T]};}function and(T,V){const b1=x4;return{'operator':b1(0x389),'operands':[T,V]};}function or(T,V){return{'operator':'or','operands':[T,V]};}function eq$1(T,V){return{'operator':'eq','operands':[T,V]};}function gte$1(T,V){const b2=x4;return{'operator':b2(0x18d),'operands':[T,V]};}function gt$1(T,V){return{'operator':'gt','operands':[T,V]};}function lte$1(T,V){const b3=x4;return{'operator':b3(0x3f8),'operands':[T,V]};}function lt$1(T,V){return{'operator':'lt','operands':[T,V]};}function validate$1(T,V){return{'operator':'validate','operands':[T,V]};}function size(T){return{'operator':'size','operands':[T]};}function keys(T){const b4=x4;return{'operator':b4(0x1e3),'operands':[T]};}function values(T){const b5=x4;return{'operator':b5(0x10c),'operands':[T]};}function entries(T){const b6=x4;return{'operator':b6(0x80f),'operands':[T]};}function match$1(T,V){const b7=x4;return{'operator':b7(0x789),'operands':[T,V]};}function includesOnly$1(T,V,...q){return{'operator':'includes\x20only','operands':[T,V,...q]};}function includes$1(T,V){const b8=x4;return{'operator':b8(0x241),'operands':[T,V]};}function startsWith$1(T,V){return{'operator':'starts\x20with','operands':[T,V]};}function endsWith$1(T,V){const b9=x4;return{'operator':b9(0x211),'operands':[T,V]};}function visible$1(T){return{'operator':'visible','operands':[T]};}function clickable$1(T){const bx=x4;return{'operator':bx(0x863),'operands':[T]};}function enabled$1(T){const br=x4;return{'operator':br(0x4b5),'operands':[T]};}function hovered$1(T){const bR=x4;return{'operator':bR(0x72b),'operands':[T]};}function checked$1(T,V){const bb=x4;return{'operator':bb(0x781),'operands':[T,V]};}function populated$1(T){const bD=x4;return{'operator':bD(0x794),'operands':[T]};}const {Apply:Apply$25,Mutate:Mutate$25}=State({'isChromeElementDescriptor':!![]}),ButtonTitle=Any(Mutate$25(Stringish(/(?:click\s+to\s+)?(?:go\s+)?(?:back|(?:to\s+)?(?:the\s+)?prev(?:ious)?(?:\s+page)?)|<-|</i),T=>T[x4(0x5e0)]=x4(0x2ad)),Mutate$25(Stringish(/(?:click\s+to\s+)?(?:go\s+)?(?:fwd|forward|(?:to\s+)?(?:the\s+)?next(?:\s+page)?)|->|>/i),T=>T['title']=x4(0x230)),Mutate$25(Stringish(/(?:reload|refresh)(?:\s+(?:(?:(?:(?:this|the)\s+)?page)|this))?/i),T=>T[x4(0x5e0)]=x4(0x6f4))),TextboxTitle=Mutate$25(Stringish(/search|address|url/i),T=>T[x4(0x5e0)]=x4(0x5b7)),ChromeButton=Apply$25(All(Optional(The),Optional(BrowserToolbar),ButtonTitle,Optional(Button))),ExplicitChromeButton=Apply$25(All(Optional(The),BrowserToolbar,ButtonTitle,Optional(Button))),ChromeTextbox=Apply$25(All(Optional(The),Optional(BrowserToolbar),TextboxTitle,Optional(Textbox))),ExplicitChromeTextbox=Apply$25(All(Optional(The),BrowserToolbar,TextboxTitle,Optional(Textbox))),OTPLiteral=Node(All(Mark(All(Optional(IndefiniteArticle),Optional(Generated),OTP$1),{'type':'otp'}),For,Optional(The),Optional(User),Mark(StringExpression$1,{'type':'user'})),([T])=>({'isOTP':!![],'user':T})),FileHandleLiteral=Node(Mark(StringLiteral$1,{'type':x4(0x235)}),([T],V)=>{const bL=x4,q={'isFileHandle':!![],'filename':T};return V['collections'][bL(0x4d4)][bL(0x132)](q),q;}),Description$1=As$1(Anything$1,StandaloneStringExpression),RandomValueLiteral=Node(Mark(All(Optional(IndefiniteArticle),Optional(Random),Description$1),{'type':x4(0x47e)}),([T],V)=>{const bj=x4,q={'isRandomValue':!![],'description':T};return V['collections'][bj(0x55a)][bj(0x132)](q),q;}),GrabAction=Mark(/grab/i,{'type':'actionword'}),Clip=T=>Effect(T,([V],q)=>{const bN=x4;if(typeof V===bN(0x52d)&&V&&bN(0x47a)in V)q[bN(0x5e1)]['reference']=V;q['context'][bN(0x72e)]=V;}),Grab=LogGroup(x4(0x544),Void(All(GrabAction,Any(Clip(ElementValueExtractor),Longest(ExplicitElement,Clip(AnyExpression$1)))))),{Apply:Apply$24,Mutate:Mutate$24}=State({'type':x4(0x6cd),'data':{'value':null},'names':[]}),SetVariableAction=Mark(/set|assign|define/i,{'type':'actionword'}),StoreValueAction=Mark(/set|assign|remember|memorize|store|save/i,{'type':x4(0x302)}),{Masker,Maskable,mask}=Mask(),SetOperator='=',Name=T=>Mutate$24(Effect(Mark(T,{'type':x4(0x4ed)}),([V],q,C)=>{const bA=x4;if(isReservedName(V))q[bA(0x1bf)][bA(0x5c3)][bA(0x132)]({'type':'ReservedVariableNameError','pos':C[bA(0x169)],'text':q[bA(0x82c)]['slice'](C[bA(0x169)],q[bA(0x169)]),'message':V+bA(0x6ab)});else{if(isSecretName(V))mask(q);}}),(V,[q])=>{const bS=x4,C={'name':q};if(isSecretName(q))C[bS(0x1de)]=!![];V[bS(0x3ec)][bS(0x132)](C);}),NamesList=T=>Mutate$24(List(T,AndListSeparator),(V,q)=>{const bT=x4;if(q[bT(0x33d)]>0x1)V['destruction']=!![];}),StringishName=Name(Any(Quoted$1(MultiWordIdentifier),Identifier$1,Fix(Wrap({'left':'{','right':'}'},MultiWordIdentifier),(T,[V])=>'\x22'+V+'\x22'))),StandaloneName=Name(Any(Identifier$1,Fix(Wrap({'left':'{','right':'}'},Identifier$1),(T,[V])=>V))),Value$2=T=>Mutate$24(Mark(Maskable(T),{'type':x4(0x728)}),(V,[q])=>V['data']['value']=q),DataValue=Value$2(AnyExpression$1),ExtractorValue=Value$2(Any(ElementValueExtractor,Node(Element$2({'explicit':!![]}),([T])=>({'isExtractor':!![],'value':T,'type':x4(0x71a)})))),SomeValue=Any(Mutate$24(Value$2(OTPLiteral),T=>T[x4(0x51c)][x4(0x1de)]=!![]),ExtractorValue,Value$2(Mark(Any(PreCondition(T=>T['context'][x4(0x136)](x4(0x72e)),Node(Any(It,Them),(T,V)=>V[x4(0x5e1)][x4(0x72e)])),PreCondition(T=>T[x4(0x5e1)]['has'](x4(0x22b)),Node(Any(It,All(Its,Value$5)),(T,V)=>({'isExtractor':!![],'value':V[x4(0x5e1)][x4(0x22b)],'type':x4(0x71a)})))),{'type':'reference'})),DataValue),AnyValue=Any(Mutate$24(Effect(Any(All(Article(Secret),SomeValue),All(SomeValue,Article(Secret))),(T,V)=>mask(V)),(T,V)=>T['data'][x4(0x1de)]=!![]),SomeValue),SetVariable=LogGroup(x4(0x179),Effect(Apply$24(Masker(Any(All(StoreValueAction,AnyValue,As,Article(Value$5),Of,Optional(Article(Variables)),NamesList(StringishName)),All(StoreValueAction,AnyValue,StoragePreposition,Optional(The),Variables,NamesList(StringishName)),All(SetVariableAction,Optional(Article(Variables)),NamesList(StringishName),Any(AssignmentPreposition,SetOperator),Optional(Article(Value$5)),AnyValue),All(StoreValueAction,AnyValue,StoragePreposition,NamesList(StringishName)),All(NamesList(StandaloneName),SetOperator,AnyValue)))),([T],V)=>{const bV=x4;if(T[bV(0x153)]&&T[bV(0x51c)][bV(0x4fb)]&&typeof T['data'][bV(0x4fb)]===bV(0x52d)&&'isRef'in T['data']['value']&&T[bV(0x51c)][bV(0x4fb)][bV(0x15f)]===bV(0x47e)&&T['data'][bV(0x4fb)][bV(0x14e)]===bV(0x1d9)){const q=V[bV(0x1bf)]['randomValues']['at'](-0x1);q['properties']=T[bV(0x3ec)][bV(0x16a)](({name:C})=>C);}if(T['destruction'])V[bV(0x1bf)][bV(0x408)][bV(0x132)](...T[bV(0x3ec)]['map'](({name:C})=>({'name':C})));else V[bV(0x1bf)][bV(0x408)][bV(0x132)](...T[bV(0x3ec)][bV(0x16a)](({name:C})=>({'name':C,'value':T[bV(0x51c)]['value']})));})),{Apply:Apply$23,Mutate:Mutate$23}=State({'type':'set\x20variable','data':{},'scope':x4(0x1d9)}),SetTimeoutAction=Mark(/set|assign|define/i,{'type':'actionword'}),ImplicitlyWaitAction=Mark(/(?:implicitly)?\s+wait|wait\s+(?:implicitly)?/i,{'type':x4(0x302)}),TimeoutName=Any(Mutate$23(/(?:(?:browser|url)\s+)?nav(?:igation)?s?/i,T=>T[x4(0x3ec)]=[{'name':x4(0x290)}]),Mutate$23(/elements?(?:\s+(?:finding|locating))?|(?:finding|locating)\s+elements?/i,T=>T['names']=[{'name':x4(0x471)}]),Mutate$23(/(?:(?:taking|capturing)\s+)?(?:screenshots?|screen\s+captures?)/i,T=>T[x4(0x3ec)]=[{'name':x4(0x6fb)}]),Mutate$23(/(?:(?:taking|capturing)\s+)?preview\s+(?:screenshots?|screen\s+captures?)/i,T=>T[x4(0x3ec)]=[{'name':x4(0x616)}])),TimeoutDefaultName=Mutate$23(Nothing$1,T=>T[x4(0x3ec)]=[{'name':x4(0x4c8)}]),Value$1=Mutate$23(TimeIntervalExpression,(T,[V])=>T['data']['value']=V),SetTimeout=LogGroup(x4(0x76b),Apply$23(Any(All(SetTimeoutAction,Optional(The),Optional(Implicit),Wait$1,Optional(Time),TemporalPreposition,TimeoutName,Optional(EquivalencePreposition),Value$1),All(SetTimeoutAction,Optional(The),Optional(Implicit),Any(TimeoutName,TimeoutDefaultName),Wait$1,Optional(Time),Optional(EquivalencePreposition),Value$1),All(ImplicitlyWaitAction,Maximum,Value$1,TemporalPreposition,TimeoutName),All(ImplicitlyWaitAction,Any(All(TemporalPreposition,TimeoutName),TimeoutDefaultName),Maximum,Value$1)))),{Apply:Apply$22,Mutate:Mutate$22,state:state$1}=State({'type':x4(0x457)}),SetValueAction=Mark(/set/i,{'type':x4(0x302)}),SelectValueAction=Mutate$22(Mark(/select|pick|choose/i,{'type':x4(0x302)}),T=>T['element']=mergeElementDescriptors(T['element']??{},{'hints':{'type':x4(0x5de)}})),RandomlySelectAction=Mutate$22(Mark(/randomly\s+(?:select|pick|choose)/i,{'type':x4(0x302)}),T=>{const bq=x4;T['element']=mergeElementDescriptors(T[bq(0x22b)]??{},{'hints':{'type':bq(0x5de)}}),T['value']={'isRandomValue':!![],'type':bq(0x196)};}),AttachAction=Mutate$22(Any(Mark(/attach|upload/i,{'type':x4(0x302)}),All(Mark(/add|import/i,{'type':x4(0x302)}),File)),T=>T[x4(0x22b)]=mergeElementDescriptors(T['element']??{},{'hints':{'type':'filepicker'}})),StringValue$1=Mutate$22(StringExpression$1,(T,[V])=>T[x4(0x4fb)]=V),StringReferenceValue=Mutate$22(Reference$1(x4(0x71a)),(T,[V])=>T[x4(0x4fb)]=V),FileHandleValue=Mutate$22(FileHandleLiteral,(T,[V])=>T['value']=V),OrdinalIndex$1=Mutate$22(Index$1(OrdinalNumberExpression$1),(T,[V])=>T[x4(0x4fb)]=V),CardinalIndex=Mutate$22(All(Optional(NumberSign),Index$1(CardinalNumberExpression)),(T,[V])=>T[x4(0x4fb)]=V),RandomIndex=Mutate$22(Random,T=>T[x4(0x4fb)]={'isRandomValue':!![],'type':x4(0x196)}),SelectboxHint=Mutate$22(SelectboxOption,T=>T[x4(0x22b)]=mergeElementDescriptors(T[x4(0x22b)]??{},{'hints':{'type':x4(0x5de)}})),FileHint=Mutate$22(File,T=>T[x4(0x22b)]=mergeElementDescriptors(T['element']??{},{'hints':{'type':x4(0x67f)}})),Hint=Any(Mutate$22(Color$2,T=>T[x4(0x22b)]=mergeElementDescriptors(T[x4(0x22b)]??{},{'hints':{'type':'colorpicker'}})),Mutate$22(DateTime,T=>T[x4(0x22b)]=mergeElementDescriptors(T[x4(0x22b)]??{},{'hints':{'type':'datetimepicker'}})),Mutate$22(Date$1,T=>T[x4(0x22b)]=mergeElementDescriptors(T[x4(0x22b)]??{},{'hints':{'type':'datepicker'}})),Mutate$22(Time,T=>T['element']=mergeElementDescriptors(T[x4(0x22b)]??{},{'hints':{'type':'timepicker'}}))),InputElement=Mutate$22(Element$2,(T,[V])=>T[x4(0x22b)]=mergeElementDescriptors(T['element']??{},V)),StringInput=Mutate$22(StringElement,(T,[V])=>T[x4(0x22b)]=mergeElementDescriptors(T[x4(0x22b)]??{},V)),SetValue=LogGroup(x4(0x4d6),Apply$22(Any(All(SetValueAction,InputElement,Value$5,Optional(AssignmentPreposition),StringValue$1),All(Any(SetValueAction,SelectValueAction),Any(All(Article(Any(All(StringReferenceValue,Optional(RelationalPreposition)),OrdinalIndex$1,RandomIndex)),Any(All(SelectboxHint,Optional(RelationalPreposition),InputElement),All(StringInput,SelectboxHint),All(InputElement,Optional(SelectboxHint)))),All(Article(Any(All(Hint,StringValue$1),All(FileHint,Optional(Named),FileHandleValue),All(FileHandleValue,FileHint),All(SelectboxHint,Any(CardinalIndex,StringValue$1)),All(CardinalIndex,SelectboxHint),All(StringValue$1,Any(Hint,SelectboxHint)))),Dynamic(T=>{const bC=x4,V=All(Optional(Any(StoragePreposition,RelationalPreposition)),InputElement);return state$1(T)[bC(0x22b)]?Optional(V):V;})),All(StringValue$1,Any(StoragePreposition,RelationalPreposition),InputElement))),All(RandomlySelectAction,Any(All(Optional(All(Optional(IndefiniteArticle),SelectboxHint)),Optional(RelationalPreposition),InputElement),All(Optional(RelationalPreposition),InputElement,Optional(SelectboxHint)))),All(AttachAction,Article(Any(All(FileHint,Optional(Named),FileHandleValue),All(FileHandleValue,Optional(FileHint)))),Optional(All(Optional(Any(StoragePreposition,RelationalPreposition)),InputElement)))))),{Apply:Apply$21,Mutate:Mutate$21}=State({'type':x4(0x6cd),'data':{},'scope':'internal'}),GenerateAction=Mark(/generate/i,{'type':x4(0x302)}),RandomlyGenerateAction=Mark(/randomly\s+generate/i,{'type':x4(0x302)}),OTP=Mutate$21(OTPLiteral,(T,[V])=>{const by=x4;T['names']=[{'name':by(0x39b)}],T[by(0x51c)]['value']=V,T[by(0x51c)][by(0x1de)]=!![];}),RandomValue=Mutate$21(RandomValueLiteral,(T,[V])=>{const bo=x4;T[bo(0x3ec)]=[{'name':bo(0x47e)}],T[bo(0x51c)][bo(0x4fb)]=V;}),Generate=LogGroup(x4(0x545),Effect(Apply$21(Any(All(GenerateAction,Any(OTP,RandomValue)),All(RandomlyGenerateAction,RandomValue))),([T],V)=>V['context'][x4(0x72e)]={'isRef':!![],'name':T[x4(0x3ec)]?.[0x0]?.['name'],'scope':T[x4(0x14e)]})),Assert=LogGroup(x4(0x13b),Node(All(Mark(/assert|check|validate|verify|make\s+sure/i,{'type':'actionword'}),Optional(That),Condition$1),([T])=>({'type':x4(0x661),'condition':T}))),{Apply:Apply$20,Mutate:Mutate$20}=State({'type':x4(0x7df)}),FetchAction$1=Mark(/send/i,{'type':x4(0x302)}),Url$2=Mutate$20(Mark(Url$3,{'type':x4(0x833)}),(T,[V])=>T[x4(0x5b7)]=V),Endpoint=All(Optional(Any(From,To)),Optional(The),Optional(Endpoint$1),Url$2),ExplicitEndpoint=All(Any(All(Any(From,To),Optional(The),Optional(Endpoint$1)),All(Optional(Any(From,To)),The,Optional(Endpoint$1)),All(Optional(Any(From,To)),Optional(The),Endpoint$1)),Url$2),Method$2=Mark(Mutate$20(Use(/(get|post|put|patch|head|options|trace|delete|connect)/i),(T,[V])=>T[x4(0x5b3)]=V['toLowerCase']()),{'type':x4(0x565),'subtype':x4(0x5b3)}),Auth$1=Mutate$20(State({'type':x4(0x5b4)},({Mutate:T})=>{const bX=x4,V=T(Mark(StringExpression$1({'escape':/[:]/}),{'type':bX(0x550)}),(B,[u])=>B[bX(0x550)]=u),q=T(Mark(UnquotedStringExpression({'char':/./,'escape':/[":]/}),{'type':bX(0x550)}),(B,[u])=>B[bX(0x550)]=u),C=T(Mark(UnquotedStringExpression({'char':/./,'escape':/[':]/}),{'type':bX(0x550)}),(B,[u])=>B[bX(0x550)]=u),o=T(Mark(Mark(StringExpression$1,{'type':bX(0x61b)}),{'type':'secret'}),(B,[u])=>B['password']=u),X=T(Mark(Mark(UnquotedStringExpression({'char':/./,'escape':/[":]/}),{'type':bX(0x61b)}),{'type':bX(0x1de)}),(B,[u])=>B[bX(0x61b)]=u),G=T(Mark(Mark(UnquotedStringExpression({'char':/./,'escape':/[':]/}),{'type':bX(0x61b)}),{'type':bX(0x1de)}),(B,[u])=>B[bX(0x61b)]=u);return Mark(All(Optional(Any(As,With)),Optional(The),Mark(Any(User,BasicAuth$1),{'type':bX(0x60a)}),Any(All(V,':',o),DoubleQuoted$1(All(q,':',X)),SingleQuoted$1(All(C,':',G)))),{'type':bX(0x565),'subtype':bX(0x2b8)});}),(T,[V])=>T[x4(0x2b8)]=V),Cookie$1=Mutate$20(State({'secret':![]},({Mutate:T,state:V})=>{const bG=x4,q=T(Article(Secret),P=>P[bG(0x1de)]=!![]),C=T(Mark(StringExpression$1({'escape':/[=]/}),{'type':bG(0x720)}),(P,[Y])=>P['name']=Y),o=T(Mark(UnquotedStringExpression({'char':/./,'escape':/["=]/}),{'type':bG(0x720)}),(P,[Y])=>P['name']=Y),X=T(Mark(UnquotedStringExpression({'char':/./,'escape':/['=]/}),{'type':bG(0x720)}),(P,[Y])=>P['name']=Y),G=T(Mark(StringExpression$1,{'type':bG(0xbe)}),(P,[Y])=>P[bG(0x4fb)]=Y),B=T(Mark(UnquotedStringExpression({'char':/./,'escape':/["]/}),{'type':bG(0xbe)}),(P,[Y])=>P['value']=Y),u=T(Mark(UnquotedStringExpression({'char':/./,'escape':/[']/}),{'type':bG(0xbe)}),(P,[Y])=>P[bG(0x4fb)]=Y),c=P=>Dynamic(Y=>V(Y)[bG(0x1de)]?Mark(P,{'type':bG(0x1de)}):P);return Mark(All(Optional(With),Optional(The),Optional(q),HttpCookie,Any(All(Optional(Any(Named,Name$1)),C,And,Optional(AssociationPreposition),Optional(HttpCookie),Optional(q),Value$5,c(G)),All(C,'=',c(G)),DoubleQuoted$1(All(o,'=',c(B))),SingleQuoted$1(All(X,'=',c(u))))),{'type':bG(0x565),'subtype':bG(0x449)});}),(T,[V])=>(T[x4(0x5e5)]??=[])['push'](V)),Headers$1=List(Any(Auth$1,Mutate$20(State({'secret':![]},({Mutate:T,state:V})=>{const bB=x4,q=T(Article(Secret),u=>u['secret']=!![]),C=T(Mark(StringExpression$1({'escape':/[:]/}),{'type':'header\x20name'}),(u,[c])=>u[bB(0x15f)]=c),o=T(Mark(StringExpression$1,{'type':bB(0x588)}),(u,[c])=>u[bB(0x4fb)]=c),X=T(Mark(UnquotedStringExpression({'char':/./,'escape':/["]/}),{'type':bB(0x588)}),(u,[c])=>u[bB(0x4fb)]=c),G=T(Mark(UnquotedStringExpression({'char':/./,'escape':/[']/}),{'type':'header\x20value'}),(u,[c])=>u[bB(0x4fb)]=c),B=u=>Dynamic(c=>V(c)[bB(0x1de)]?Mark(u,{'type':'secret'}):u);return Mark(All(Optional(With),Optional(The),Optional(q),HttpHeader,Any(All(Optional(Any(Named,Name$1)),C,And,Optional(AssociationPreposition),Optional(HttpHeader),Optional(q),Value$5,B(o)),All(C,':',B(o)),DoubleQuoted$1(All(C,':',B(X))),SingleQuoted$1(All(C,':',B(G))))),{'type':bB(0x565),'subtype':bB(0x61f)});}),(T,[V])=>(T[x4(0x5c5)]??=[])[x4(0x132)](V)),Cookie$1),Optional(AndListSeparator)),BodyType=Mark(Mutate$20(Use(/(json|xml|base64)/i),(T,[V])=>(T[x4(0x537)]??={'data':null})['type']=V[x4(0x655)]()),{'type':x4(0x21b)}),BodyData=Mark(Mutate$20(AnyExpression$1,(T,[V])=>(T[x4(0x537)]??={'data':null})[x4(0x51c)]=V),{'type':x4(0x7cb)}),Body$2=Mark(All(Optional(With),Optional(BodyType),Optional(HttpBody),BodyData),{'type':x4(0x565),'subtype':x4(0x537)}),StatusCodes$1=Mark(Mutate$20(Any(/any/i,List(Use(/([1-5]\d\d)/),Optional(OrListSeparator))),(T,V)=>T[x4(0x6e1)]=V[x4(0x33d)]>0x0?V['map'](q=>Number[x4(0x52f)](q)):'*'),{'type':x4(0x4da)}),Statuses$1=Mark(All(Optional(AndListSeparator),Any(Expect,Expecting),Any(All(Optional(The),HttpStatusCodes,Optional(':'),StatusCodes$1),All(StatusCodes$1,HttpStatusCodes))),{'type':x4(0x565),'subtype':'statuses'}),Fetch=LogGroup(x4(0x69d),Effect(Apply$20(All(Any(All(FetchAction$1,Method$2,Optional(Http)),All(FetchAction$1,Optional(IndefiniteArticle),Optional(Http),Optional(Method$2)),All(Optional(Http),Method$2)),Optional(Request$1),Any(All(Any(All(Headers$1,Optional(All(Optional(AndListSeparator),NonEmpty(Weak(Body$2))))),NonEmpty(Weak(Body$2))),Optional(All(Optional(AndListSeparator),Headers$1)),ExplicitEndpoint,Optional(Headers$1)),All(Optional(Headers$1),Endpoint,Optional(Any(All(Headers$1,Optional(All(Optional(AndListSeparator),NonEmpty(Weak(Body$2))))),NonEmpty(Weak(Body$2)))),Optional(All(Optional(AndListSeparator),Headers$1)))),Optional(Statuses$1))),([T],V)=>{const bu=x4;V[bu(0x1bf)][bu(0x80a)][bu(0x132)](T),V[bu(0x1bf)]['variables']['push']({'name':'response'}),V[bu(0x5e1)][bu(0x72e)]={'isRef':!![],'name':bu(0x7a7)};})),Evaluate=LogGroup(x4(0x3aa),Effect(Node(All(Mark(/evaluate|execute|run/i,{'type':x4(0x302)}),Optional(The),JavaScript,Optional(CodeSnippet),Optional(/[:-]/),JSExpressionLiteral$1),([T])=>({'type':'evaluate','js':T})),(T,V)=>{const bc=x4;V[bc(0x1bf)][bc(0x408)][bc(0x132)]({'name':bc(0x64b)}),V[bc(0x5e1)][bc(0x72e)]={'isRef':!![],'name':bc(0x64b)};})),{Apply:Apply$19,Mutate:Mutate$19}=State({'type':x4(0xf2)}),NavigateAction=All(Any(All(Mark(/navigate/i,{'type':'actionword'}),Optional(All(Optional(The),Browser$1))),Mark(/goto|browse|visit|open/i,{'type':x4(0x302)})),Optional(To),Optional(The)),GoToPageAction=All(Mark(/go/i,{'type':x4(0x302)}),Optional(To),Optional(The)),AbsoluteUrl=Mutate$19(Mark(Url$3,{'type':x4(0x356)}),(T,[V])=>T['url']=V),ExplicitAbsoluteUrl=Mutate$19(Mark(ExplicitUrl,{'type':x4(0x356)}),(T,[V])=>T[x4(0x5b7)]=V),RelativeUrl=Mutate$19(Mark(StringExpression$1,{'type':x4(0x356)}),(T,[V])=>(T[x4(0x5b7)]=V,T[x4(0x762)]=!![])),Direction$1=Any(Mutate$19(Any(Back,Previous),T=>T['direction']=x4(0x2ad)),Mutate$19(Any(Forward,Next),T=>T[x4(0x630)]=x4(0x230))),VerboseDirection=Any(Mutate$19(All(Back,To,Optional(The),Previous,Website),T=>T[x4(0x630)]=x4(0x2ad)),Mutate$19(All(Forward,To,Optional(The),Next,Website),T=>T[x4(0x630)]=x4(0x230))),CardinalTimes=Mutate$19(CardinalNumberExpression,(T,[V])=>T['times']=V),IterativeTimes=Mutate$19(Any(All(CardinalNumberExpression,Times$3),IterativeNumberExpression),(T,[V])=>T[x4(0x201)]=V),StatusCodes=Mutate$19(Any(/any/i,List(Use(/([1-5]\d\d)/),Optional(OrListSeparator))),(T,V)=>T['statuses']=V[x4(0x33d)]>0x0?V[x4(0x16a)](q=>Number[x4(0x52f)](q)):'*'),Statuses=All(Optional(AndListSeparator),Any(Expect,Expecting),Any(All(Optional(The),HttpStatusCodes,Optional(':'),StatusCodes),All(StatusCodes,HttpStatusCodes))),ExplicitNavigateBody=Any(All(VerboseDirection,Optional(IterativeTimes)),All(CardinalTimes,Websites,Direction$1),All(Direction$1,Any(All(CardinalTimes,Websites),Optional(Website))),All(RelativeUrl,Relative,To,Optional(The),Current,Optional(Any(Url$4,Website)),Optional(Statuses)),All(Any(Url$4,All(Website,Optional(LocationPreposition))),AbsoluteUrl,Optional(Statuses))),Navigate=LogGroup(x4(0x837),Apply$19(Any(All(NavigateAction,Any(ExplicitNavigateBody,All(AbsoluteUrl,Optional(Any(Url$4,Website)),Optional(Statuses)))),All(GoToPageAction,Any(ExplicitNavigateBody,All(ExplicitAbsoluteUrl,Optional(Any(Url$4,Website)),Optional(Statuses)),All(AbsoluteUrl,Any(Url$4,Website),Optional(Statuses)),All(AbsoluteUrl,Optional(Any(Url$4,Website)),Statuses)))))),{Apply:Apply$18,Mutate:Mutate$18}=State({'type':x4(0x553)}),FocusAction=Mark(/(?:(?:set\s+)?focus)/i,{'type':x4(0x302)}),Element$1=Mutate$18(Element$2,(T,[V])=>T[x4(0x22b)]=V),Focus=LogGroup(x4(0x2e6),Apply$18(All(FocusAction,Optional(LocationPreposition),Element$1))),CheckAction=Mark(/check|tick|select|(?:turn|switch)\s+on/i,{'type':'actionword'}),UncheckAction=Mark(/uncheck|untick|unselect|(?:turn|switch)\s+off/i,{'type':x4(0x302)}),Check=LogGroup('Check',Node(All(Any(Node(CheckAction,()=>!![]),Node(UncheckAction,()=>![])),Element$2),([T,V])=>({'type':x4(0x203),'value':T,'element':V}))),Clear=LogGroup(x4(0x32e),Node(All(Mark(/clear/i,{'type':'actionword'}),Any(All(Article(String$1),LocationPreposition,Element$2),Longest(Node(String$1,()=>({'state':{'focused':!![]},'fallback':{'type':x4(0x28b)}})),Element$2))),([T])=>({'type':x4(0x2f6),'element':T}))),{Apply:Apply$17,Mutate:Mutate$17}=State({'type':x4(0x5eb)}),EraseAction=Mark(/erase|delete|remove/i,{'type':x4(0x302)}),Size=Mutate$17(CardinalNumberExpression,(T,[V])=>T['size']=V),DefaultSize=Mutate$17(Optional(IndefiniteArticle),T=>T[x4(0x357)]=0x1),TargetTextbox=Mutate$17(Element$2,(T,[V])=>T[x4(0x22b)]=V),Erase=LogGroup(x4(0x49c),Apply$17(All(EraseAction,Any(All(Size,Characters),All(DefaultSize,Character)),Optional(All(Optional(LocationPreposition),TargetTextbox))))),{Apply:Apply$16,Mutate:Mutate$16}=State({'type':x4(0x65b)}),HoverAction=Mark(/hover(?:\s+(?:over|inside|on(?:(?:\s+the)?\s+center\s+of|\s+top(?:\s+of)?)?))?|(?:(?:move|place)?\s+(?:the\s+)?)?(?:cursor|mouse)\s+over/i,{'type':'actionword'}),Anchor$2=Mutate$16(Anchor$3({'Element':Element$2}),(T,[V])=>T[x4(0x22b)]?T[x4(0x22b)]['anchor']=[V,T[x4(0x22b)][x4(0x1d0)]??[]][x4(0x3f1)]():T[x4(0x22b)]={'anchor':V}),TargetElement$3=Mutate$16(Element$2,(T,[V])=>T[x4(0x22b)]?Object['assign'](T[x4(0x22b)],V,V[x4(0x1d0)]&&T[x4(0x22b)]['anchor']?{'anchor':[T[x4(0x22b)][x4(0x1d0)]??[],V[x4(0x1d0)]??[]][x4(0x3f1)]()}:{}):T['element']=V),FocusedElement$2=Mutate$16(ImplicitElement,(T,[V])=>T[x4(0x22b)]=V),Hover=LogGroup(x4(0x6ce),Apply$16(All(HoverAction,Any(All(Optional(LocationPreposition),FocusedElement$2),All(Optional(Weak(Anchor$2)),Optional(LocationPreposition),TargetElement$3))))),{Apply:Apply$15,Mutate:Mutate$15}=State({'type':x4(0x54f)}),TypeActionKeyword=/type|enter|fill|write|insert/i,TypeAction=Mark(TypeActionKeyword,{'type':x4(0x302)}),GenerateAndTypeAction=Mark(All(/generate/i,And,TypeActionKeyword),{'type':x4(0x302)}),Preposition=Any(LocationPreposition,FunctionalPreposition,For),StringValue=Mutate$15(Mark(StringExpression$1,{'type':x4(0x4fb)}),(T,[V])=>T['value']=V),OTPValue=Mutate$15(Mark(OTPLiteral,{'type':x4(0x4fb)}),(T,[V])=>T[x4(0x4fb)]=V),ClipboardValue=Mutate$15(Mark(Any(PreCondition(T=>T[x4(0x5e1)][x4(0x136)](x4(0x22b)),Node(All(Its,Value$5),(T,V)=>({'isExtractor':!![],'value':V[x4(0x5e1)][x4(0x22b)],'type':x4(0x71a)}))),PreCondition(T=>T[x4(0x5e1)][x4(0x136)](x4(0x72e)),Node(Any(It,Them),(T,V)=>V[x4(0x5e1)]['clipboard']))),{'type':x4(0x4fb)}),(T,[V])=>T['value']=V),UnquotedCompoundValue=Weak(Fix(Mutate$15(Mark(All(UnquotedStringLiteral$1,UnquotedStringLiteral$1),{'type':x4(0x4fb)}),(T,[V,q])=>T[x4(0x4fb)]=V+'\x20'+q),T=>'\x22'+T+'\x22')),Value=Any(OTPValue,ClipboardValue,StringValue),MaskedValue=Mutate$15(Mark(Value,{'type':x4(0x1de)}),T=>T[x4(0x1de)]=!![]),SecretValue=Any(All(Optional(The),Secret,MaskedValue),All(MaskedValue,Secret)),TextboxElement=Mutate$15(Any(ImplicitElement,Element$2),(T,[V])=>T['element']=V),AnchoredTextboxElement=Mutate$15(Anchor$3({'Element':Element$2}),(T,[V])=>T[x4(0x22b)]={'anchor':V}),SecretTextboxElement=Longest(PostCondition(TextboxElement,([T])=>!!T['secret']),All(Optional(The),Secret,TextboxElement)),DefaultTextboxElement=Mutate$15(PreCondition(T=>T[x4(0x5e1)][x4(0x136)](x4(0x22b)),Node(Nothing$1,(T,V)=>V[x4(0x5e1)][x4(0x22b)])),(T,[V])=>T[x4(0x22b)]={'state':{'focused':!![]},'fallback':V}),SecretDefaultTextboxElement=PreCondition(T=>T[x4(0x5e1)][x4(0x136)](x4(0x22b))&&!!T['context'][x4(0x22b)][x4(0x1de)],DefaultTextboxElement),ChromeTextboxElement=Mutate$15(ChromeTextbox,(T,[V])=>T[x4(0x22b)]=V),ExplicitChromeTextboxElement=Mutate$15(ExplicitChromeTextbox,(T,[V])=>T[x4(0x22b)]=V),DialogTextboxElement=Mutate$15(DialogTextbox,(T,[V])=>T['element']=V),ExplicitDialogTextboxElement=Mutate$15(ExplicitDialogTextbox,(T,[V])=>T[x4(0x22b)]=V),InBrowserDialog=Mutate$15(All(LocationPreposition,Optional(The),BrowserDialog,Optional(ActionModifierSeparator)),T=>T[x4(0x22b)]={'isDialogElementDescriptor':!![],'title':x4(0x1cd)}),ConventionalTextboxElement=Any(All(Preposition,TextboxElement),AnchoredTextboxElement),TypeBody=Any(All(Url$4,Value,Preposition,ChromeTextboxElement),All(Value,Preposition,Any(ExplicitChromeTextboxElement,ExplicitDialogTextboxElement)),All(MaskedValue,Preposition,SecretTextboxElement),All(Any(SecretValue,Value),ConventionalTextboxElement),All(SecretValue,Optional(DefaultTextboxElement)),All(SecretTextboxElement,MaskedValue),All(TextboxElement,SecretValue),All(OTPValue,Optional(DefaultTextboxElement)),Longest(All(MaskedValue,SecretDefaultTextboxElement),All(Value,Optional(DefaultTextboxElement)),UnquotedCompoundValue,All(TextboxElement,Weak(Value)))),Type$1=LogGroup(x4(0x405),Apply$15(Any(All(TypeAction,TypeBody),All(InBrowserDialog,TypeAction,Value,Optional(All(Preposition,DialogTextboxElement))),All(GenerateAndTypeAction,OTPValue,Optional(Any(ConventionalTextboxElement,DefaultTextboxElement)))))),PartialType=LogGroup(x4(0x5c9),Apply$15(TypeBody)),{Apply:Apply$14,Mutate:Mutate$14}=State({'type':'search'}),SearchAction=Mark(/search/i,{'type':x4(0x302)}),QuotedValue=Mutate$14(Mark(QuotedStringExpression,{'type':'value'}),(T,[V])=>T[x4(0x4fb)]=V),UnquotedValue=Fix(Mutate$14(Mark(Anything$1,{'type':x4(0x4fb)}),(T,[V])=>T['value']=V[x4(0x4e3)]()),T=>'\x22'+T+'\x22'),Input=Mutate$14(Element$2,(T,[V])=>T[x4(0x22b)]=V),Search=LogGroup('Search',Dynamic(T=>{const bP=x4,V=Apply$14(All(SearchAction,Optional(For),Optional(The),Longest(All(Any(QuotedValue,UnquotedValue),Optional(All(Optional(LocationPreposition),PostCondition(Input,([q])=>!!q[bP(0x54f)])))),UnquotedValue)));if(!T[bP(0x509)][bP(0x86b)])return V;else return Node(Text$2(V),([q],C)=>{const bY=bP,o={'type':bY(0x86b),'description':q};return C['collections'][bY(0x1b4)][bY(0x132)](o),o;});})),{Apply:Apply$13,Mutate:Mutate$13}=State({'type':x4(0x284)}),ClickAction=Mark(NoBoundary(All(Optional(All(Any(Mutate$13(Any(Node(/left/i,()=>x4(0x3cc)),Node(/right/i,()=>x4(0x5fb))),(T,[V])=>T['button']=V),Mutate$13(MultiplicativeNumberLiteral,(T,[V])=>T[x4(0x201)]=V)),Optional('-'))),/click|press|hit|tap|open|expand|collapse/i)),{'type':x4(0x302)}),Anchor$1=Mutate$13(Anchor$3({'Element':Element$2}),(T,[V])=>T['element']?T[x4(0x22b)]['anchor']=[V,T[x4(0x22b)][x4(0x1d0)]??[]][x4(0x3f1)]():T['element']={'anchor':V}),TargetElement$2=Mutate$13(Element$2,(T,[V])=>T[x4(0x22b)]=T['element']?mergeElementDescriptors(T[x4(0x22b)],V):V),FocusedElement$1=Mutate$13(ImplicitElement,(T,[V])=>T[x4(0x22b)]=V),ExplicitDialogElement=Mutate$13(ExplicitDialogButton,(T,[V])=>T[x4(0x22b)]=V),DialogElement=Mutate$13(DialogButton,(T,[V])=>T[x4(0x22b)]=V),ExplicitChromeElement=Mutate$13(ExplicitChromeButton,(T,[V])=>T[x4(0x22b)]=V),ChromeElement=Mutate$13(ChromeButton,(T,[V])=>T[x4(0x22b)]=V),ControlKey=Mutate$13(Mark(Stringish(ControlKey$1),{'type':x4(0x4fb)}),(T,[V])=>(T[x4(0x1e3)]??=[])[x4(0x132)](V)),Key$1=Mutate$13(Mark(Stringish(KeyboardKey),{'type':x4(0x4fb)}),(T,[V])=>(T['keys']??=[])[x4(0x132)](V)),ChordSeparator$1=Any(AndListSeparator,'+',Nothing$1),Chord$1=List(All(Optional(The),Any(All(KeyboardKey$1,Key$1),All(Key$1,Optional(KeyboardKey$1)))),ChordSeparator$1),Click=LogGroup(x4(0x854),Apply$13(Any(All(Mutate$13(Mark(Text$2(Any(Accept,Dismiss)),{'type':'actionword'}),(T,[V])=>T[x4(0x22b)]={'type':'button','title':V}),Optional(Mutate$13(Any(Dialog,Element$2),(T,[V])=>attachAnchor(T[x4(0x22b)],{'position':x4(0x4f9),'element':V})))),All(Optional(All(ControlKey,Optional(All(Optional(ChordSeparator$1),Chord$1)),Optional(ChordSeparator$1))),ClickAction,Any(All(Optional(LocationPreposition),Any(FocusedElement$1,ExplicitDialogElement,ExplicitChromeElement)),All(Optional(Weak(Anchor$1)),Optional(LocationPreposition),TargetElement$2)),Optional(All(While,Holding,Chord$1))),All(LocationPreposition,Optional(The),BrowserToolbar,Optional(ActionModifierSeparator),ClickAction,Optional(LocationPreposition),ChromeElement),All(LocationPreposition,Optional(The),BrowserDialog,Optional(ActionModifierSeparator),ClickAction,Optional(LocationPreposition),DialogElement)))),{Apply:Apply$12,Mutate:Mutate$12}=State({'type':x4(0x2fa)}),ScrollAction=Mark(/scroll/i,{'type':'actionword'}),GoToPositionAction=Mark(/go/i,{'type':x4(0x302)}),Direction=Mutate$12(Any(Node(/upwards?|up/i,()=>'up'),Node(/downwards?|down/i,()=>x4(0x421)),Node(/left/i,()=>x4(0x3cc)),Node(/right/i,()=>x4(0x5fb))),(T,[V])=>T[x4(0x630)]=V),Times$1=Mutate$12(Any(IterativeNumberLiteral,All(CardinalNumberExpression,Times$3)),(T,[V])=>T['times']=V),Distance=Mutate$12(NoBoundary(All(QuantitativeNumberExpression,Optional(Pixels))),(T,[V])=>T[x4(0x12b)]=V),AbsolutePositionMutator=(T,[V])=>{const bn=x4;delete T[bn(0x630)],delete T[bn(0x144)],T['position']=V;},AbsolutePosition=Mutate$12(All(Optional(To),AbsolutePosition$1),AbsolutePositionMutator),ExplicitAbsolutePosition=Mutate$12(All(To,AbsolutePosition$1),AbsolutePositionMutator),Fraction=Mutate$12(All(Optional(The),Any(InnerRelationalOffset,QuantitativeNumberExpression)),(T,[V])=>T[x4(0x144)]=V),ContextElement=Mutate$12(Any(Viewport,Element$2),(T,[V])=>T[x4(0x22b)]=V),PageContextElement=Mutate$12(Any(Viewport,PageElement),(T,[V])=>T[x4(0x22b)]=V),TargetElement$1=Mutate$12(Element$2,(T,[V])=>{const bv=x4;if(T['position']===bv(0x589))V['orderDirection']=bv(0x671);delete T[bv(0x630)],delete T[bv(0x5d4)],T[bv(0x22b)]=V;}),TargetExplicitElement=Mutate$12(ExplicitElement,(T,[V])=>{const bI=x4;if(T[bI(0x5d4)]==='bottom')V['orderDirection']='backward';delete T[bI(0x630)],delete T[bI(0x5d4)],T[bI(0x22b)]=V;}),Scroll=LogGroup(x4(0x724),Apply$12(Any(All(Any(ScrollAction,GoToPositionAction),Any(All(Fraction,Any(All(ExplicitAbsolutePosition,Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))),All(Optional(Any(Of,LocationPreposition)),ContextElement,Optional(Any(Direction,AbsolutePosition))),All(Direction,Optional(AbsolutePosition),Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))),All(AbsolutePosition,Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))))),All(Direction,Optional(Any(All(Times$1,Optional(All(Optional(Fraction),Optional(AbsolutePosition),Optional(Any(Of,LocationPreposition)),ContextElement))),All(Optional(By),Distance),All(Optional(Fraction),Optional(AbsolutePosition),Optional(Any(Of,LocationPreposition)),Any(All(To,TargetElement$1),ContextElement)),Fraction))),All(AbsolutePosition,Optional(Any(All(Any(Of,LocationPreposition),ContextElement),PageContextElement,TargetElement$1))),All(ContextElement,Any(All(Direction,Optional(By),Distance),All(Direction,Optional(Times$1),Optional(Fraction)),All(Optional(Times$1),Fraction,Direction))))),All(ScrollAction,To,TargetElement$1),All(GoToPositionAction,To,TargetExplicitElement)))),{Apply:Apply$11,Mutate:Mutate$11}=State({'type':x4(0x6d1)}),NavigatePdfAction=Mark(/go|navigate|jump|switch|flip/i,{'type':x4(0x302)}),ShowPdfPageAction=Mark(/open|view|show/i,{'type':x4(0x302)}),PdfPage=Mutate$11(Any(All(Any(OrdinalNumberExpression$1,Node(Last$1,()=>-0x1)),Any(PdfPage$1,Page)),All(Any(PdfPage$1,Page),Optional(Any(NumberSign,Number$1)),CardinalNumberExpression)),(T,[V])=>T['page']=V),NavigatePdf=Apply$11(All(Any(All(NavigatePdfAction,To),ShowPdfPageAction),Optional(The),PdfPage)),{Apply:Apply$10,Mutate:Mutate$10}=State({'type':x4(0xdb)}),WaitAction=Mark(/wait|halt|pause|delay|block/i,{'type':'actionword'}),TimeInterval=Mutate$10(TimeIntervalExpression,(T,[V])=>T[x4(0x4c8)]=V),Condition=Any(Mutate$10(Condition$1,(T,[V])=>T[x4(0x49e)]=V),Mutate$10(Element$2,(T,[V])=>T[x4(0x49e)]={'isCondition':!![],'operation':{'operator':x4(0x5c2),'operands':[{'isOperand':!![],'value':V}]}})),Wait=LogGroup('Wait',Apply$10(All(WaitAction,Optional(Any(All(Optional(For),Optional(Maximum),TimeInterval,Optional(All(Any(For,Until),Condition))),All(Any(For,Until),Condition,Optional(All(Optional(For),Optional(Maximum),TimeInterval)))))))),{Apply:Apply$9,Mutate:Mutate$9}=State({'type':'refresh'}),RefreshAction=Mark(/refresh|reload/i,{'type':'actionword'}),Type=Any(Mutate$9(/hard(?:ly)?|(?:ignore|ignoring|skip|skipping)(?:\s+the)?(?:\s+cache)/i,T=>T[x4(0x4fb)]=x4(0x308)),Mutate$9(/soft(?:ly)?/i,T=>T[x4(0x4fb)]=x4(0x659))),Refresh=LogGroup(x4(0x2f7),Apply$9(Any(All(RefreshAction,Optional(All(Optional(The),Any(Page,BrowserTab))),Optional(Type)),All(Type,RefreshAction,Optional(All(Optional(The),Any(Page,BrowserTab))))))),{Apply:Apply$8,Mutate:Mutate$8}=State({'type':x4(0x43c)}),HitKeyAction=Mark(/hit|press/i,{'type':x4(0x302)}),TypeKeyAction=Mark(/type/i,{'type':x4(0x302)}),InputSource=All(LocationPreposition,Optional(The),Keyboard$1),Times=Mutate$8(Any(All(CardinalNumberExpression,Times$3),IterativeNumberExpression),(T,[V])=>T[x4(0x201)]=V),Key=Mutate$8(Mark(Stringish(KeyboardKey),{'type':'value'}),(T,[V])=>(T[x4(0x1e3)]??=[])[x4(0x132)](V)),ArrowKey=Mutate$8(ArrowKey$1,(T,[V])=>(T[x4(0x1e3)]??=[])['push'](V)),BackspaceKey=Mutate$8(BackspaceKey$1,(T,[V])=>(T[x4(0x1e3)]??=[])['push'](V)),DeleteKey=Mutate$8(DeleteKey$1,(T,[V])=>(T[x4(0x1e3)]??=[])[x4(0x132)](V)),ChordSeparator=Any(AndListSeparator,'+',Nothing$1),Chord=WeakList(All(Optional(The),Any(All(KeyboardKey$1,Key),All(Key,Optional(KeyboardKey$1)))),ChordSeparator),ExplicitChord=WeakList(All(Optional(The),Any(All(KeyboardKey$1,Key),All(Key,KeyboardKey$1))),ChordSeparator),HitKey=LogGroup(x4(0x54a),Apply$8(Any(All(All(InputSource,Optional(','),Any(HitKeyAction,TypeKeyAction)),Optional(LocationPreposition),Chord,Optional(KeyboardKeys),Optional(Times)),All(HitKeyAction,Optional(LocationPreposition),Chord,Optional(Any(KeyboardKeys,InputSource)),Optional(Times)),All(TypeKeyAction,Optional(LocationPreposition),Any(All(ExplicitChord,Optional(Any(KeyboardKeys,InputSource))),All(Chord,Any(KeyboardKeys,InputSource))),Optional(Times))))),HitArrowKey=LogGroup('HitArrowKey',Apply$8(All(ArrowKey,Optional(Times)))),HitBackspaceKey=LogGroup('HitBackspaceKey',Apply$8(All(BackspaceKey,Optional(Times)))),HitDeleteKey=LogGroup(x4(0x490),Apply$8(All(DeleteKey,Optional(Times)))),{Apply:Apply$7,Mutate:Mutate$7}=State({'type':x4(0x5a6)}),SwitchTargetAction=Mark(/switch\s+to|change\s+to|focus\s+on|click|select/i,{'type':'actionword'}),Title=Mutate$7(StringExpression$1,(T,[V])=>T[x4(0x5e0)]=V),Index=Mutate$7(Index$1(OrdinalNumberExpression$1),(T,[V])=>T[x4(0x6ee)]=V),Position=T=>Mutate$7(SequentialRelativePosition(T),(V,[{position:q}])=>V[x4(0x5d4)]=q),SwitchTarget=LogGroup(x4(0x2d4),Apply$7(All(SwitchTargetAction,Optional(The),Any(Position(BrowserTab),All(Index,BrowserTab),All(BrowserTab,Optional(Named),Title),All(Possessive(Browser$1),Title,Tab),All(Title,BrowserTab))))),{Apply:Apply$6,Mutate:Mutate$6}=State({'type':x4(0x7cf)}),CreateTargetAction=Mark(/create|open/i,{'type':'actionword'}),Url$1=Mutate$6(Mark(Url$3,{'type':x4(0x356)}),(T,[V])=>T[x4(0x5b7)]=V),CreateTarget=LogGroup(x4(0x2c8),Apply$6(All(CreateTargetAction,Article(All(Optional(New),BrowserTab)),Optional(All(Any(LocationPreposition,AssociationPreposition),Article(Any(Url$4,Website)),Url$1))))),CloseTarget=LogGroup(x4(0xde),Node(All(Mark(/close/i,{'type':x4(0x302)}),Optional(The),Optional(Current),BrowserTab),()=>({'type':x4(0x202)}))),{Apply:Apply$5,Mutate:Mutate$5}=State({'type':x4(0x156)}),CloseAction=Mark(Dismiss,{'type':'action'}),TargetElement=Mutate$5(Any(Dialog,Element$2),(T,[V])=>T[x4(0x22b)]=V),FocusedElement=Mutate$5(ImplicitElement,(T,[V])=>T[x4(0x22b)]=V),Close=LogGroup(x4(0x215),Apply$5(All(CloseAction,Optional(LocationPreposition),Any(FocusedElement,TargetElement)))),{Apply:Apply$4,Mutate:Mutate$4}=State({'type':'go'}),Go=LogGroup('Go',Apply$4(All(Disambiguate(All(Mark(/go/i,{'type':x4(0x302)}),Optional(To),Optional(The)),T=>[T+x4(0x506),T+x4(0x79e)]),Mutate$4(StringExpression$1,(T,[V])=>T[x4(0x43e)]=V)))),VisualCheck=LogGroup(x4(0xc0),Node(Mark(/visual\s+check/i,{'type':'actionword'}),()=>({'type':'visual\x20check'}))),{Apply:Apply$3,Mutate:Mutate$3}=State({'type':x4(0x86b)}),FillAction=Mark(/fill/i,{'type':x4(0x302)}),FillOutAction=Mark(/fill\s+out/i,{'type':'actionword'}),Form=PostCondition(Element$2,([T])=>T[x4(0x54f)]==='form'),Description=T=>Mutate$3(Text$2(T),(V,[q])=>V['description']=q),Intent=LogGroup('Intent',PreCondition(T=>T[x4(0x509)][x4(0x86b)],Effect(Apply$3(Any(Description(All(FillOutAction,Anything$1)),Description(All(FillAction,Form)))),([T],V)=>V[x4(0x1bf)][x4(0x1b4)][x4(0x132)](T)))),{Apply:Apply$2,Mutate:Mutate$2,state}=State({'type':'initialize\x20scope'}),InitializeScopeAction=Mark(/run|execute|invoke|call|do|perform/i,{'type':x4(0x302)}),ScopeName=Mutate$2(Mark(StringLiteral$1,{'type':x4(0x299)}),(T,[V])=>T['name']=V),Scope$1=Mark(All(Optional(All(Optional(Each),Optional(Of),Optional(The),TestSteps,Optional(Any(LocationPreposition,Of)))),Optional(The),Any(All(CustomFlowTest,ScopeName),All(ScopeName,Optional(CustomFlowTest)))),{'type':x4(0x67a)}),Parameter=Mutate$2(Effect(State({'secret':![]},({Mutate:T,state:V})=>{const be=x4,q=T(Article(Secret),u=>u[be(0x1de)]=!![]),C=T(Effect(Mark(Node(StringLiteral$1({'escape':/[:=]/}),([u])=>u[be(0x655)]()),{'type':be(0x210)}),([u],c,P)=>{const bM=be;if(isReservedName(u))c['collections'][bM(0x5c3)][bM(0x132)]({'type':bM(0x5c0),'pos':P[bM(0x169)],'text':c['text'][bM(0x7e8)](P['pos'],c[bM(0x169)]),'message':u+bM(0x774)});}),(u,[c])=>{const bK=be;u[bK(0x15f)]=c;if(isSecretName(c))u[bK(0x1de)]=!![];}),o=PostCondition(C,(u,c)=>V(c)[be(0x1de)]),X=T(Mark(AnyExpression$1,{'type':be(0x431)}),(u,[c])=>u[be(0x4fb)]=c),G=Mark(X,{'type':be(0x1de)}),B=u=>Dynamic(c=>V(c)[be(0x1de)]?Mark(u,{'type':'secret'}):u);return Any(All(G,StoragePreposition,Optional(The),o),All(Optional(q),B(X),StoragePreposition,Optional(The),C),All(C,Any(All(Any(AssignmentPreposition,Be),Optional(The)),/[:=]/),Optional(q),B(X)));}),([T],V,q)=>{const bg=x4;if(state(V)[bg(0x398)]?.[bg(0x654)](({name:C})=>C===T['name']))V[bg(0x1bf)][bg(0x5c3)]['push']({'type':bg(0x2ef),'pos':q[bg(0x169)],'text':V[bg(0x82c)]['slice'](q[bg(0x169)],V['pos']),'message':bg(0x27f)+T[bg(0x15f)]+bg(0x5b2)});}),(T,[V])=>(T[x4(0x398)]??=[])[x4(0x132)](V)),Parameters=Mark(List(All(Optional(Any(With,When,Using)),Optional(Parameters$1),Parameter),AndListSeparator),{'type':x4(0x5df)}),AssertionType=Any(Node(/visual\s+and\s+(?:non[-\s]?visual|textual)|(?:non[-\s]?visual|textual)\s+and\s+visual/i,()=>x4(0x18c)),Node(/visual/i,()=>'visual'),Node(/non[-\s]?visual|textual/i,()=>x4(0x1da))),Options$1=Mark(List(All(Any(All(Any(Run,Running),Optional(All(Each,Optional(All(Of,Optional(The)))))),All(Dont,Skip),All(Without,Skipping)),Any(Mutate$2(All(Optional(AssertionType),Assertions),(T,[V=x4(0x18c)])=>{const bl=x4,q=T['options']??={};if(!q[bl(0x425)]||V===bl(0x18c))q[bl(0x425)]=V;else{if(q['assertions']!==bl(0x18c)&&q[bl(0x425)]!==V)q['assertions']='all';}}),Mutate$2(Article(All(Start,Url$4)),T=>(T[x4(0x509)]??={})[x4(0x4dd)]=x4(0x18c)))),AndListSeparator),{'type':x4(0x2cf)}),InitializeScope=Effect(Apply$2(Mark(All(InitializeScopeAction,Scope$1,Optional(All(Optional(AndListSeparator),Parameters)),Optional(All(Optional(AndListSeparator),Options$1))),{'type':x4(0x264),'subtype':'initialize\x20scope'})),([T],V)=>V[x4(0x1bf)][x4(0x192)][x4(0x132)]({'name':T['name'],'parameters':(T[x4(0x398)]??[])['map'](({name:q})=>q),'options':T[x4(0x509)]})),IfKeyword=Mark(/(?:only\s+)?if(?:\s+and\s+only\s+if)?|(?:given|providing)\s+that/i,{'type':x4(0x340)}),UnlessKeyword=Mark(/unless/i,{'type':'keyword'}),ElseKeyword=Mark(/else|otherwise/i,{'type':x4(0x340)}),Block=(T,{collapseElseif:collapseElseif=![]}={})=>Mark(T,{'type':x4(0x22f),'mutate':collapseElseif?(V,[q])=>{const bf=x4;if(q?.['length']===0x1&&q[0x0]?.[bf(0x54f)]==='if')V['type']=bf(0x226);}:void 0x0}),Then=All(Then$1,Optional(All(Run,Optional(All(Optional(Any(The,These,This)),Following)),Optional(TestStep),Optional(TestSteps))),Optional(ActionModifierSeparator)),Else=T=>{const bU=x4;return LogGroup(bU(0x6ae),Node(All(Optional(BlockSeparator),Mark(ElseKeyword,{'type':bU(0x264),'subtype':'else'}),Optional(ActionModifierSeparator),Block(Optional(T),{'collapseElseif':!![]})),([V],q)=>{const bE=bU;return q[bE(0x1bf)]['conditionals'][bE(0x33d)]=0x0,q[bE(0x1bf)][bE(0x113)][bE(0x132)](V?.[0x0]['type']==='if'?bE(0x6e6):bE(0x5ef)),V??[];}));},If=T=>{const bZ=x4;return LogGroup('If',Node(All(Mark(Any(All(IfKeyword,Condition$1),All(UnlessKeyword,NegativeCondition)),{'type':bZ(0x264),'subtype':'if'}),Optional(Any(All(Optional(ActionModifierSeparator),Then),ActionModifierSeparator)),Block(Optional(T)),Optional(Else(T))),([V,q,C],o)=>{const bH=bZ;o['collections']['conditionals'][bH(0x33d)]=0x0,o[bH(0x1bf)][bH(0x113)][bH(0x132)]('if');const X={'type':'if','condition':V};if(q)X[bH(0x385)]=q;if(C)X['otherwise']=C;return X;}));};makeParse(Sanitize$1(ElementType$1));const Currency=Any(Any(/USD/i,/\$/,/U\.?S\.?\s*D(?:ollars?)?/i,/United\s*States\s*D(?:ollars?)?/i),Any(/EUR?O?s?/i,/€/),Any(/GBP/i,/£/,/Pounds?\s*(?:Sterling)?/i,/Great\s*Britain\s*Pounds?/i),Any(/JPY/i,/¥/,/(?:Japanese\s*)?Yen/i),Any(/CHF/i,/Fr\.?/i,/(?:Swiss\s*)?Francs?/i),Any(/CAD/i,/C(?:an)?\$/,/Canad(?:ian|a)\s*D(?:ollars?)?/i),Any(/AUD/i,/A(?:us)?\$/,/Austral(?:ian|ia)\s*D(?:ollars?)?/i),Any(/NZD/i,/NZ\$/,/New\s*Zealand\s*D(?:ollars?)?/i),Any(/CNY/i,/RMB/i,/CN¥/,/元/,/(?:Chinese\s*)?Yuan/i,/Renminbi/i),Any(/HKD/i,/HK\$/,/Hong\s*Kong\s*D(?:ollars?)?/i),Any(/SGD/i,/S\$/,/Singapore\s*D(?:ollars?)?/i),Any(/KRW/i,/₩/,/(?:South\s*)?Korean\s*Won/i),Any(/INR/i,/₹/,/Rs\.?/i,/(?:Indian\s*)?Rupees?/i),Any(/SEK/i,/(?:Swedish\s*)?Kron(?:a|or)/i),Any(/NOK/i,/(?:Norwegian\s*)?Kron(?:e|er)/i),Any(/TRY/i,/₺/,/TL/i,/(?:Turkish\s*)?Liras?/i),Any(/MXN/i,/Mex\$/,/(?:Mexican\s*)?Pesos?/i),Any(/BRL/i,/R\$/,/(?:Brazilian\s*)?Re(?:al|ais)/i),Any(/ZAR/i,/Rand/i,/R/)),SUPPORTED_LOCALES=['en','tr','es','fr','de','it','pt','he'];function getMonthsPattern(T){const bt=x4,V=new Set(),q=new Intl[(bt(0x481))](T,{'month':bt(0x2da)}),C=new Intl[(bt(0x481))](T,{'month':bt(0x417)});for(let X=0x0;X<0xc;X++){const G=new Date(0x7d0,X,0x1);V[bt(0x840)](q[bt(0x3de)](G)[bt(0x655)]()),V[bt(0x840)](C[bt(0x3de)](G)[bt(0x655)]());}const o=Array['from'](V)[bt(0x78a)]('|');return Use(new RegExp(o,'i'));}const Month=Any(...SUPPORTED_LOCALES['map'](T=>getMonthsPattern(T))),DateDelim=/[\/\-\.]/,TimeValue=Use(/(?:\d{1,2}:\d{2}(?::\d{2})?(?:\s*[ap]m)?)|(?:\d{1,2}\s*[ap]m)/i),TimeZone=Any(/Z/i,All(/[+-]/,/\d{2}/,Optional(All(/:?/,/\d{2}/)))),Year=/\d{4}/,IsoDate=All(Year,/-/,/\d{2}/,/-/,/\d{2}/,Optional(All(/T|\s+/,TimeValue,Optional(TimeZone)))),NumericDate=All(/\d{1,2}/,DateDelim,/\d{1,2}/,DateDelim,/\d{2,4}/),TextDateMonthFirst=All(Month,Optional(/\./),Optional(/\s+/),OrdinalNumberLiteral$1,Optional(All(/,?\s+/,Year))),TextDateDayFirst=All(OrdinalNumberLiteral$1,Optional(/\s+/),Optional(Of),Optional(/\s+/),Month,Optional(/\.?/),Optional(All(/,?\s+/,Year))),DateValue=Mark(Any(IsoDate,NumericDate,All(Month,Optional(/\./),Optional(/\s+/),Any(OrdinalNumberLiteral$1,NonnegativeIntegerNumberLiteral),Optional(/,/),/\s+/,Year),TextDateMonthFirst,TextDateDayFirst),{'type':x4(0x525)}),NumberValue=NumericLiteral,Percentage=Any(All(Optional(/[-+]/),Any(All(/%/,Optional(/\s+/),QuantitativeNumberLiteral),NoBoundary(All(QuantitativeNumberLiteral,Optional(/\s+/),/%/)))),Mark(All(QuantitativeNumberLiteral,Optional(/\s+/),Percentage$1),{'type':x4(0x739)})),Price=Mark(Any(All(NumericLiteral,Optional(/\s+/),Currency),All(Currency,Optional(/\s+/),NumericLiteral),All(/-/,Optional(/\s+/),Currency,Optional(/\s+/),QuantitativeNumberLiteral)),{'type':'price'}),Identifier=Mark(Any(/\S+/),{'type':x4(0x678)});function maskText(T,{meta:V,mask:mask=x4(0x67c)}){const bm=x4;let q=T;const C=[],o=[],X=[];for(const c of V[bm(0x433)]??[])if(c[bm(0x54f)]===bm(0x1de)){let P=c['pos'];for(const Y of X)if(Y['pos']>=c[bm(0x169)]&&Y[bm(0x169)]+Y[bm(0x33d)]<=c['pos']+c[bm(0x82c)][bm(0x33d)]){if(Y['pos']>P){const n={'pos':P,'length':Y[bm(0x169)]-P,'text':mask};if(!o['some'](v=>v[bm(0x169)]<=n[bm(0x169)]&&v['pos']+v[bm(0x33d)]>=n[bm(0x169)]+n[bm(0x33d)]))o[bm(0x132)](n);}P=Y[bm(0x169)]+Y['length'];}if(c[bm(0x169)]+c[bm(0x82c)]['length']>P){const v={'pos':P,'length':c[bm(0x169)]+c[bm(0x82c)]['length']-P,'text':mask};if(!o[bm(0x654)](I=>I[bm(0x169)]<=v[bm(0x169)]&&I[bm(0x169)]+I[bm(0x33d)]>=v[bm(0x169)]+v[bm(0x33d)]))o[bm(0x132)](v);}}else{if(c['type']==='reference'||c[bm(0x54f)]===bm(0x576))X[bm(0x132)]({'pos':c[bm(0x169)],'length':c[bm(0x82c)][bm(0x33d)]});}for(let I of V[bm(0x433)]??[]){let e=0x0;I=o[bm(0x6d3)]((M,K)=>{const bJ=bm;if(M[bJ(0x169)]<=K[bJ(0x169)]+e&&M[bJ(0x169)]+M['text']['length']>=K[bJ(0x169)]+e+K[bJ(0x33d)])M['text']=replace(M[bJ(0x82c)],K[bJ(0x169)]+e-M[bJ(0x169)],K[bJ(0x33d)],K[bJ(0x82c)]);else{if(M[bJ(0x169)]>=K['pos']+e+K[bJ(0x33d)])M['pos']+=K[bJ(0x82c)][bJ(0x33d)]-K[bJ(0x33d)];}return e+=K['text'][bJ(0x33d)]-K[bJ(0x33d)],M;},{...I}),C[bm(0x132)](I);}const G=[];let B=0x0;for(const M of o){G[bm(0x132)]({'pos':M['pos']+B,'length':M[bm(0x82c)][bm(0x33d)],'text':q[bm(0x358)](M['pos']+B,M[bm(0x169)]+B+M[bm(0x33d)])}),q=replace(q,M[bm(0x169)]+B,M[bm(0x33d)],M[bm(0x82c)]),B+=M[bm(0x82c)][bm(0x33d)]-M[bm(0x33d)];}const u={'text':q,'meta':{...V,'markers':C,'masks':G}};if(u['meta'][bm(0x209)])u[bm(0x7c9)][bm(0x209)]=u[bm(0x7c9)][bm(0x433)]['reduce']((K,l)=>{const bs=bm;if(l['type']===bs(0x356))K[bs(0x132)](l[bs(0x82c)][bs(0x268)](/^['"]|['"]$/g,''));return K;},[]);return u;}const Empty=LogGroup(x4(0x3e5),Node(/$/,()=>({'type':x4(0x226)}))),PreinstructionKeyword=Mark(/pre(?:-|\s+)?step/i,{'type':x4(0x340)}),PreinstructionDescription=All(Prior,Optional(Running),Any(Each,The),Optional(Subsequent),Optional(TestSteps)),SetPreinstructions=T=>{const bO=x4;return Node(Mark(All(Any(All(Activate,Optional(IndefiniteArticle),PreinstructionKeyword,Optional(ActionModifierSeparator)),All(Optional(Run),Optional(All(Optional(The),Following)),Any(PreinstructionKeyword,PreinstructionDescription),Optional(ActionModifierSeparator))),T),{'type':'control\x20flow','subtype':bO(0x6e3)}),([V])=>({'type':bO(0x6e3),'instructions':V}));},SetPreinstructionsPostlude=Node(All(Optional(ActionModifierSeparator),PreinstructionDescription),()=>T=>({'type':'set\x20preinstructions','instructions':T})),DropPreinstructions=Node(Mark(Any(All(Cancel,Optional(The),PreinstructionKeyword),All(Any(All(Run,Nothing),All(Dont,Run,Anything)),PreinstructionDescription)),{'type':x4(0x264),'subtype':x4(0x4cb)}),()=>({'type':'drop\x20preinstructions'})),TryKeyword=Mark(/try|optional/i,{'type':x4(0x340)}),Try=T=>{const bp=x4;return Node(Mark(All(Any(All(TryKeyword,Optional(ActionModifierSeparator)),All(Optionally,Optional(All(Run,Optional(All(Optional(The),Following)),Optional(Any(TestStep,TestSteps)))),Optional(ActionModifierSeparator))),T),{'type':bp(0x264),'subtype':bp(0x583)}),([V])=>({'type':bp(0x583),'instructions':V}));},TryPostlude=Node(PreCondition(T=>T[x4(0x5e1)][x4(0x136)]('element'),All(Optional(Only),If$1,Optional(/is|does|be|(?:to|can)(?:\s+be)?|(?:have|has)\s+been/i),/visible|shown|shows?(?:\s+up)?|appears?|apparent|displayed/i)),()=>T=>({'type':x4(0x583),'instructions':T}));function Instructions({allowed:T,disabled:V}={}){const bh=x4;function q(o,X){if(V?.['includes'](o))return Never;if(T&&!T['includes'](o))return Never;return X;}const C=Node(Any(List(Mark(Effect(Any(q(bh(0x86b),Intent),q('switch\x20target',SwitchTarget),q(bh(0x202),CloseTarget),q(bh(0x156),Close),q(bh(0x7cf),CreateTarget),q(bh(0x43c),HitKey),q('type',Type$1),q(bh(0x6d1),NavigatePdf),q(bh(0x284),Click),Longest(q(bh(0xf2),Navigate),q(bh(0x2fa),Scroll)),q('go',Go),q(bh(0x830),Search),q(bh(0x661),Assert),q('visual\x20check',VisualCheck),q(bh(0x65b),Hover),q(bh(0x5eb),Erase),q('clear',Clear),q('wait',Wait),q(bh(0x6f4),Refresh),q('hit\x20key',Weak(HitArrowKey)),q('hit\x20key',Weak(HitBackspaceKey)),q(bh(0x553),Focus),q(bh(0x6cd),SetTimeout),q(bh(0x6cd),SetVariable),q(bh(0x457),SetValue),q('check',Check),q(bh(0x6cd),Generate),Longest(q(bh(0x43c),HitDeleteKey),q('fetch',Fetch)),q(bh(0x5b9),Evaluate),Grab,q(bh(0x54f),PreCondition(o=>o['context'][bh(0x382)]?.['type']===bh(0x54f),PartialType))),([o],X)=>X[bh(0x5e1)]['action']=o),{'type':bh(0x382),'mutate':(o,[X],G)=>{const bk=bh;o[bk(0x1a4)]=X?.[bk(0x54f)]??bk(0x226);if(G['context'][bk(0x42f)])o[bk(0x54f)]='dependent\x20action';G['context'][bk(0x6f4)]();}}),ActionSeparator)),o=>o);return All(Sanitize$1(Recursive((o,{depth:X})=>{return Customizable(({avoid:G}={})=>{const bF=D;return Node(Any(PreCondition(()=>X===0x0,q(bF(0x226),Empty)),PreCondition(()=>X===0x0,q(bF(0x3b9),Comment)),PreCondition(()=>G!=='try',q(bF(0x583),Try(o({'avoid':bF(0x583)})))),PreCondition(()=>G!=='preinstruction',q('set\x20preinstructions',SetPreinstructions(o({'avoid':'preinstruction'})))),PreCondition(()=>G!==bF(0x415),q(bF(0x4cb),DropPreinstructions)),q('if',If(o({'avoid':bF(0x46a)}))),q('if',Else(o)),Node(All(C,Optional(Any(TryPostlude,SetPreinstructionsPostlude))),([B,u])=>u?u(B):B),q(bF(0x7f3),InitializeScope)),([B])=>Array['isArray'](B)?B:[B]);});})),Optional(InstructionTerminator));}function normalizeCurlString(T,V=/[]/){const bW=x4;return T[bW(0x268)](new RegExp(String[bW(0x5ab)]`\\([{\\nt]|${V[bW(0x275)]})`,'g'),(q,C)=>{if(C==='n')return'\x0a';else{if(C==='t')return'\x09';}return C;})[bW(0x268)](/\\u([0-9a-fA-F]{4})/g,(q,C)=>String[bW(0x1a5)](parseInt(C,0x10)))[bW(0x268)](/\\x([0-9a-fA-F]{2})/g,(q,C)=>String['fromCharCode'](parseInt(C,0x10)));}const CurlString=Any(Any(Node(Use(/\$'([^']*)'/),([T])=>normalizeCurlString(T)),Use(/"([^"]+)"/),Use(/'([^']+)'/)),Use(/(\S+)/)),Sanitize=T=>TokenBoundary(Ignore(/[\s\\]+/,T)),{Apply:Apply$1,Mutate:Mutate$1}=State({'type':x4(0x7df)}),Curl=/curl/i,CliOption=(T,V)=>{const bQ=x4;return All(Any(All(/--/,T[bQ(0x109)]),T[bQ(0x4bb)]?All(/-/,T[bQ(0x4bb)]):Never,T[bQ(0x52b)]?Nothing$1:Never),V);},Url=Mutate$1(CliOption({'longhand':'url','optional':!![]},CurlString),(T,[V])=>T[x4(0x5b7)]=V),BasicAuth=Mutate$1(CliOption({'longhand':'user','shorthand':'u'},CurlString),(T,[V])=>{const ba=x4,[q,C]=V[ba(0x37c)](':',0x2)[ba(0x16a)](o=>o[ba(0x4e3)]());T[ba(0x2b8)]={'type':ba(0x5b4),'username':q,'password':C};}),Header$2=Mutate$1(CliOption({'longhand':x4(0x61f),'shorthand':'H'},CurlString),(T,[V])=>{const bz=x4,q=V[bz(0x734)](':'),C=q>-0x1?V[bz(0x7e8)](0x0,q)['trim']():V[bz(0x4e3)](),o=q>-0x1?V[bz(0x7e8)](q+0x1)['trim']():'';T[bz(0x5c5)]??=[],T['headers']['push']({'name':C,'value':o,'secret':![]});}),Method$1=Mutate$1(Any(CliOption({'longhand':x4(0x51e),'shorthand':'X'},CurlString)),(T,[V])=>{const bw=x4;T[bw(0x5b3)]=V[bw(0x655)]();}),DataBody=Mutate$1(CliOption({'longhand':Any(x4(0x84a),x4(0x3c2),x4(0x51c)),'shorthand':'d'},CurlString),(T,[V])=>{const bi=x4,[q,C]=V['split']('=',0x2)[bi(0x16a)](G=>G['trim']());if(!C){T[bi(0x537)]??={'data':null},T[bi(0x537)][bi(0x51c)]=q;return;}T[bi(0x537)]??={'data':null};const o=typeof T[bi(0x537)][bi(0x51c)]===bi(0x71a)?T[bi(0x537)][bi(0x51c)][bi(0x37c)]('&'):[],X=q+'='+C;T[bi(0x537)][bi(0x51c)]=[...o,X][bi(0x78a)]('&');}),Options=Any(BasicAuth,Header$2,Method$1,Any(Mutate$1(CliOption({'longhand':x4(0x480)},CurlString),(T,[V])=>{const bd=x4;T[bd(0x537)]??={'data':V};}),DataBody,Mutate$1(CliOption({'longhand':x4(0x2e3)},CurlString),(T,[V])=>{const D0=x4;T[D0(0x537)]??={'data':null};try{T[D0(0x537)]['data']=convertToStructure(JSON[D0(0x462)](V));}catch{T['body'][D0(0x51c)]=V;}finally{T[D0(0x537)][D0(0x54f)]=D0(0x2e3);}})),Mutate$1(CliOption({'longhand':x4(0x449),'shorthand':'b'},CurlString),(T,[V])=>{const D1=x4;T[D1(0x5e5)]??=[];const q=V['split'](';')[D1(0x16a)](C=>C[D1(0x4e3)]());for(const C of q){const [o,X]=C['split']('=',0x2);T[D1(0x5e5)][D1(0x132)]({'name':o,'value':X,'secret':![]});}}),Raw(CliOption({'longhand':/[a-zA-Z0-9.-]+/,'shorthand':/[a-zA-Z]/},Optional(CurlString)))),parse$4=makeParse(Apply$1(Sanitize(All(Curl,Star(Options),Url,Star(Options)))));function parseCurl(T){const D2=x4,V=parse$4(T);if(V[D2(0x5c3)]||!V['results'])return null;const [q]=V[D2(0x71e)];return q;}const {Apply,Mutate}=State({'type':x4(0x7df)}),URI=Any(Mutate(Use(/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/),(T,[V])=>T['url']=V),Mutate(Use(/(\S+)/),(T,[V])=>{const D3=x4;T[D3(0x5b7)]=''+(V[D3(0x27e)]('/')?'':'/')+V;})),Method=Mutate(Use(/(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS|TRACE|CONNECT)/i),(T,[V])=>T[x4(0x5b3)]=V[x4(0x655)]()),HttpVersion=Use(/HTTP\/[0-9.]+/i),Headers=All(/\n/,List(Mutate(All(Use(/([^:\n]+)/),/:\s*/,Use(/([^\n]*)/)),(T,[V,q])=>{const D4=x4;T[D4(0x5c5)]??=[],T[D4(0x5c5)][D4(0x132)]({'name':V,'value':q,'secret':![]});}),/\n/)),Body$1=Mutate(Use(/(.+)/s),(T,[V])=>{const D5=x4;T[D5(0x537)]={'data':V};}),parse$3=makeParse(Apply(All(Method,/\s+/,URI,/\s+/,HttpVersion,Optional(Headers),Optional(All(/\n\n/,Body$1)))));function parseHttp(T){const D6=x4,V=parse$3(T);if(V[D6(0x5c3)]||!V[D6(0x71e)])return null;const q=V[D6(0x71e)][0x0],C=q[D6(0x5c5)]?.['find'](o=>o[D6(0x15f)]===D6(0x3b0))?.[D6(0x4fb)];if(C)q[D6(0x5b7)]='https://'+C+q['url'];return q;}function FetchAction(T){const D7=x4,V=[D7(0x69e)];if(T['method'])V['push'](T[D7(0x5b3)]);V[D7(0x132)](D7(0x7e6)+StringExpression(T[D7(0x5b7)]));const q=[];if(T['auth'])q[D7(0x132)](Auth(T[D7(0x2b8)]));if(T[D7(0x5c5)])T['headers'][D7(0x2d8)](({name:C,value:o})=>{q['push'](Header({'name':C,'value':o}));});if(T[D7(0x5e5)])T['cookies'][D7(0x2d8)](({name:C,value:o})=>{const D8=D7;q[D8(0x132)](Cookie({'name':C,'value':o}));});if(T[D7(0x537)])q['push'](Body(T[D7(0x537)]));if(q[D7(0x33d)]>0x0)V[D7(0x132)](q[D7(0x78a)]('\x20and\x20'));if(T['statuses'])V[D7(0x132)](Status(T['statuses']));return V[D7(0x78a)]('\x20');}function Cookie(T){const D9=x4,V=[D9(0x2b0)];if(T[D9(0x1de)])V['push'](D9(0x1de));return V[D9(0x132)](D9(0x341)+StringExpression(T[D9(0x15f)])+D9(0x3f0)+StringExpression(T[D9(0x4fb)])),V[D9(0x78a)]('\x20');}function Header(T){const Dx=x4,V=['with'];if(T[Dx(0x1de)])V[Dx(0x132)](Dx(0x1de));return V[Dx(0x132)](Dx(0x143)+StringExpression(T[Dx(0x15f)])+':\x20'+StringExpression(T[Dx(0x4fb)])),V[Dx(0x78a)]('\x20');}function Body(T){const Dr=x4;if(T[Dr(0x54f)])return Dr(0x542)+T['type']+Dr(0x6af)+AnyExpression(T[Dr(0x51c)]);else return'with\x20body\x20'+AnyExpression(T[Dr(0x51c)]);}function Status(T){const DR=x4;if(T==='*')return DR(0x11f);else return'expecting\x20status\x20code'+(T[DR(0x33d)]>0x1?'s':'')+'\x20'+T[DR(0x78a)](DR(0x43a));}function Auth(T,V={}){const Db=x4;return Db(0x17a)+StringExpression(T[Db(0x550)])+':'+StringExpression(T['password']);}function ElementDescriptor(T){const DD=x4,V=[DD(0x5d5)];if(T['nth']!=null)V['push'](OrdinalIndex(T[DD(0x779)]));if(T['orderDirection']===DD(0x671)){V['push']('last'),V[DD(0x132)](T[DD(0x54f)]?ElementType(T['type'],T[DD(0x56f)]):DD(0x22b));if(typeof T[DD(0x5e0)]===DD(0x71a))V[DD(0x132)]('with\x20text\x20'+StringExpression(T['title']));else{if(T[DD(0x5e0)]&&DD(0x15f)in T[DD(0x5e0)])V[DD(0x132)](DD(0x542)+T[DD(0x5e0)][DD(0x15f)]);}}else{if(T[DD(0x5e0)]&&typeof T['title']===DD(0x52d)&&'isPattern'in T['title']){V['push'](T[DD(0x54f)]?ElementType(T[DD(0x54f)]):DD(0x22b));if(DD(0x15f)in T[DD(0x5e0)])V['push'](DD(0x542)+T['title'][DD(0x15f)]);}else{if(typeof T[DD(0x5e0)]===DD(0x71a)&&isPatternName(T[DD(0x5e0)]))V[DD(0x132)](T[DD(0x54f)]?ElementType(T[DD(0x54f)]):DD(0x22b)),V[DD(0x132)](DD(0x386)+StringExpression(T[DD(0x5e0)]));else{if(T[DD(0x5e0)]&&typeof T[DD(0x5e0)]===DD(0x71a)&&isNamedColor(T[DD(0x5e0)]))V[DD(0x132)](T[DD(0x54f)]?ElementType(T[DD(0x54f)],T[DD(0x56f)]):'element'),V[DD(0x132)](DD(0x386)+StringExpression(T[DD(0x5e0)],{'avoid':DD(0x5ee)}));else{if(typeof T[DD(0x81d)]===DD(0x71a)&&isNamedColor(T[DD(0x81d)]))V[DD(0x132)](T[DD(0x81d)]);if(T[DD(0x5e0)])V[DD(0x132)](StringExpression(T[DD(0x5e0)],{'avoid':typeof T[DD(0x5e0)]===DD(0x71a)&&isElementType(T[DD(0x5e0)])?'unquoted':void 0x0}));V[DD(0x132)](T[DD(0x54f)]?ElementType(T[DD(0x54f)],T[DD(0x56f)]):DD(0x22b));if(typeof T[DD(0x81d)]==='string'&&!isNamedColor(T[DD(0x81d)]))V[DD(0x132)](DD(0x270)+StringExpression(T['color']));}}}}if(T[DD(0x7b1)]){if(T[DD(0x7b1)][DD(0x54f)]===DD(0x81e))V[DD(0x132)]('with\x20css\x20selector\x20\x27'+StringExpression(T[DD(0x7b1)]['selector'])+'\x27');else{if(T[DD(0x7b1)][DD(0x54f)]===DD(0x513))V[DD(0x132)]('with\x20xpath\x20selector\x20\x27'+StringExpression(T[DD(0x7b1)]['selector'])+'\x27');}}if(T['anchor'])V[DD(0x132)](Anchor(T['anchor']));return V[DD(0x78a)]('\x20');}function ElementType(T,V){const DL=x4;T=Array[DL(0x1ec)](T)?T[0x0]:T;if(V&&V[T])return V[T];switch(T){case'table-cell':return DL(0x390);case DL(0x1fb):return DL(0x7da);case DL(0x5aa):return DL(0x53c);case'table-column':return DL(0x63f);case'table-leaf-row':return DL(0x53c);case DL(0x402):return DL(0x63f);case DL(0x387):return DL(0x424);case DL(0x7ba):return'header\x20row';case DL(0x28b):return DL(0x3f3);case'combobox':return DL(0x1b9);case DL(0x56b):return DL(0x730);case DL(0x530):return'date\x20picker';case DL(0x54c):return DL(0x608);case DL(0x23f):return'color\x20picker';case DL(0x1e8):return DL(0x578);case'checkboxgroup':return DL(0x50d);case DL(0x5fe):return'list\x20item';case DL(0x7dd):return DL(0x3e9);case DL(0x85a):return DL(0x254);default:return T;}}function Anchor(T){const Dj=x4;if(Array[Dj(0x1ec)](T)&&T['length']===0x2&&(typeIs(T[0x0],Dj(0x2d1))||typeIs(T[0x0],Dj(0x5aa)))&&(typeIs(T[0x1],Dj(0x2d1))||typeIs(T[0x1],'table-row'))){const C=extractCommonTableAnchor(T[0x0],T[0x1]),o=C?removeDeepestTableAnchor(T[0x0]):T[0x0],X=C?removeDeepestTableAnchor(T[0x1]):T[0x1];let G=Anchor(o)+Dj(0x16f)+Anchor(X);if(C)G+='\x20'+Anchor(C);return G;}const V=Array[Dj(0x1ec)](T)?T[0x0]:T,q=[];if(V[Dj(0x5d4)]==='near')q[Dj(0x132)](Dj(0x7db));else{if(V[Dj(0x5d4)]==='leftof')q[Dj(0x132)](Dj(0x5dd));else{if(V[Dj(0x5d4)]===Dj(0x4a1))q[Dj(0x132)](Dj(0x2a2));else{if(V[Dj(0x5d4)]===Dj(0x6dc))q[Dj(0x132)](Dj(0x7f4));else{if(V[Dj(0x5d4)]===Dj(0xb1))q['push']('above\x20of');else{if(V['position']===Dj(0x315))q[Dj(0x132)](Dj(0x6f6));else{if(V[Dj(0x5d4)]===Dj(0x267))q[Dj(0x132)]('to\x20the\x20right\x20and\x20above\x20of');else{if(V['position']===Dj(0x2c6))q[Dj(0x132)](Dj(0x841));else{if(V[Dj(0x5d4)]==='belowrightof')q['push']('to\x20the\x20right\x20and\x20below\x20of');else{if(V['position']===Dj(0x4f9)&&typeIs(V,Dj(0x7ac)))q[Dj(0x132)]('of');else{if(V['position']===Dj(0x4f9))q[Dj(0x132)]('in');else{if(V[Dj(0x5d4)]===Dj(0x3cc))q[Dj(0x132)](Dj(0x487));else{if(V[Dj(0x5d4)]===Dj(0x5fb))q[Dj(0x132)](Dj(0xe1));else{if(V['position']===Dj(0x81c))q[Dj(0x132)](Dj(0x13e));else{if(V[Dj(0x5d4)]===Dj(0x589))q[Dj(0x132)](Dj(0x13c));else{if(V[Dj(0x5d4)]===Dj(0x857))q[Dj(0x132)]('at\x20the\x20left\x20and\x20top\x20of');else{if(V[Dj(0x5d4)]===Dj(0x33f))q['push']('at\x20the\x20right\x20and\x20top\x20of');else{if(V[Dj(0x5d4)]===Dj(0xc1))q['push'](Dj(0x665));else{if(V[Dj(0x5d4)]===Dj(0x719))q[Dj(0x132)](Dj(0x150));}}}}}}}}}}}}}}}}}}if(V[Dj(0x22b)]){if('isViewportDescriptor'in V['element'])q[Dj(0x132)](Dj(0x4b7));else{if('isDialogDescriptor'in V[Dj(0x22b)])q[Dj(0x132)](Dj(0x6de));else q[Dj(0x132)](ElementDescriptor(V[Dj(0x22b)]));}}return q[Dj(0x78a)]('\x20');}function Reference(T){const DN=x4;if(DN(0x47a)in T)return'{'+ReferenceName(T)+'}';else return'{%'+JSExpressionLiteral(T['expression'])+'%}';}function ReferenceName(T){const DA=x4;return(T[DA(0x496)]??[])[DA(0x6d3)]((V,q)=>{const DS=DA;if(DS(0x316)in q){if(typeof q[DS(0x316)]==='string')return test(Identifier$1,q[DS(0x316)])?V+'.'+q[DS(0x316)]:V+'['+StringLiteral(q[DS(0x316)])+']';else{if(typeof q[DS(0x316)]==='number')return V+'['+q[DS(0x316)]+']';else{if('isRef'in q[DS(0x316)]||DS(0x6e4)in q[DS(0x316)])return V+'['+Reference(q['get'])+']';else{if('isInterpolatedString'in q['get'])return V+'['+InterpolatedStringLiteral(q[DS(0x316)])+']';}}}}else{if(DS(0x789)in q){const C=q['match'];if(DS(0x614)in C)return V+'/'+C[DS(0x614)]+'/';else{if(DS(0x15f)in C)return V+'/'+C[DS(0x15f)]+'/';}return V+'/'+String(C)+'/';}}return V;},T['name']);}function Literal(T,V){const DT=x4;if(typeof T==='string')return StringLiteral(T,V?.[DT(0x606)]);else return JSON[DT(0x122)](T);}function AnyExpression(T,V){const DV=x4;if(T&&typeof T===DV(0x52d)){if(DV(0x824)in T)return InterpolatedStringLiteral(T,V?.['quoting']);else{if(DV(0x2a9)in T)return StructureLiteral(T,V);else{if(DV(0x47a)in T||DV(0x6e4)in T)return Reference(T);}}return'';}else return Literal(T,V);}function JSExpressionLiteral(T){const Dq=x4;if(T[Dq(0x2a6)][Dq(0x33d)]===0x1)return typeof T[Dq(0x2a6)][0x0]===Dq(0x71a)?UnquotedStringLiteral(T['chunks'][0x0]):Reference(T[Dq(0x2a6)][0x0]);return T[Dq(0x2a6)]['reduce']((V,q)=>{return V+(typeof q==='string'?UnquotedStringChunk(q):Reference(q));},'');}function StructureLiteral(T,V){const DC=x4;if(T[DC(0x54f)]===DC(0x406))return'['+T[DC(0x6ac)][DC(0x16a)](q=>AnyExpression(q,V))[DC(0x78a)](',\x20')+']';else return'{'+T[DC(0x6ac)]['map'](q=>StringExpression(q[DC(0x7b0)],V?.[DC(0x606)])+':\x20'+AnyExpression(q[DC(0x4fb)],V))[DC(0x78a)](',\x20')+'}';}function StringExpression(T,V){const Dy=x4;if(typeof T===Dy(0x71a))return StringLiteral(T,V);else{if('isInterpolatedString'in T)return InterpolatedStringLiteral(T,V);else return Reference(T);}}function Quoted(T,V=x4(0x3d4)){const Do=x4;if(V==='double\x20quoted')return DoubleQuoted(T);else{if(V===Do(0x18e))return SingleQuoted(T);else{if(V==='unquoted')return T;else return'';}}}function DoubleQuoted(T){return'\x22'+T+'\x22';}function SingleQuoted(T){return'\x27'+T+'\x27';}function StringLiteral(T,V){const DX=x4;if(V?.[DX(0x797)]&&V['prefer']!==V?.[DX(0x2ae)]){if(V[DX(0x797)]===DX(0x5ee)&&!T[DX(0x241)]('\x20')&&!/^['"]|^[\d,.]+$/[DX(0x3a7)](T))return UnquotedStringChunk(T);else{if(V[DX(0x797)]===DX(0x3d4)&&!T[DX(0x241)]('\x22'))return DoubleQuoted(DoubleQuotedStringChunk(T));else{if(V[DX(0x797)]==='single\x20quoted'&&!T[DX(0x241)]('\x27'))return SingleQuoted(SingleQuotedStringChunk(T));}}}if(V?.['avoid']!==DX(0x5ee)&&!T[DX(0x241)]('\x20')&&!/^['"]/['test'](T))return UnquotedStringChunk(T);if(V?.[DX(0x2ae)]!==DX(0x3d4)&&!T[DX(0x241)]('\x22'))return DoubleQuoted(DoubleQuotedStringChunk(T));else{if(V?.[DX(0x2ae)]!==DX(0x18e)&&!T['includes']('\x27'))return SingleQuoted(SingleQuotedStringChunk(T));else return V?.['avoid']!=='double\x20quoted'?DoubleQuoted(DoubleQuotedStringChunk(T)):SingleQuoted(SingleQuotedStringChunk(T));}}function UnquotedStringLiteral(T){return UnquotedStringChunk(T);}function InterpolatedStringLiteral(T,V){const DG=x4;if(T[DG(0x2a6)]['length']===0x1)return typeof T[DG(0x2a6)][0x0]===DG(0x71a)?StringLiteral(T[DG(0x2a6)][0x0],V):Reference(T[DG(0x2a6)][0x0]);const q=T[DG(0x2a6)][DG(0x6d3)]((o,X,G)=>{const DB=DG;if(typeof X===DB(0x71a)){if(X[DB(0x241)]('\x20')||G===0x0&&/^['"]/['test'](X))o[DB(0x66b)](DB(0x5ee));else{if(X[DB(0x241)]('\x22'))o['delete'](DB(0x3d4));else{if(X[DB(0x241)]('\x27'))o[DB(0x66b)]('single\x20quoted');}}}return o;},new Set([DG(0x5ee),DG(0x3d4),DG(0x18e)]));if(V?.['avoid'])q[DG(0x66b)](V?.['avoid']);const C=[...q][0x0]??(V?.[DG(0x2ae)]!=='double\x20quoted'?'double\x20quoted':DG(0x18e));return Quoted(T[DG(0x2a6)][DG(0x6d3)]((o,X)=>{const Du=DG;return o+(typeof X===Du(0x71a)?StringChunk(X,C):Reference(X));},''),C);}function StringChunk(T,V=x4(0x3d4)){const Dc=x4;if(V===Dc(0x5ee))return UnquotedStringChunk(T);else{if(V===Dc(0x3d4))return DoubleQuotedStringChunk(T);else{if(V===Dc(0x18e))return SingleQuotedStringChunk(T);else return'';}}}function UnquotedStringChunk(T){const DP=x4;return T[DP(0x268)](/[{]|\\(?=[\{])/g,(V,q)=>{const DY=DP;return V==='{'&&!startsWith$2(Reference$1(DY(0x50a)),T['substring'](q))?V:'\x5c'+V;});}function SingleQuotedStringChunk(T){return T['replaceAll'](/['{]|\\(?=[\'{])/g,(V,q)=>{const Dn=D;return V==='{'&&!startsWith$2(Reference$1(Dn(0x50a)),T[Dn(0x358)](q))?V:'\x5c'+V;});}function DoubleQuotedStringChunk(T){return T['replaceAll'](/["{]|\\(?=[\"{])/g,(V,q)=>{const Dv=D;return V==='{'&&!startsWith$2(Reference$1('any'),T[Dv(0x358)](q))?V:'\x5c'+V;});}function OrdinalIndex(T){const DI=x4;return OrdinalNumberExpression(typeof T===DI(0x196)?T+0x1:T);}function OrdinalNumberExpression(T){const De=x4;if(typeof T==='number')return OrdinalNumberLiteral(T);else{if('isRef'in T||De(0x6e4)in T)return Reference(T);else return'';}}function OrdinalNumberLiteral(T){const DM=x4;if(T===0x1)return DM(0x222);else{if(T===0x2)return DM(0x277);else{if(T===0x3)return DM(0x1bd);}}const V=T%0x64;if(V>=0xb&&V<=0xd)return T+'th';switch(T%0xa){case 0x1:return T+'st';case 0x2:return T+'nd';case 0x3:return T+'rd';default:return T+'th';}}function typeIs(T,V){const DK=x4;return Boolean(T&&T[DK(0x22b)]&&'type'in T['element']===!![]&&T[DK(0x22b)][DK(0x54f)]===V);}function findDeepestTableAnchor(T){const Dg=x4;if(!T[Dg(0x22b)]||Dg(0x769)in T[Dg(0x22b)]||'isDialogDescriptor'in T[Dg(0x22b)])return;if(typeIs(T,Dg(0x7ac))){if(T['element']['anchor']&&!Array[Dg(0x1ec)](T[Dg(0x22b)]['anchor']))return findDeepestTableAnchor(T[Dg(0x22b)][Dg(0x1d0)])||T;return T;}if(T[Dg(0x22b)]['anchor']&&!Array['isArray'](T[Dg(0x22b)]['anchor']))return findDeepestTableAnchor(T[Dg(0x22b)][Dg(0x1d0)]);}function extractCommonTableAnchor(T,V){const Dl=x4,q=findDeepestTableAnchor(T),C=findDeepestTableAnchor(V);if(!q||!C)return;if(q['position']===C[Dl(0x5d4)]&&q[Dl(0x22b)]&&C['element']){const o=q[Dl(0x22b)],X=C[Dl(0x22b)];if('type'in o&&Dl(0x54f)in X&&o[Dl(0x54f)]===X[Dl(0x54f)]&&o['title']===X[Dl(0x5e0)])return q;}}function removeDeepestTableAnchor(T){const Df=x4;if(!T[Df(0x22b)]||Df(0x769)in T[Df(0x22b)]||Df(0x3d6)in T[Df(0x22b)]||Array[Df(0x1ec)](T[Df(0x22b)][Df(0x1d0)]))return T;if(T[Df(0x22b)]['anchor']&&!Array[Df(0x1ec)](T[Df(0x22b)][Df(0x1d0)])&&typeIs(T[Df(0x22b)][Df(0x1d0)],Df(0x7ac))){const V=T[Df(0x22b)][Df(0x1d0)];if(V['element']&&!(Df(0x769)in V['element'])&&!(Df(0x3d6)in V[Df(0x22b)])&&!V[Df(0x22b)][Df(0x1d0)]){const {anchor:q,...C}=T['element'];return{...T,'element':C};}}if(T['element'][Df(0x1d0)]&&!Array[Df(0x1ec)](T[Df(0x22b)][Df(0x1d0)]))return{...T,'element':{...T['element'],'anchor':removeDeepestTableAnchor(T[Df(0x22b)][Df(0x1d0)])}};return T;}const cache=new Map();function getParse({allowed:T,disabled:V}){const DU=x4,q=(T?T[DU(0x26d)]()['join'](','):'*')+'|'+(V?V[DU(0x26d)]()[DU(0x78a)](','):'');let C=cache[DU(0x316)](q);if(!C)cache[DU(0x866)](q,C=makeParse(Instructions({'allowed':T,'disabled':V})));return C;}function parseText(T,{split:V,fix:q,mask:C,replacements:o,intent:intent=!![],locale:locale='en-US',allowed:X,disabled:G}={}){const DE=x4;let B=0x0;for(const Y of o??[]){T=replace(T,Y[DE(0x169)]+B,Y[DE(0x33d)],Y[DE(0x82c)]),B+=Y[DE(0x82c)][DE(0x33d)]-Y[DE(0x33d)];}const u=getParse({'allowed':X,'disabled':G})(T,{'intent':intent,'locale':locale});if(q&&u[DE(0x5c3)]){const n=parseCurl(T);if(n)return parseText(FetchAction(n),{'split':V,'intent':intent,'fix':q,'mask':C,'locale':locale});const v=parseHttp(T);if(v)return parseText(FetchAction(v),{'split':V,'intent':intent,'fix':q,'mask':C,'locale':locale});}if(q&&u['fixes']&&!u[DE(0x5c3)])return parseText(u['fixes'][DE(0x4dc)]((I,e)=>e[DE(0x169)]-I[DE(0x169)])[DE(0x6d3)]((I,{pos:e,text:M,fix:K})=>replace(I,e,M[DE(0x33d)],K),T),{'split':V,'mask':C,'intent':intent,'locale':locale});if(V&&!u['errors']){const I=[];for(let e=u[DE(0x433)][DE(0x33d)]-0x1;e>=0x0;--e){const M=u[DE(0x433)][e];if(M[DE(0x54f)]===DE(0x382)||M['type']===DE(0x46c)||M[DE(0x54f)]===DE(0x264)){const K=I[0x0];if(!K||K[DE(0x169)]>M[DE(0x169)]){if(K&&K[DE(0x54f)]===DE(0x46c)&&M[DE(0x54f)]!=='control\x20flow')I[0x0]={...M,'text':T['substring'](M[DE(0x169)],K[DE(0x169)]+K[DE(0x82c)][DE(0x33d)])};else{if(K&&M['subtype']===DE(0x5ef)&&K['subtype']==='if')I[0x0]={...M,'text':T['substring'](M[DE(0x169)],K[DE(0x169)]+K['text'][DE(0x33d)])};else I[DE(0x4bf)](M);}}}}if(I['length']>0x1)return nestPieces(resolveImplicitReferences(I,u[DE(0x433)])[DE(0x16a)]((l,f)=>({'pos':I[f][DE(0x169)],'result':parseText(l,{'intent':intent,'mask':C,'locale':locale})[0x0]})),u[DE(0x433)][DE(0x79b)](l=>l[DE(0x54f)]===DE(0x22f)));}const c=u[DE(0x71e)]?.[0x0]??[],P={'text':T,'result':c,'meta':{}};P[DE(0x7c9)][DE(0x4e8)]=c[DE(0x16a)](l=>l[DE(0x54f)]);if(u[DE(0x79a)])P['meta'][DE(0x79a)]=u[DE(0x79a)];if(u[DE(0x321)])P[DE(0x7c9)]['disambiguations']=u[DE(0x321)];if(u['variables'])P['meta'][DE(0x408)]=u[DE(0x408)];if(u[DE(0x473)])P[DE(0x7c9)][DE(0x473)]=u[DE(0x473)];if(u[DE(0x3ea)])P[DE(0x7c9)][DE(0x3ea)]=u[DE(0x3ea)];if(u[DE(0x55a)])P['meta'][DE(0x55a)]=u[DE(0x55a)];if(u[DE(0x4d4)])P[DE(0x7c9)][DE(0x4d4)]=u[DE(0x4d4)];if(u[DE(0x80a)])P[DE(0x7c9)][DE(0x80a)]=u[DE(0x80a)];if(u[DE(0x1b4)])P['meta'][DE(0x1b4)]=u[DE(0x1b4)];if(u[DE(0x113)])P[DE(0x7c9)]['conditional']=u[DE(0x113)][0x0];if(u[DE(0x192)])P['meta']['scope']=u[DE(0x192)]['at'](-0x1);u['references']&&(P['meta'][DE(0x715)]=u[DE(0x715)],P['meta'][DE(0x398)]=u[DE(0x715)][DE(0x6d3)]((l,f)=>{const DZ=DE;if(!l[DZ(0x654)](U=>U['name']===f['name'])&&!u[DZ(0x408)]?.[DZ(0x654)](U=>U[DZ(0x15f)]===f[DZ(0x15f)]))l['push']({'name':f['name'],'type':f['type']});return l;},[]));if(u['markers']){P[DE(0x7c9)]['markers']=u['markers'][DE(0x79b)](f=>f[DE(0x54f)]!=='empty'&&f[DE(0x54f)]!==DE(0x22f));const l=P[DE(0x7c9)][DE(0x433)][DE(0x6d3)]((f,U)=>{const DH=DE;if(U[DH(0x54f)]===DH(0x356))f[DH(0x132)](U[DH(0x82c)][DH(0x268)](/^['"]|['"]$/g,''));return f;},[]);if(l['length']>0x0)P[DE(0x7c9)][DE(0x209)]=l;}if(u[DE(0x5c3)]?.[0x0])P['error']=u[DE(0x5c3)][0x0];if(C){const f=maskText(T,{'meta':P['meta']});P[DE(0x82c)]=f['text'],P[DE(0x7c9)]=f[DE(0x7c9)];}return[P];}function nestPieces(T,V){const Dm=x4;function q(X){const Dt=D;return V[Dt(0x6d3)]((G,B)=>B[Dt(0x169)]<=X&&X<B['pos']+B[Dt(0x82c)]['length']?G+0x1:G,0x0);}const C=[],o=[];for(const X of T){const G=q(X['pos']);while(o[Dm(0x33d)]>0x0&&o['at'](-0x1)['depth']>=G)o[Dm(0x34c)]();const B={'result':X[Dm(0x804)],'children':[]};(o['at'](-0x1)?.['node'][Dm(0x384)]??C)['push'](B),o[Dm(0x132)]({'node':B,'depth':G});}return C[Dm(0x16a)](function u(c){const DJ=Dm;return c[DJ(0x384)]['length']>0x0?{'head':c[DJ(0x804)],'body':c['children'][DJ(0x16a)](u)}:c[DJ(0x804)];});}function resolveImplicitReferences(T,V){const Ds=x4;return T[Ds(0x16a)](q=>{const DO=Ds,C=V[DO(0x79b)](o=>o[DO(0x169)]>=q['pos']&&o['pos']+o[DO(0x82c)][DO(0x33d)]<=q['pos']+q['text'][DO(0x33d)]);return C[DO(0x79b)](o=>o[DO(0x54f)]===DO(0x639)&&o[DO(0x22b)])[DO(0x79b)](o=>!C[DO(0x654)](X=>X[DO(0x54f)]===DO(0x576)&&X['pos']<o[DO(0x169)]))['toSorted']((o,X)=>X[DO(0x169)]-o[DO(0x169)])[DO(0x6d3)]((o,X)=>replace(o,X[DO(0x169)]-q['pos'],X[DO(0x82c)][DO(0x33d)],ElementDescriptor(X[DO(0x22b)])),q[DO(0x82c)]);});}makeParse(StandaloneStringExpression),makeParse(Sanitize$1(StructureLiteral$1));const store=new WeakMap();function unseal(T){return store['get'](T);}function parseElementFragment(T){const Dp=x4,V=makeParse(Sanitize$1(Element$2()))(T[Dp(0x4e3)]());return{'text':T,'result':V['results']?.[0x0],'error':V[Dp(0x5c3)]?.[0x0],'meta':{'markers':V[Dp(0x433)]}};}const PATTERNS$1={'price':Price,'percentage':Percentage,'number':NumberValue,'date':DateValue,'time':TimeValue,'code':Identifier};function extractPattern(T,V){const Dh=x4,q=PATTERNS$1[T];if(!q)return null;return search(q,V)?.[Dh(0x82c)]??null;}function brandedHasInstance(T,V){return function(q){const Dk=D;if(this!==T)return Function[Dk(0x828)][Symbol[Dk(0x78b)]][Dk(0x38e)](this,q);return typeof q===Dk(0x52d)&&q!==null&&q[V]===!![];};}function classBrand(T){const DF=x4;return Symbol['for'](DF(0x4fa)+T);}function setBrand(T,V){const DW=x4;Object[DW(0x1ce)](T,V,{'value':!![]});}const EVENT_TARGET_BRAND=classBrand(x4(0x10b));var EventTarget$1=class EventTarget$1 extends globalThis['EventTarget']{static [Symbol['hasInstance']]=brandedHasInstance(EventTarget$1,EVENT_TARGET_BRAND);#listeners=new Map();#queue=new Set();#corked=![];#groups=new Map();#addListener(T,V){const DQ=x4;if(this.#listeners[DQ(0x136)](T))this.#listeners[DQ(0x316)](T)[DQ(0x840)](V);else this.#listeners[DQ(0x866)](T,new Set([V]));this[DQ(0x4ba)](T,V);if(T!==DQ(0x372)&&T!==DQ(0x45e))super[DQ(0x7f2)](new EventTargetListenerAddedEvent({'event':T,'count':this.#listeners['get'](T)[DQ(0x357)]}));}#addOnceListener(T,V){const Da=x4;if(this.#listeners['has'](T))this.#listeners[Da(0x316)](T)[Da(0x840)](V);else this.#listeners[Da(0x866)](T,new Set([V]));this[Da(0x4ba)](T,q=>{const Dz=Da;V(q),this.#listeners[Dz(0x316)](T)?.['delete'](V);if(T!==Dz(0x372)&&T!==Dz(0x45e))super[Dz(0x7f2)](new EventTargetListenerRemovedEvent({'event':T,'count':this.#listeners[Dz(0x316)](T)[Dz(0x357)]}));},{'once':!![]});if(T!==Da(0x372)&&T!==Da(0x45e))super[Da(0x7f2)](new EventTargetListenerAddedEvent({'event':T,'count':this.#listeners[Da(0x316)](T)[Da(0x357)]}));}#removeListener(T,V){const Dw=x4;this.#listeners[Dw(0x316)](T)?.[Dw(0x66b)](V),this['removeEventListener'](T,V);}get[x4(0x564)](){return this.#corked;}constructor(){super(),setBrand(this,EVENT_TARGET_BRAND);}[x4(0x22a)](T){const Di=x4;this[Di(0x7f2)](T);}['on'](T,V,q){const Dd=x4;this.#addListener(T,V);const C=()=>this[Dd(0x64f)](T,V);if(q?.['key']){let o=this.#groups[Dd(0x316)](q[Dd(0x7b0)]);if(!o)this.#groups[Dd(0x866)](q[Dd(0x7b0)],o=[]);o[Dd(0x132)](C);}return C;}[x4(0x3d7)](T,V,q){const L0=x4;if(V){this.#addOnceListener(T,V);const C=()=>this[L0(0x64f)](T,V);if(q?.[L0(0x7b0)]){let o=this.#groups[L0(0x316)](q[L0(0x7b0)]);if(!o)this.#groups['set'](q[L0(0x7b0)],o=[]);o[L0(0x132)](C);}return C;}else return new Promise(X=>this.#addOnceListener(T,X));}[x4(0x64f)](T,V){const L1=x4;if(!T)this.#listeners[L1(0x2d8)]((q,C)=>q[L1(0x2d8)](o=>this.#removeListener(C,o))),this.#listeners['clear']();else{if(!V){if(this.#listeners[L1(0x136)](T)){const q=T;this.#listeners[L1(0x316)](q)?.[L1(0x2d8)](C=>this.#removeListener(q,C)),this.#listeners[L1(0x66b)](q);}else{const C=T;this.#groups['get'](C)?.[L1(0x2d8)](o=>o()),this.#groups['delete'](C);}}else{const o=T;this.#removeListener(o,V);}}}[x4(0x71c)](){this.#corked=!![];}[x4(0x154)](){const L2=x4;this.#corked=![],this.#queue[L2(0x2d8)](T=>this[L2(0x22a)](T)),this.#queue[L2(0x2f6)]();}[x4(0x7f2)](T){const L3=x4;if(this.#corked)return this.#queue[L3(0x840)](T),![];return super[L3(0x7f2)](T);}[x4(0x4ba)](T,V,q){const L4=x4;return super[L4(0x4ba)](T,V,q);}[x4(0x80c)](T,V,q){const L5=x4;return super[L5(0x80c)](T,V,q);}},EventTargetListenerAddedEvent=class extends Event{['event'];[x4(0x1c3)];constructor({event:T,count:V}){const L6=x4;super(L6(0x372)),this[L6(0x6d2)]=T,this[L6(0x1c3)]=V;}},EventTargetListenerRemovedEvent=class extends Event{['event'];['count'];constructor({event:T,count:V}){const L7=x4;super(L7(0x45e)),this[L7(0x6d2)]=T,this[L7(0x1c3)]=V;}};function on(T,V,q){const L8=x4;return T[L8(0x4ba)](V,q),()=>T[L8(0x80c)](V,q);}function once$1(T,V,q){const L9=x4;return T[L9(0x4ba)](V,q,{'once':!![]}),()=>T['removeEventListener'](V,q);}async function abortable(T,V){const Lx=x4;if(V){if(V[Lx(0x12d)])return Promise[Lx(0x74d)](V[Lx(0x2dd)]);let q;const C=new Promise((o,X)=>{const Lr=Lx;q=once$1(V,Lr(0x7fa),()=>{const LR=Lr;X(V[LR(0x2dd)]);});});return Promise[Lx(0x784)]([T['finally'](()=>q()),C]);}else return T;}const EVENT_TARGET_NODE_BRAND=classBrand(x4(0x6a8));var EventTargetNode=class EventTargetNode extends EventTarget$1{static [Symbol[x4(0x78b)]]=brandedHasInstance(EventTargetNode,EVENT_TARGET_NODE_BRAND);constructor(){super(),setMaxListeners(0x64,this),setBrand(this,EVENT_TARGET_NODE_BRAND);}};const debugLogger={'log':(T,V)=>debuglog('nlp:runner')(x4(0xd2),T,V),'error':(T,V)=>debuglog(x4(0x7bc))(x4(0xd2),T,V),'trace':(T,V)=>debuglog(x4(0x577))(x4(0xd2),T,V),'debug':(T,V)=>debuglog(x4(0xd6))(x4(0xd2),T,V)};let activeLogger=debugLogger;function use(T){activeLogger=T??debugLogger;}function log(T,V){const Lb=x4;activeLogger[Lb(0x556)](T,V);}function error(T,V){const LD=x4;activeLogger[LD(0x5a4)](T,V);}function trace(T,V){const LL=x4;activeLogger[LL(0x20d)](T,V);}function debug(T,V){const Lj=x4;activeLogger[Lj(0x663)](T,V);}function serializeError(T){const LN=x4;if(T instanceof Error){const V={'name':T[LN(0x15f)],'message':T[LN(0x37f)]};if(T['stack'])V[LN(0x2d3)]=T[LN(0x2d3)];const q=T[LN(0x5e4)];if(typeof q===LN(0x71a))V[LN(0x5e4)]=q;if(T['cause']!==void 0x0)V['cause']=serializeError(T[LN(0x28f)]);return V;}return{'name':LN(0x6d6),'message':typeof T===LN(0x71a)?T:inspect(T,{'depth':0x3})};}const LEVEL_WEIGHT={'trace':0x0,'debug':0x1,'info':0x2,'error':0x3};function makeEventLogger({downstream:T}={}){const LS=x4,V=new Set();function q(o,X,G){const LA=D;C[LA(0x14d)]?.[levelMethod(o)](X,G);if(LEVEL_WEIGHT[o]<LEVEL_WEIGHT[C[LA(0x76c)]]||V[LA(0x357)]===0x0)return;const B={'type':X,'level':o,'timestamp':Date['now'](),'data':serializeErrors(G)};for(const u of V)try{u(B);}catch{}}const C={'minLevel':LS(0x20d),'downstream':T,'log':(o,X)=>q('info',o,X),'error':(o,X)=>q(LS(0x5a4),o,X),'trace':(o,X)=>q('trace',o,X),'debug':(o,X)=>q(LS(0x663),o,X),'onLog'(o){const LT=LS;return V[LT(0x840)](o),()=>V[LT(0x66b)](o);}};return C;}function levelMethod(T){const LV=x4;return T===LV(0x85d)?LV(0x556):T;}function serializeErrors(T){const Lq=x4;let V;for(const [q,C]of Object[Lq(0x80f)](T))C instanceof Error&&(V??={...T},V[q]=serializeError(C));return V??T;}const COLOR_BRAND=classBrand(x4(0x29d));var Color=class Color{static [Symbol[x4(0x78b)]]=brandedHasInstance(Color,COLOR_BRAND);['r'];['g'];['b'];['a'];constructor(T,V,q,C=0x1){this['r']=T,this['g']=V,this['b']=q,this['a']=C,setBrand(this,COLOR_BRAND);}static[x4(0xbd)](T){return new Color(T['r'],T['g'],T['b'],T['a']);}[x4(0x1f7)](){return colorToString(this);}[x4(0x7ef)](T,V=0x5){const LC=x4;return Math[LC(0x6b7)](this['r']-T['r'])<=V&&Math['abs'](this['g']-T['g'])<=V&&Math[LC(0x6b7)](this['b']-T['b'])<=V&&Math[LC(0x6b7)](this['a']-T['a'])<=V;}['toRGBAString'](){const Ly=x4;return Ly(0x307)+this['r']+',\x20'+this['g']+',\x20'+this['b']+',\x20'+this['a']+')';}[x4(0x5e2)](T){const Lo=x4;return differenceHyab()(this['toCulori'](),T[Lo(0x149)]())/0x15e;}['getColorFamily'](){const LX=x4,T=nearest(colorFamilies[LX(0x1ff)](V=>V[LX(0x718)]),differenceHyab())(this[LX(0x149)]())[0x0];return colorFamilies[LX(0x2f2)](V=>V[LX(0x718)]['includes'](T))?.['name']||'unknown';}['similarTo'](T,V=0.75){const LG=x4;return this[LG(0x7ea)](T)>=V;}[x4(0x7ea)](T){const LB=x4,V=this[LB(0x732)]()===T[LB(0x732)]();return Math['min']((0x1-this[LB(0x5e2)](T))*(V?1.2:0.8),0x1);}['toCulori'](){return{'mode':'rgb','r':this['r']/0xff,'g':this['g']/0xff,'b':this['b']/0xff,'alpha':this['a']};}static[x4(0x4e1)](T){const V=rgb(T);return new Color(V['r']*0xff,V['g']*0xff,V['b']*0xff,T['alpha']);}};function stringToColor(T){const Lu=x4,V=T?.[Lu(0x4e3)]();if(!V)return null;const q=parse(V[Lu(0x811)](/\s/g,'')['toLowerCase']());if(q)return Color['fromCulori'](q);const C=getKnownColor(V);if(C)return new Color(C['r'],C['g'],C['b'],0x1);const {rgba:o}=j(V);if(o){const [X,G,B,u]=o;return new Color(clampByte(X),clampByte(G),clampByte(B),clampAlpha(u));}return null;}function stringToColorOrThrow(T){const Lc=x4,V=stringToColor(T);if(V===null)throw new Error(Lc(0x259)+T);return V;}function objectToColor(T){if(T==null)return null;if(!('r'in T)||!('g'in T)||!('b'in T))return null;return new Color(T['r'],T['g'],T['b'],'a'in T?T['a']:0x1);}let knownColors=null;function getKnownColor(T){const LY=x4;function V(q){const LP=D;return q[LP(0x655)]()[LP(0x268)]('\x20','');}if(!knownColors)knownColors=Object[LY(0x714)](colornames['map'](({name:q,hex:C})=>{const Ln=LY;return[V(q),{'r':parseInt(C[Ln(0x7e8)](0x1,0x3),0x10),'g':parseInt(C['slice'](0x3,0x5),0x10),'b':parseInt(C[Ln(0x7e8)](0x5,0x7),0x10)}];}));return knownColors[V(T)];}function clampByte(T){const Lv=x4;if(Number['isNaN'](T))return NaN;return Math[Lv(0x590)](0x0,Math[Lv(0x67d)](0xff,T|0x0));}function clampAlpha(T){const LI=x4;if(Number[LI(0x47d)](T))return NaN;return Math[LI(0x590)](0x0,Math[LI(0x67d)](0x1,T));}function colorToString(T){const Le=x4,V=colornames[Le(0x2f2)](({hex:q})=>q===rgbaToHex(T));if(V)return V[Le(0x15f)][Le(0x655)]()[Le(0x268)]('\x20','');return'rgba('+T['r']+',\x20'+T['g']+',\x20'+T['b']+',\x20'+T['a']+')';}function rgbaToHex(T){const LM=x4;return'#'+T['r'][LM(0x1f7)](0x10)[LM(0x38a)](0x2,'0')+T['g'][LM(0x1f7)](0x10)[LM(0x38a)](0x2,'0')+T['b'][LM(0x1f7)](0x10)[LM(0x38a)](0x2,'0');}const colorFamilies=[{'name':x4(0x1e6),'colors':[x4(0x5ad),'#F08080','#FA8072',x4(0x5bf),x4(0x138),x4(0x502),x4(0x19b),x4(0x466),'#8B0000']},{'name':'pink','colors':[x4(0x619),'#FFB6C1',x4(0x3a5),x4(0x55e),x4(0x66d),x4(0x677)]},{'name':x4(0x4c7),'colors':[x4(0x138),x4(0x13f),'#FF6347',x4(0x36f),'#FF8C00',x4(0x807)]},{'name':x4(0x4a9),'colors':[x4(0x782),'#FFFACD',x4(0x6c2),x4(0x676),x4(0x520),x4(0x36e),x4(0x395),x4(0x217),x4(0x40b),'#F0E68C',x4(0x6fc)]},{'name':'purple','colors':[x4(0x7f6),x4(0x721),x4(0x3cb),x4(0x736),x4(0x7a4),x4(0x50f),'#BA55D3',x4(0x850),x4(0x23a),x4(0x70e),x4(0x83a),x4(0x754),x4(0x6a5),x4(0x2a8),'#8B008B',x4(0x5cf),x4(0x280),x4(0x483)]},{'name':x4(0x7cd),'colors':['#ADFF2F',x4(0xd9),x4(0x142),x4(0x7b4),x4(0x636),x4(0x36d),x4(0x5b1),x4(0x206),x4(0x4a8),x4(0x189),x4(0x6cb),x4(0x594),x4(0x622),x4(0x4b2),x4(0x61a),x4(0x18f),x4(0xaa),x4(0x343),'#66CDAA',x4(0x740),x4(0x2aa),x4(0x456),'#008080']},{'name':x4(0x28d),'colors':[x4(0x64a),x4(0x15d),x4(0x670),x4(0x7ae),'#40E0D0',x4(0x612),x4(0x29c),'#5F9EA0','#B0E0E6','#ADD8E6',x4(0x1a9),x4(0x3ce),'#00BFFF',x4(0x62c),x4(0x177),x4(0x697),x4(0x2df),'#7B68EE','#4169E1',x4(0x26c),x4(0x53a),x4(0x547),'#000080',x4(0x360)]},{'name':'brown','colors':[x4(0x3ac),x4(0x814),'#FFE4C4',x4(0x783),'#F5DEB3','#DEB887',x4(0x399),'#BC8F8F',x4(0x2bd),'#DAA520',x4(0x377),x4(0x3f6),'#D2691E',x4(0x859),x4(0x34b),x4(0x14c),x4(0x7c0)]},{'name':x4(0x5c8),'colors':[x4(0x12e),x4(0x675),x4(0x145),x4(0x326),x4(0x607),x4(0x46d),x4(0x74f),x4(0x1aa),x4(0x1ca),x4(0xe8),x4(0x3a4),'#FFFAF0',x4(0x75a),x4(0x510),x4(0x3fc),x4(0x115),x4(0x2c9)]},{'name':x4(0x2e4),'colors':['#DCDCDC',x4(0x664),'#C0C0C0',x4(0x6c4),'#808080',x4(0x4f4),x4(0x1be),x4(0x2ed),x4(0x58a)]},{'name':x4(0x5a1),'colors':[x4(0x5f6)]}],POINT_BRAND=classBrand(x4(0x3e3));var Point=class Point{static [Symbol[x4(0x78b)]]=brandedHasInstance(Point,POINT_BRAND);['x'];['y'];constructor(T,V){this['x']=T,this['y']=V,setBrand(this,POINT_BRAND);}[x4(0x7ef)](T,V=0.1){const LK=x4;return Math[LK(0x6b7)](this['x']-T['x'])<V&&Math[LK(0x6b7)](this['y']-T['y'])<V;}['distance'](T){const Lg=x4;return Math[Lg(0x1ee)](this['x']-T['x'],this['y']-T['y']);}};const VECTOR_BRAND=classBrand(x4(0x68a));var Vector=class Vector{static [Symbol[x4(0x78b)]]=brandedHasInstance(Vector,VECTOR_BRAND);static ['down']=new Vector(0x0,0x1);static [x4(0x3cc)]=new Vector(-0x1,0x0);static [x4(0x5fb)]=new Vector(0x1,0x0);static ['up']=new Vector(0x0,-0x1);static [x4(0x428)]=new Vector(-0x1,-0x1);static [x4(0x74b)]=new Vector(0x1,-0x1);static ['leftDown']=new Vector(-0x1,0x1);static [x4(0x32d)]=new Vector(0x1,0x1);static['fromPoints'](T,V){return new Vector(V['x']-T['x'],V['y']-T['y']);}['x'];['y'];constructor(T,V){this['x']=T,this['y']=V,setBrand(this,VECTOR_BRAND);}get[x4(0x6a1)](){const Ll=x4;return Math[Ll(0x1ee)](this['x'],this['y']);}[x4(0x373)](T){return this['x']*T['y']-this['y']*T['x'];}[x4(0x809)](T){return this['x']*T['x']+this['y']*T['y'];}};const SEGMENT_BRAND=classBrand(x4(0x276));var Segment=class Segment{static [Symbol[x4(0x78b)]]=brandedHasInstance(Segment,SEGMENT_BRAND);[x4(0xb0)];['end'];constructor(T,V){const Lf=x4;this[Lf(0xb0)]=T instanceof Point?T:new Point(T['x'],T['y']),this[Lf(0x401)]=V instanceof Point?V:new Point(V['x'],V['y']),setBrand(this,SEGMENT_BRAND);}[x4(0x821)](){const LU=x4,T=Math[LU(0x6b7)](this['end']['x']-this[LU(0xb0)]['x'])<=Math[LU(0x6b7)](this[LU(0x401)]['y']-this['start']['y'])?new Point(this[LU(0x401)]['x'],this[LU(0xb0)]['y']):new Point(this[LU(0xb0)]['x'],this[LU(0x401)]['y']);return[new Segment(this[LU(0xb0)],T),new Segment(T,this[LU(0x401)])];}[x4(0x7ce)](T){const LE=x4,V=Vector['fromPoints'](this[LE(0xb0)],this[LE(0x401)]),q=Vector[LE(0x440)](this[LE(0xb0)],T);if(V[LE(0x373)](q)!==0x0)return![];return Math[LE(0x67d)](this[LE(0xb0)]['x'],this[LE(0x401)]['x'])<=T['x']&&T['x']<=Math['max'](this[LE(0xb0)]['x'],this[LE(0x401)]['x'])&&Math[LE(0x67d)](this['start']['y'],this['end']['y'])<=T['y']&&T['y']<=Math[LE(0x590)](this[LE(0xb0)]['y'],this[LE(0x401)]['y']);}};const RECTANGLE_BRAND=classBrand('Rectangle');var Rectangle=class Rectangle{static [Symbol[x4(0x78b)]]=brandedHasInstance(Rectangle,RECTANGLE_BRAND);static[x4(0x67d)](...T){const LZ=x4;return T[LZ(0x6d3)]((V,q)=>q[LZ(0x26b)]<V['area']?q:V);}static['max'](...T){const LH=x4;return T[LH(0x6d3)]((V,q)=>q[LH(0x26b)]>V[LH(0x26b)]?q:V);}static['union'](T){const Lt=x4,[V,...q]=T;return V[Lt(0x7e4)](...q);}static['intersection'](T){const Lm=x4,[V,...q]=T;let C=V;for(const o of q){C=C[Lm(0x407)](o);if(!C)return null;}return C;}static[x4(0xbd)](T){const LJ=x4;return new Rectangle(T['x'],T['y'],T['width'],T[LJ(0x2b5)]);}static[x4(0x30e)](T){const Ls=x4,V=[T[0x0],T[0x2],T[0x4],T[0x6]],q=[T[0x1],T[0x3],T[0x5],T[0x7]],C=Math[Ls(0x67d)](...V),o=Math[Ls(0x67d)](...q);return new Rectangle(C,o,Math[Ls(0x590)](...V)-C,Math[Ls(0x590)](...q)-o);}['left'];[x4(0x81c)];[x4(0x5fb)];['bottom'];get['center'](){const LO=x4;return new Point(this['left']+this['width']/0x2,this[LO(0x81c)]+this[LO(0x2b5)]/0x2);}get[x4(0x568)](){const Lp=x4;return new Point(this[Lp(0x3cc)],this[Lp(0x81c)]);}get[x4(0x7bf)](){const Lh=x4;return new Point(this[Lh(0x5fb)],this[Lh(0x81c)]);}get[x4(0x467)](){const Lk=x4;return new Point(this[Lk(0x5fb)],this[Lk(0x589)]);}get[x4(0x35f)](){const LF=x4;return new Point(this[LF(0x3cc)],this[LF(0x589)]);}get['edges'](){const LW=x4;return[new Segment(this['leftTop'],this[LW(0x7bf)]),new Segment(this['rightTop'],this[LW(0x467)]),new Segment(this[LW(0x467)],this[LW(0x35f)]),new Segment(this[LW(0x35f)],this[LW(0x568)])];}get['vertices'](){const LQ=x4;return[this[LQ(0x568)],this[LQ(0x7bf)],this[LQ(0x467)],this[LQ(0x35f)]];}get[x4(0x26b)](){const La=x4;return this[La(0x21d)]*this[La(0x2b5)];}['x'];['y'];[x4(0x21d)];[x4(0x2b5)];constructor(T,V,q,C){const Lz=x4;this['x']=T,this['y']=V,this['width']=q,this[Lz(0x2b5)]=C,this[Lz(0x3cc)]=T,this[Lz(0x81c)]=V,this[Lz(0x5fb)]=q===Infinity?Infinity:T+q,this[Lz(0x589)]=C===Infinity?Infinity:V+C,setBrand(this,RECTANGLE_BRAND);}['offset'](T){const Lw=x4;return new Rectangle(this['x']+T['x'],this['y']+T['y'],this[Lw(0x21d)],this[Lw(0x2b5)]);}[x4(0x131)](T){const Li=x4;return new Rectangle(this['x']*T,this['y']*T,this[Li(0x21d)]*T,this['height']*T);}[x4(0x549)]({left:T,right:V,top:q,bottom:C}){const Ld=x4,o=this[Ld(0x3cc)]-(T??0x0),X=Math[Ld(0x590)](o,this['right']+(V??0x0)),G=this['top']-(q??0x0),B=Math[Ld(0x590)](G,this[Ld(0x589)]+(C??0x0));return new Rectangle(o,G,X-o,B-G);}[x4(0x7e4)](...T){const j0=x4;let V=this[j0(0x3cc)],q=this['top'],C=this[j0(0x5fb)],o=this[j0(0x589)];for(const X of T){V=Math[j0(0x67d)](V,X['left']),q=Math[j0(0x67d)](q,X[j0(0x81c)]),C=Math[j0(0x590)](C,X[j0(0x5fb)]),o=Math[j0(0x590)](o,X[j0(0x589)]);}return new Rectangle(V,q,C-V,o-q);}[x4(0x407)](T){const j1=x4;if(!this[j1(0x346)](T))return null;const V=Math[j1(0x590)](this[j1(0x3cc)],T['left']),q=Math[j1(0x67d)](this[j1(0x5fb)],T['right']),C=Math[j1(0x590)](this[j1(0x81c)],T[j1(0x81c)]),o=Math[j1(0x67d)](this['bottom'],T[j1(0x589)]);return new Rectangle(V,C,q-V,o-C);}[x4(0x7ef)](T){const j2=x4;return this['x']===T['x']&&this['y']===T['y']&&this[j2(0x21d)]===T[j2(0x21d)]&&this['height']===T[j2(0x2b5)];}[x4(0x7ce)](T){const j3=x4;if(T instanceof Rectangle)return Math[j3(0x370)](this['left'])<=Math[j3(0x370)](T[j3(0x3cc)])&&Math[j3(0x370)](this['top'])<=Math[j3(0x370)](T[j3(0x81c)])&&Math[j3(0x370)](this[j3(0x5fb)])>=Math[j3(0x370)](T[j3(0x5fb)])&&Math[j3(0x370)](this[j3(0x589)])>=Math[j3(0x370)](T[j3(0x589)]);else return T['x']>=this[j3(0x3cc)]&&T['x']<=this[j3(0x5fb)]&&T['y']>=this[j3(0x81c)]&&T['y']<=this[j3(0x589)];}[x4(0x346)](T){const j4=x4;return this[j4(0x3cc)]<T[j4(0x5fb)]&&this[j4(0x5fb)]>T['left']&&this[j4(0x81c)]<T[j4(0x589)]&&this['bottom']>T[j4(0x81c)];}['distance'](T){const j5=x4,V=Math[j5(0x590)](0x0,T[j5(0x3cc)]-this['right'],this[j5(0x3cc)]-T[j5(0x5fb)]),q=Math['max'](0x0,T[j5(0x81c)]-this[j5(0x589)],this[j5(0x81c)]-T['bottom']);return Math['hypot'](V,q);}[x4(0x2d5)](){const j6=x4;return{'x':this['x'],'y':this['y'],'width':this['width'],'height':this[j6(0x2b5)]};}[Symbol['for'](x4(0x53f))](T,V){const j7=x4;return'('+V[j7(0x2c2)](this[j7(0x3cc)]['toFixed'](0x1),j7(0x196))+',\x20'+V[j7(0x2c2)](this[j7(0x81c)][j7(0x294)](0x1),j7(0x196))+')\x20'+V[j7(0x2c2)](this[j7(0x21d)][j7(0x294)](0x1),j7(0x196))+j7(0x269)+V[j7(0x2c2)](this[j7(0x2b5)][j7(0x294)](0x1),'number');}};const RTREE_BRAND=classBrand(x4(0x159));var RTree=class RTree{static [Symbol[x4(0x78b)]]=brandedHasInstance(RTree,RTREE_BRAND);#root;#maxItems;#minItems;constructor({maxItems:maxItems=0x9,minItems:T}={}){const j8=x4;this.#maxItems=Math[j8(0x590)](0x4,maxItems),this.#minItems=T??Math[j8(0x590)](0x2,Math['floor'](this.#maxItems*0.4)),this.#root=new RNode({'leaf':!![],'minItems':this.#minItems}),setBrand(this,RTREE_BRAND);}*[x4(0x7c4)](){const j9=x4;let T=[this.#root];while(T[j9(0x33d)]>0x0)if(T[0x0][j9(0x287)]){yield T['flatMap'](V=>V[j9(0x384)][j9(0x16a)](q=>q[j9(0x6eb)]));return;}else{const V=[],q=[];for(const C of T){V[j9(0x132)](C[j9(0x6eb)]),q['push'](...C[j9(0x384)]);}yield V,T=q;}}[x4(0x679)](T){const jx=x4,V=[];let q=this.#root;while(!q['leaf']){V['push'](q),q=q['chooseChild'](T[jx(0x6eb)]);}return V['push'](q),q[jx(0x840)](T),this.#balance(V),this;}['search'](T){const jr=x4,V=[],q=[this.#root];while(q['length']>0x0){const C=q[jr(0x1d7)]();if(C[jr(0x6eb)]['intersects'](T)){if(C[jr(0x287)]){for(const o of C['children'])if(o['rect'][jr(0x346)](T))V['push'](o[jr(0x51c)]);}else q[jr(0x132)](...C[jr(0x384)]);}}return V;}#balance(T){const jR=x4;for(let V=T[jR(0x33d)]-0x1;V>=0x0;--V){const q=T[V];if(q[jR(0x384)][jR(0x33d)]>this.#maxItems){const C=q['split']();if(V===0x0)this.#root=new RNode({'leaf':![],'minItems':this.#minItems})['add'](q,C);else T[V-0x1][jR(0x840)](C);}}}[Symbol[x4(0x31f)](x4(0x53f))](T,V,q){const jb=x4;let C='';const o=[{'node':this.#root,'depth':0x0}];while(o['length']>0x0){const {node:X,depth:G}=o[jb(0x1d7)]();if(X instanceof RNode)o[jb(0x4bf)](...X[jb(0x384)][jb(0x16a)](B=>({'node':B,'depth':G+0x1}))),C+='\x20\x20'['repeat'](G)+q(X,V)+'\x0a';else C+='\x20\x20'['repeat'](G)+(jb(0x48c)+q({'rect':X[jb(0x6eb)],'data':X[jb(0x51c)]},{...V,'compact':!![],'breakLength':Infinity})+'\x0a');}return C;}},RNode=class RNode{#rect;#children=[];#leaf;#minItems;get['rect'](){return this.#rect??new Rectangle(0x0,0x0,0x0,0x0);}get['children'](){return this.#children;}get[x4(0x287)](){return this.#leaf;}constructor({leaf:T,minItems:V}){this.#leaf=T,this.#minItems=V;}*[x4(0x725)](){const jD=x4,T=[this];while(T[jD(0x33d)]>0x0){const V=T['shift']();yield V;if(V[jD(0x287)])yield*V[jD(0x384)];else T[jD(0x132)](...V['children']);}}['chooseChild'](T){const jL=x4;let V=this.#children[0x0],q=V[jL(0x6eb)][jL(0x7e4)](T)[jL(0x26b)]-V[jL(0x6eb)]['area'],C=V[jL(0x6eb)][jL(0x26b)];for(let o=0x1;o<this.#children[jL(0x33d)];++o){const X=this.#children[o],G=X[jL(0x6eb)][jL(0x7e4)](T)[jL(0x26b)]-X[jL(0x6eb)][jL(0x26b)];(G<q||G===q&&X[jL(0x6eb)][jL(0x26b)]<C)&&(q=G,C=X[jL(0x6eb)][jL(0x26b)],V=X);}return V;}[x4(0x840)](...T){const jj=x4;return this.#children['push'](...T),this.#rect=this.#rect?this.#rect[jj(0x7e4)](...T[jj(0x16a)](V=>V[jj(0x6eb)])):Rectangle[jj(0x7e4)](T[jj(0x16a)](V=>V['rect'])),this;}[x4(0x37c)](){const jN=x4,T=[...this.#children],[V,q]=findSeeds(T)[jN(0x16a)](o=>({'rect':T[o][jN(0x6eb)],'nodes':T[jN(0x29f)](o,0x1)}));while(T[jN(0x33d)]>0x0){if(q[jN(0x24c)][jN(0x33d)]+T[jN(0x33d)]<=this.#minItems){q[jN(0x24c)][jN(0x132)](...T),q[jN(0x6eb)]=q[jN(0x6eb)][jN(0x7e4)](...T[jN(0x16a)](X=>X['rect']));break;}if(V[jN(0x24c)]['length']+T[jN(0x33d)]<=this.#minItems){V[jN(0x24c)][jN(0x132)](...T),V[jN(0x6eb)]=V[jN(0x6eb)][jN(0x7e4)](...T[jN(0x16a)](X=>X['rect']));break;}let o={'difference':-Infinity,'index':0x0,'group':q,'rect':q[jN(0x6eb)]};for(let X=0x0;X<T['length'];++X){const G=T[X],B={'rect':q[jN(0x6eb)]['union'](G['rect']),'group':q},u=B[jN(0x6eb)][jN(0x26b)]-q[jN(0x6eb)]['area'],c={'rect':V[jN(0x6eb)][jN(0x7e4)](G[jN(0x6eb)]),'group':V},P=c[jN(0x6eb)][jN(0x26b)]-V[jN(0x6eb)]['area'],Y=Math['abs'](u-P);if(Y>o[jN(0x45c)])o={'difference':Y,'index':X,...u<P?B:c};}o['group'][jN(0x24c)][jN(0x132)](...T[jN(0x29f)](o[jN(0x6ee)],0x1)),o[jN(0x4ad)][jN(0x6eb)]=o[jN(0x4ad)][jN(0x6eb)][jN(0x7e4)](o[jN(0x6eb)]);}this.#children=q[jN(0x24c)],this.#rect=q['rect'];const C=new RNode({'leaf':this.#leaf,'minItems':this.#minItems});return C.#children=V['nodes'],C.#rect=V['rect'],C;}[Symbol[x4(0x31f)](x4(0x53f))](T,V,q){const jA=x4;return jA(0xac)+q({'rect':this[jA(0x6eb)],'leaf':this[jA(0x287)]},{...V,'compact':!![],'breakLength':Infinity});}};function findSeeds(T){const jS=x4;let V=-0x1,q=[0x0,0x0];for(let C=0x0;C<T[jS(0x33d)];C++){const o=T[C];for(let X=C+0x1;X<T[jS(0x33d)];X++){const G=T[X],B=o['rect']['union'](G[jS(0x6eb)])['area']-o['rect']['area']-G['rect'][jS(0x26b)];B>V&&(V=B,q=[X,C]);}}return q;}const RAY_BRAND=classBrand(x4(0x36a));(class Ray{static [Symbol['hasInstance']]=brandedHasInstance(Ray,RAY_BRAND);static[x4(0x440)](T,V){const jT=x4;return new Ray(T,Vector[jT(0x440)](T,V));}[x4(0x339)];[x4(0x630)];constructor(T,V){const jV=x4;this[jV(0x339)]=T,this[jV(0x630)]=V,setBrand(this,RAY_BRAND);}[x4(0x7ce)](T){const jq=x4,V=new Vector(T['x']-this[jq(0x339)]['x'],T['y']-this[jq(0x339)]['y']);if(V[jq(0x373)](this[jq(0x630)])!==0x0)return![];return V[jq(0x809)](this[jq(0x630)])>=0x0;}[x4(0x407)](T){const jC=x4,V=T[jC(0x630)]['cross'](this[jC(0x630)]);if(Math[jC(0x6b7)](V)<Number[jC(0x2f8)])return null;const q=T[jC(0x339)]['x']-this[jC(0x339)]['x'],C=T[jC(0x339)]['y']-this['origin']['y'],o=(T[jC(0x630)]['x']*C-T[jC(0x630)]['y']*q)/V,X=(this[jC(0x630)]['x']*C-this[jC(0x630)]['y']*q)/V;if(o>=0x0&&X>=0x0)return new Point(this[jC(0x339)]['x']+o*this[jC(0x630)]['x'],this[jC(0x339)]['y']+o*this[jC(0x630)]['y']);return null;}[x4(0x12b)](T){const jy=x4,V=Vector[jy(0x440)](this[jy(0x339)],T);if(this[jy(0x630)][jy(0x809)](V)<0x0)return this['origin'][jy(0x12b)](T);return Math[jy(0x6b7)](this[jy(0x630)]['cross'](V)/this[jy(0x630)][jy(0x6a1)]);}});const PATTERNS={'price':T=>extractPattern(x4(0x7e7),T),'percentage':T=>extractPattern(x4(0x739),T),'number':T=>extractPattern(x4(0x196),T),'date':T=>extractPattern(x4(0x525),T),'time':T=>extractPattern('time',T),'code':T=>extractPattern(x4(0x5e4),T)};function getPatternMatcher(T){return PATTERNS[T];}const DEBUG_BUS_KEY=Symbol['for'](x4(0x6a2)),debugBus=globalThis[DEBUG_BUS_KEY]??=new EventTarget$1(),WATCHER_BRAND=classBrand('Watcher');function makeWatcher(T){return new Watcher(T);}var Watcher=class Watcher{static [Symbol[x4(0x78b)]]=brandedHasInstance(Watcher,WATCHER_BRAND);#promise;#resolve;#reject;#result;#hint;#signal;#timers=new Map();#listeners=[];get[x4(0x776)](){const jo=x4;if(!this.#promise){this.#promise=new Promise((...T)=>[this.#resolve,this.#reject]=T);if(this.#result){if(this.#result[jo(0x729)]===jo(0x5b6))this.#resolve(this.#result[jo(0x4fb)]);else this.#reject(this.#result[jo(0x2dd)]);}}return this.#promise;}get['pending'](){return!this.#result;}get[x4(0x1b3)](){return!!this.#result;}get[x4(0x1d8)](){return this.#hint;}get[Symbol['toStringTag']](){const jX=x4;return jX(0xe6);}constructor(T){const jG=x4;this.#hint=T?.['hint'],this.#signal=T?.[jG(0x829)];if(this.#signal){if(this.#signal['aborted'])this[jG(0x74d)](this.#signal[jG(0x2dd)]);else this.#listeners['push'](once$1(this.#signal,jG(0x7fa),()=>void this[jG(0x74d)](this.#signal['reason'])));}setBrand(this,WATCHER_BRAND);}async['then'](T,V){const jB=x4;return this[jB(0x776)][jB(0x385)](T,V);}async[x4(0x225)](T){const ju=x4;return this[ju(0x776)]['catch'](T);}async[x4(0xf7)](T){const jc=x4;return this[jc(0x776)][jc(0xf7)](T);}['reset'](T){const jP=x4;this.#timers[jP(0x2d8)](V=>V[jP(0x5ea)]()),this.#hint=T?.[jP(0x1d8)];if(this.#signal!==T?.[jP(0x829)])this.#signal=T?.[jP(0x829)];this.#listeners[jP(0x2d8)](V=>V()),this.#listeners=[];this.#result&&(this.#result=void 0x0,this.#promise=void 0x0,this.#resolve=void 0x0,this.#reject=void 0x0);if(this.#signal){if(this.#signal[jP(0x12d)])this[jP(0x74d)](this.#signal[jP(0x2dd)]);else this.#listeners['push'](once$1(this.#signal,jP(0x7fa),()=>void this[jP(0x74d)](this.#signal[jP(0x2dd)])));}return this;}[x4(0x37a)](T,{delay:V,key:q}={}){const jY=x4;if(V&&V>0x0){q??=jY(0x5e3),this.#timers[jY(0x316)](q)?.[jY(0x5ea)]();const C=setTimeout(()=>void this[jY(0x37a)](T),V);this.#timers[jY(0x866)](q,{'cancel':()=>(clearTimeout(C),this.#timers[jY(0x66b)](q))});}else this.#timers[jY(0x2d8)](o=>o[jY(0x5ea)]()),this.#result??={'status':'fulfilled','value':T},this.#resolve?.(T);return this;}['reject'](T,{delay:V,key:q}={}){const jn=x4;if(V&&V>0x0){q??='default',this.#timers[jn(0x316)](q)?.['cancel']();const C=setTimeout(()=>void this[jn(0x74d)](T),V);this.#timers[jn(0x866)](q,{'cancel':()=>(clearTimeout(C),this.#timers[jn(0x66b)](q))});}else this.#timers[jn(0x2d8)](o=>o[jn(0x5ea)]()),this.#result??={'status':jn(0x641),'reason':T},this.#reject?.(T);return this;}};function sleep(T,{signal:V}={}){return makeWatcher({'signal':V})['resolve'](void 0x0,{'delay':T});}function until(T,{timeout:V,signal:q}){const jv=x4,C=sleep(V,{'signal':q});return T[jv(0xf7)](()=>void C[jv(0x37a)]()),C;}const PROGRESS_EVENT_BRAND=classBrand(x4(0x1f6));var ProgressEvent=class ProgressEvent extends Event{static [Symbol['hasInstance']]=brandedHasInstance(ProgressEvent,PROGRESS_EVENT_BRAND);constructor(){const jI=x4;super(jI(0x7d4)),setBrand(this,PROGRESS_EVENT_BRAND);}};function rectToSamplingPoints(T){const je=x4,V=Math[je(0x370)](T[je(0x3cc)]+T[je(0x21d)]/0x2),q=Math['round'](T[je(0x81c)]+T[je(0x2b5)]/0x2),C=V+Math['floor'](T[je(0x21d)]/0x4),o=V-Math[je(0x591)](T[je(0x21d)]/0x4),X=T[je(0x2b5)]/0x2*0.15,G=Math['ceil'](T[je(0x81c)]+X),B=Math[je(0x329)](T[je(0x81c)]+T[je(0x2b5)]-X);return[{'x':o,'y':q},{'x':C,'y':q},{'x':V,'y':q},{'x':V,'y':G},{'x':V,'y':B}];}function calculateObscurationRatio(T){const jM=x4;if(T[jM(0x33d)]===0x0)return 0x1;const V=T[jM(0x3f1)]();return V[jM(0x79b)](q=>q)['length']/V[jM(0x33d)];}const MAX_PROJECTED_TEXT=0xa0;function clip(T){const jK=x4;return T[jK(0x33d)]>MAX_PROJECTED_TEXT?T[jK(0x7e8)](0x0,MAX_PROJECTED_TEXT)+'…':T;}function projectAXNode(T){const jg=x4;if(!T)return null;const V={};try{if(T[jg(0x54f)])V[jg(0x54f)]={...T[jg(0x54f)]};if(T[jg(0x82c)])V['text']=clip(T[jg(0x82c)]);const q=T[jg(0x3d2)]||T[jg(0x197)]||T[jg(0x68d)];if(q)V[jg(0x2c4)]=clip(q);const C=T[jg(0x7eb)];if(C)V['rect']={'x':C['x'],'y':C['y'],'width':C[jg(0x21d)],'height':C[jg(0x2b5)]};}catch{}return V;}function projectDescriptor(T){const jl=x4;if(!T)return T;const {node:V,anchor:q,fallback:C,...o}=T,X={...o};if(V)X[jl(0x1a2)]=projectAXNode(V);if(q)X[jl(0x1d0)]=(Array[jl(0x1ec)](q)?q:[q])[jl(0x16a)](G=>({...G,'element':G[jl(0x22b)]&&!('isViewportDescriptor'in G['element'])?projectDescriptor(G[jl(0x22b)]):G[jl(0x22b)]}));if(C)X[jl(0x70c)]=projectDescriptor(C);return X;}function projectPrioritizedCandidates(T,V){const jf=x4;return T[jf(0x16a)](q=>{const jU=jf;let C=0x1;return{'nodeId':q[jU(0x1a2)][jU(0x13a)]?.['id'],'node':projectAXNode(q['node']),'quality':q['quality'],'prioritizers':V['map'](o=>{const jE=jU;let X;try{const G=o[jE(0x4fb)](q);X=Array['isArray'](G)?G[jE(0x78a)](',\x20'):G;}catch{X=void 0x0;}return{'name':o[jE(0x15f)],'priorityOrder':C++,'order':typeof o['compare']==='function'?jE(0x7e5):o[jE(0x497)][jE(0x38c)]??jE(0x232),'value':typeof X===jE(0x71a)?clip(X):X};})};});}const eventLogger=makeEventLogger();use(eventLogger);const RUNNER_TYPES=new Set(['instructionExecutionStarted',x4(0x4c5),x4(0x83b),x4(0x4fc)]),RECORDER_TYPES=new Set(['recordingStarted',x4(0x3a9),x4(0x4f0),x4(0x758),x4(0x543),'elementDescriptorGenerated',x4(0x2c7),x4(0x3c6)]);function isLegacyLogEventType(T){const jZ=x4;return RUNNER_TYPES[jZ(0x136)](T)||RECORDER_TYPES[jZ(0x136)](T);}function makeLogEventFromStructured(T){const jH=x4;return new LogEvent(T[jH(0x51c)]!=null&&!(typeof T[jH(0x51c)]===jH(0x52d)&&Object[jH(0x1e3)](T[jH(0x51c)])[jH(0x33d)]===0x0)?{'type':T[jH(0x54f)],'data':T[jH(0x51c)]}:{'type':T[jH(0x54f)]});}var LogEvent=class LogEvent extends CustomEvent{[x4(0x3b2)];constructor(T){const jt=x4;super(jt(0x556),{'detail':{...T,'timestamp':T[jt(0x686)]??Date[jt(0x1df)]()}}),this['component']=RUNNER_TYPES['has'](T['type'])?jt(0x842):'recorder';}[x4(0x5a0)](){const jm=x4;return new LogEvent(this[jm(0x204)]);}};const bus=new EventTarget$1();eventLogger[x4(0x228)](T=>{const jJ=x4;if(isLegacyLogEventType(T[jJ(0x54f)]))bus[jJ(0x22a)](makeLogEventFromStructured(T));});function makeScript(T){if(T instanceof Script)return T;else{if(typeof T!=='object')return new Script({'source':T});else return new Script(T);}}function makeBundledScript({name:T,url:V}){const js=x4;return new Script({'source':readFileSync(V,{'encoding':js(0x753)}),'name':T,'bundled':!![]});}var Script=class{[x4(0x275)];[x4(0x15f)];[x4(0x422)];constructor({source:T,name:V,bundled:q}){const jO=x4;this[jO(0x275)]=T[jO(0x1f7)](),this['name']=V,this[jO(0x422)]=!!q;}async[x4(0x713)](T){const jp=x4;if(this[jp(0x422)]&&this[jp(0x15f)]&&knownBundledSnippets[jp(0x136)](this[jp(0x15f)]))return await T['evaluate'](makeExpression({'name':'registerRuntimeBundled_'+this[jp(0x15f)],'source':bundleSnippet(this[jp(0x15f)])})),makeScript({'name':this[jp(0x15f)],'source':'(...args)\x20=>\x20'+this[jp(0x15f)]+'(...args)'});return this;}[x4(0x1f7)](){const jh=x4;return this[jh(0x275)];}[x4(0x2d5)](){const jk=x4;return this[jk(0x275)];}[Symbol['toPrimitive']](){const jF=x4;return this[jF(0x275)];}[Symbol[x4(0x31f)](x4(0x53f))](){const jW=x4;return this['name']?'NamedScript('+this[jW(0x15f)]+')':'Script('+(this[jW(0x275)][jW(0x33d)]>0xc8?this[jW(0x275)][jW(0x358)](0x0,0xc8)+'...':this[jW(0x275)])+')';}};function makeExpression(T){const jQ=x4;return T instanceof Expression?T:new Expression(typeof T===jQ(0x52d)?T:{'source':T});}function makeBundledExpression({name:T,url:V}){const ja=x4;return new Expression({'source':readFileSync(V,{'encoding':ja(0x753)}),'name':T,'bundled':!![]});}var Expression=class{[x4(0x275)];[x4(0x15f)];[x4(0x422)];constructor({source:T,name:V,bundled:q}){const jz=x4;this[jz(0x275)]=typeof T===jz(0x71a)?T:'('+T[jz(0x1f7)]()+jz(0x56c),this['name']=V,this[jz(0x422)]=!!q;}async[x4(0x713)](){const jw=x4;if(this['bundled']&&this['name']&&knownBundledSnippets[jw(0x136)](this['name']))return makeExpression({'name':this[jw(0x15f)],'source':bundleSnippet(this['name'])});return this;}['toString'](){return this['source'];}[x4(0x2d5)](){const ji=x4;return this[ji(0x275)];}[Symbol[x4(0x759)]](){const jd=x4;return this[jd(0x275)];}[Symbol[x4(0x31f)]('nodejs.util.inspect.custom')](){const N0=x4;return this[N0(0x15f)]?N0(0x5f1)+this[N0(0x15f)]+')':N0(0x5d7)+(this['source']['length']>0xc8?this[N0(0x275)][N0(0x358)](0x0,0xc8)+'...':this[N0(0x275)])+')';}};const knownBundledSnippets=new Map();function provideRolldownConfig(T){const N1=x4;for(const V of T)if(!Array[N1(0x1ec)](V[N1(0x691)])&&V[N1(0x691)]?.[N1(0x15f)])knownBundledSnippets[N1(0x866)](V[N1(0x691)][N1(0x15f)],V);}function bundleSnippet(T){const N2=x4;return execFileSync(process['execPath'],[new URL('../../assets/bundler-CqGVGUSF.ts',import.meta.url)[N2(0xf4)],JSON[N2(0x122)](knownBundledSnippets[N2(0x316)](T))],{'maxBuffer':0xa*0x400*0x400,'encoding':N2(0x753)});}const findNodeBySelector=makeBundledScript({'name':x4(0x53d),'url':new URL(x4(0x239),import.meta.url)}),findNodesBySelector=makeBundledScript({'name':'findNodesBySelector','url':new URL(x4(0x620),import.meta.url)}),getElementSelector=makeBundledScript({'name':'getElementSelector','url':new URL(x4(0x6c8),import.meta.url)}),getElementValue=makeBundledScript({'name':x4(0xe4),'url':new URL(x4(0x6c3),import.meta.url)}),setElementValue=makeBundledScript({'name':'setElementValue','url':new URL(x4(0x766),import.meta.url)}),canTypeIntoElement=makeBundledScript({'name':x4(0x7ec),'url':new URL(x4(0x2f0),import.meta.url)}),isElementAcceptableInvisible=makeBundledScript({'name':x4(0x28a),'url':new URL(x4(0x72a),import.meta.url)}),checkVisibility=makeBundledScript({'name':'checkVisibility','url':new URL('../../assets/check-visibility-NBT6SZvi.js',import.meta.url)}),isFrameContentVisible=makeBundledScript({'name':x4(0x1ef),'url':new URL(x4(0x65a),import.meta.url)}),getObscurationRatio=makeBundledScript({'name':x4(0x282),'url':new URL(x4(0x46f),import.meta.url)}),setElementCaretPosition=makeBundledScript({'name':'setElementCaretPosition','url':new URL('../../assets/set-element-caret-position-2rBkIsy9.js',import.meta.url)}),registerPort=makeBundledScript({'name':x4(0x32b),'url':new URL('../../assets/register-port-BZpidK-7.js',import.meta.url)}),visibilityTracker=makeBundledExpression({'name':x4(0x2e5),'url':new URL(x4(0x2dc),import.meta.url)}),filepickerMocker=makeBundledExpression({'name':x4(0x5ba),'url':new URL(x4(0x485),import.meta.url)});var AbortError=class extends Error{[x4(0x48f)];constructor(T,V){const N3=x4;super(T,V),this[N3(0x48f)]=V?.[N3(0x48f)]??![];}},FlushError=class extends Error{},AutomatorError=class extends Error{constructor(T){const N4=x4;super(T),this[N4(0x15f)]=this[N4(0x251)][N4(0x15f)];}},NavigationFailedError=class extends AutomatorError{['url'];['reason'];constructor({url:T,reason:V}){const N5=x4;super('Navigation\x20failed\x20due\x20to\x20the\x20page\x20being\x20unavailable'),this[N5(0x5b7)]=T,this[N5(0x2dd)]=V;}},NavigationTimedOutError=class extends AutomatorError{[x4(0x5b7)];[x4(0x4c8)];constructor({url:T,timeout:V}){const N6=x4;super(N6(0x186)),this[N6(0x5b7)]=T,this[N6(0x4c8)]=V;}},NoHistoryEntryError=class extends AutomatorError{[x4(0x628)];constructor({offset:T}){const N7=x4;super('Can’t\x20go\x20to\x20the\x20'+(T>0x0?N7(0x668):N7(0x4cd))+N7(0x34d)),this[N7(0x628)]=T;}},BodyConsumedError=class extends AutomatorError{[x4(0x40a)];constructor({accessor:T}){const N8=x4;super(N8(0x29e)+T+N8(0x319)),this[N8(0x40a)]=T;}},UnresponsiveTargetError=class extends AutomatorError{['method'];[x4(0x554)];[x4(0x688)];constructor({method:T,commandId:V,sessionId:q}){const N9=x4;super(N9(0x70d)+T+N9(0xbf)+V+N9(0x5da)+q+N9(0x82a)),this[N9(0x5b3)]=T,this[N9(0x554)]=V,this[N9(0x688)]=q;}};function makeConnection(T){return new Connection(T);}let index=0x0;var Connection=class{#commands=new Map();#events=new Map();#listeners=[];#signal;#timeout=0x7530;async #handleMessage(T){const Nx=x4;try{const V=JSON[Nx(0x462)](T[Nx(0x51c)][Nx(0x1f7)](Nx(0x753)));if(V['id']!==void 0x0){const q=this.#commands[Nx(0x316)](V['id']);if(q){trace(Nx(0x351),{'method':q[Nx(0x5b3)],'payload':V,'sessionId':this[Nx(0x688)]});if(V['error'])error(Nx(0x273),{'method':q[Nx(0x5b3)],'params':q[Nx(0x446)],'response':V,'sessionId':this[Nx(0x688)]}),q[Nx(0x611)][Nx(0x74d)](new Error(V[Nx(0x5a4)][Nx(0x37f)]));else q[Nx(0x611)]['resolve'](V['result']);}}else{if(this[Nx(0x688)]===V[Nx(0x688)])this.#events[Nx(0x316)](V[Nx(0x5b3)])?.[Nx(0x2d8)](async C=>{const Nr=Nx;try{await C?.(V[Nr(0x446)]);}catch(o){error(Nr(0x822),{'method':V[Nr(0x5b3)],'sessionId':this['sessionId'],'raw':T[Nr(0x51c)][Nr(0x1f7)](Nr(0x753)),'error':o});}});}}catch(C){error(Nx(0x517),{'sessionId':this['sessionId'],'raw':T[Nx(0x51c)][Nx(0x1f7)](Nx(0x753)),'error':C});}}[x4(0x2f4)];[x4(0x688)];constructor(T){const NR=x4;this[NR(0x2f4)]=T['socket'],setMaxListeners(0x3e8,this[NR(0x2f4)]),this['sessionId']=T[NR(0x688)],this.#signal=T[NR(0x829)];if(T[NR(0x4c8)]!=null)this.#timeout=T[NR(0x4c8)];this.#listeners[NR(0x132)](on(this['socket'],'message',this.#handleMessage[NR(0x494)](this))),this.#listeners[NR(0x132)](on(this[NR(0x2f4)],NR(0x5a4),({error:V})=>{const Nb=NR;error(Nb(0x827),{'sessionId':this[Nb(0x688)],'error':V});})),this.#listeners[NR(0x132)](on(this['socket'],'close',({code:V,reason:q})=>{const ND=NR;log(ND(0x7b3),{'sessionId':this[ND(0x688)],'code':V,'reason':q});}));if(this.#signal)this.#listeners[NR(0x132)](once$1(this.#signal,NR(0x7fa),()=>this[NR(0x7fa)](this.#signal[NR(0x2dd)])));}get[x4(0x4c8)](){return this.#timeout;}set[x4(0x4c8)](T){this.#timeout=T;}[x4(0x7fa)](T){const NL=x4;this.#listeners[NL(0x2d8)](V=>V()),this.#commands[NL(0x2d8)](({method:V,params:q,watcher:C})=>{const Nj=NL;error('cdpCommandAborted',{'method':V,'params':q,'reason':T,'sessionId':this[Nj(0x688)]}),C[Nj(0x74d)](T);}),this.#commands['clear'](),this.#events[NL(0x2f6)]();}[x4(0x518)](T){const NN=x4;this.#commands[NN(0x2d8)](({method:V,params:q,watcher:C})=>{const NA=NN;error('cdpCommandFlushed',{'method':V,'params':q,'reason':T,'sessionId':this[NA(0x688)]}),C['reject'](T);});}async['execute'](T,V,{signal:q}={}){const NS=x4,C=makeWatcher();if(q?.[NS(0x12d)]||this.#signal?.[NS(0x12d)])return error(NS(0x803),{'method':T,'params':V,'sessionId':this[NS(0x688)],'reason':q?.['reason']||this.#signal?.['reason']}),C['reject'](q?.[NS(0x2dd)]||this.#signal?.[NS(0x2dd)]),C;let o;if(q)o=once$1(q,NS(0x7fa),()=>{const NT=NS;if(C['settled'])return;error(NT(0x80d),{'method':T,'params':V,'reason':q['reason'],'sessionId':this['sessionId']}),C[NT(0x74d)](q[NT(0x2dd)]);});const X=++index;if(!process.env.PLAY)C[NS(0x74d)](new UnresponsiveTargetError({'method':T,'commandId':X,'sessionId':this[NS(0x688)]}),{'delay':this.#timeout});return this.#commands[NS(0x866)](X,{'method':T,'params':V,'watcher':C}),trace('cdpCommandSent',{'method':T,'commandId':X,'params':V,'sessionId':this[NS(0x688)],'awaitsResponse':!![]}),this[NS(0x2f4)][NS(0x674)](JSON['stringify']({'sessionId':this['sessionId'],'id':X,'method':T,'params':V})),C[NS(0xf7)](()=>{const NV=NS;this.#commands[NV(0x66b)](X),o?.();});}[x4(0x674)](T,V){const Nq=x4,q=++index;trace('cdpCommandSent',{'method':T,'params':V,'sessionId':this['sessionId'],'awaitsResponse':![]}),this[Nq(0x2f4)][Nq(0x674)](JSON[Nq(0x122)]({'sessionId':this[Nq(0x688)],'id':q,'method':T,'params':V}));}['on'](T,V){const NC=x4;let q=this.#events[NC(0x316)](T);if(!q)this.#events[NC(0x866)](T,q=new Set());return q[NC(0x840)](V),()=>q[NC(0x66b)](V);}[x4(0x3d7)](T,V){if(V){const q=this['on'](T,(...C)=>{return q(),V(...C);});return q;}else return new Promise((C,o)=>{const X=this['on'](T,(...G)=>{return X(),C(...G);});});}};function makeFrameManager(){return new FrameManager();}var FrameManager=class{#tree=new Map();[x4(0x136)](T){const Ny=x4;return!!this.#tree[Ny(0x316)](T)?.[Ny(0x5f5)];}*[x4(0x77e)](T){const No=x4,V=this.#tree[No(0x316)](T);if(!V||!V['frame'])throw new Error(No(0x704)+T+No(0x6e7));const q=[T];for(let C=0x0;C<q['length'];++C){const o=q[C],X=this.#tree['get'](o);if(X){if(!X[No(0x5f5)])throw new Error(No(0x492)+o+No(0x6e7));yield X['frame'],q[No(0x132)](...X[No(0x38d)]);}}}['get'](T){const NX=x4;return this.#tree[NX(0x316)](T)?.[NX(0x5f5)];}[x4(0x840)](T){const NG=x4,V=this.#tree[NG(0x316)](T['frameId']);if(!V||V[NG(0x5f5)]){if(V?.[NG(0x5f5)])this[NG(0x66b)](T[NG(0x5f4)]);this.#tree[NG(0x866)](T['frameId'],{'frame':T,'childFrameIds':new Set()});}else V['frame']=T;if(T[NG(0x396)]){if(!this.#tree[NG(0x136)](T[NG(0x396)]))this.#tree[NG(0x866)](T[NG(0x396)],{'frame':void 0x0,'childFrameIds':new Set([T[NG(0x5f4)]])});else this.#tree[NG(0x316)](T[NG(0x396)])[NG(0x38d)][NG(0x840)](T[NG(0x5f4)]);}}[x4(0x66b)](T){const NB=x4,V=this.#tree[NB(0x316)](T);if(V?.[NB(0x5f5)]?.[NB(0x396)])this.#tree[NB(0x316)](V[NB(0x5f5)][NB(0x396)])?.['childFrameIds'][NB(0x66b)](T);this.#tree[NB(0x66b)](T);const q=[T];for(let C=0x0;C<q[NB(0x33d)];++C){const o=q[C],X=this.#tree[NB(0x316)](o);X&&(q['push'](...X['childFrameIds']),this.#tree[NB(0x66b)](o));}}[x4(0x6ef)](T){const Nu=x4,V=this.#tree[Nu(0x316)](T);if(V){const q=[...V[Nu(0x38d)]];for(let C=0x0;C<q[Nu(0x33d)];++C){const o=q[C],X=this.#tree[Nu(0x316)](o);X&&(q[Nu(0x132)](...X[Nu(0x38d)]),this.#tree[Nu(0x66b)](o));}V['childFrameIds'][Nu(0x2f6)]();}}};function makeWindow(T){return new Window(T);}var Window=class extends EventTargetNode{#targets=new Set();['windowId'];[x4(0x263)];constructor({browser:T,windowId:V}){const Nc=x4;super(),this['browser']=T,this[Nc(0x81b)]=V,this['on'](Nc(0x610),({target:q})=>{const NP=Nc;this.#targets[NP(0x840)](q);}),this['on'](Nc(0x78f),({target:q})=>{const NY=Nc;this.#targets[NY(0x66b)](q);if(this.#targets[NY(0x357)]===0x0)this[NY(0x22a)](new WindowDestroyedEvent(this));});}*[x4(0x59a)](){yield*this.#targets['values']();}*[x4(0x749)](){const Nn=x4;yield*this.#targets[Nn(0x10c)]()[Nn(0x79b)](T=>T[Nn(0x54f)]===Nn(0x5ca));}async[x4(0x757)](T){const Nv=x4;await this['browser']['connection'][Nv(0xe3)](Nv(0x5a9),{'windowId':this['windowId'],'bounds':{'left':T['x'],'top':T['y'],'width':T[Nv(0x21d)],'height':T[Nv(0x2b5)],'windowState':Nv(0x41e)}});}async[x4(0x43d)](T){const NI=x4;await this[NI(0x263)][NI(0x4b8)]['execute']('Browser.setWindowBounds',{'windowId':this[NI(0x81b)],'bounds':{'left':0x0,'top':0x0,'width':T['width'],'height':T['height'],'windowState':NI(0x41e)}});}async[x4(0x355)](T){const Ne=x4;await this[Ne(0x263)][Ne(0x4b8)][Ne(0xe3)](Ne(0x25a),{'windowId':this[Ne(0x81b)],...T});}},WindowTargetAttachedEvent=class extends Event{['target'];constructor(T){const NM=x4;super(NM(0x610)),this[NM(0x43e)]=T;}},WindowTargetDetachedEvent=class extends Event{[x4(0x43e)];constructor(T){const NK=x4;super(NK(0x78f)),this[NK(0x43e)]=T;}},WindowDestroyedEvent=class extends Event{['window'];constructor(T){const Ng=x4;super('destroyed'),this[Ng(0x1dc)]=T;}};function makeWindowManager(){return new WindowManager();}var WindowManager=class{#windows=new Map();[x4(0x316)](T){const Nl=x4;return this.#windows[Nl(0x316)](T);}[x4(0x4c0)]({windowId:T,browser:V}){const Nf=x4,q=this.#windows['get'](T);if(q)return q;const C=makeWindow({'browser':V,'windowId':T});return this.#windows[Nf(0x866)](T,C),C[Nf(0x3d7)]('destroyed',()=>this.#windows['delete'](T)),V[Nf(0x22a)](new BrowserWindowCreatedEvent(C)),C;}*[Symbol[x4(0x6b9)]](){const NU=x4;yield*this.#windows[NU(0x10c)]();}};function makePagesHistory(T){return new PagesHistory(T);}var PagesHistory=class{#activatingPage;#stack=[];#index=0x0;constructor({browser:T}){const NE=x4;T['on'](NE(0x574),({target:V})=>{const NZ=NE;this.#activatingPage!==V&&(this[NZ(0x132)](V),this.#activatingPage=void 0x0);}),T['on'](NE(0x14b),({target:V})=>this[NE(0x66b)](V));}get[x4(0x404)](){const NH=x4;if(this.#index<this.#stack[NH(0x33d)]-0x1)return this.#stack[this.#index+0x1];}get[x4(0x6b1)](){if(this.#index>0x0)return this.#stack[this.#index-0x1];}[x4(0x132)](T){const Nt=x4;if(this.#index<this.#stack[Nt(0x33d)]-0x1)this.#stack=this.#stack[Nt(0x7e8)](0x0,this.#index+0x1);const V=this.#stack[this.#stack[Nt(0x33d)]-0x1];if(!(V&&V===T))this.#stack[Nt(0x132)](T);this.#index=this.#stack[Nt(0x33d)]-0x1;}[x4(0x66b)](T){const Nm=x4;this.#stack=this.#stack[Nm(0x79b)](V=>V[Nm(0x76e)]!==T[Nm(0x76e)]);if(this.#stack[Nm(0x33d)]<=0x1)this.#index=0x0;else{if(this.#index>=this.#stack[Nm(0x33d)])this.#index=this.#stack[Nm(0x33d)]-0x1;}}async[x4(0x369)](){const NJ=x4;this.#activatingPage=this[NJ(0x6b1)];if(!this.#activatingPage)return![];return this.#activatingPage['once'](NJ(0x317),()=>this.#index-=0x1),await this.#activatingPage[NJ(0x75e)](),!![];}async[x4(0x3c7)](){const Ns=x4;this.#activatingPage=this[Ns(0x404)];if(!this.#activatingPage)return![];return this.#activatingPage['once']('activated',()=>this.#index+=0x1),await this.#activatingPage[Ns(0x75e)](),!![];}};function localizeRemoteValue({evaluator:T,value:V}){const NO=x4,q=V['type'];if(q==='undefined'||q===NO(0x716)||q===NO(0x71a))return V[NO(0x4fb)];else{if(q===NO(0x196)){if(V[NO(0x4fb)][NO(0x2a3)]){if(V['value']['unserializableValue']===NO(0x3fe))return Infinity;else{if(V[NO(0x4fb)][NO(0x2a3)]===NO(0x86e))return-Infinity;else{if(V[NO(0x4fb)][NO(0x2a3)]==='-0')return-0x0;else{if(V[NO(0x4fb)][NO(0x2a3)]===NO(0x40e))return NaN;}}}}return V[NO(0x4fb)];}else{if(q==='bigint')return BigInt(V['unserializableValue'][NO(0x7e8)](0x0,-0x1));else{if(q===NO(0x246))return null;else{if(q==='object'){if(V[NO(0x1a4)]==='null')return null;return new RemoteObjectHandle({'evaluator':T,'value':V});}else{if(q===NO(0x7de))return new RemoteFunctionHandle({'evaluator':T,'value':V});}}}}}return null;}var RemoteObjectHandle=class{#value;#cache=new Map();#revoked=![];async #resolveSerializedValue(T,{path:path=[]}={}){const Np=x4,V=T[Np(0xdd)];if(V!==void 0x0&&this.#cache[Np(0x136)](V))return this.#cache['get'](V);let q;const C=T['type'];if(C==='undefined'||C===Np(0x716)||C===Np(0x71a))q=T[Np(0x4fb)];else{if(C===Np(0x560))q=null;else{if(C===Np(0x196)){if(T[Np(0x4fb)]==='Infinity')q=Infinity;else{if(T[Np(0x4fb)]===Np(0x86e))q=-Infinity;else{if(T['value']==='-0')q=-0x0;else{if(T[Np(0x4fb)]===Np(0x40e))q=NaN;else q=T[Np(0x4fb)];}}}}else{if(C===Np(0x522))q=BigInt(T[Np(0x4fb)]);else{if(C===Np(0x246))q=null;else{if(C===Np(0x1a2))q=makeWebNode({'evaluator':this['evaluator'],'handle':path[Np(0x33d)]===0x0?this:void 0x0,'nodeId':T[Np(0x4fb)]['backendNodeId'],'preview':'<'+(T[Np(0x4fb)][Np(0x62f)]??'#node')+'\x20'+(T['value'][Np(0x752)]?Object[Np(0x80f)](T[Np(0x4fb)][Np(0x752)])[Np(0x16a)](([o,X])=>o+'=\x22'+X+'\x22')[Np(0x78a)]('\x20'):'')+'/>'});else{if(C===Np(0x406)){const o=[],X=T[Np(0x4fb)];for(const [G,B]of X[Np(0x80f)]())o['push'](await this.#resolveSerializedValue(B,{'path':[...path,{'type':Np(0x4fb),'index':G}]}));q=o;}else{if(C===Np(0x866)){const u=new Set(),c=T[Np(0x4fb)];for(const [P,Y]of c[Np(0x80f)]())u[Np(0x840)](await this.#resolveSerializedValue(Y,{'path':[...path,{'type':Np(0x4fb),'index':P}]}));q=u;}else{if(C===Np(0x52d)){const n={},v=T[Np(0x4fb)];for(const [I,[e,M]]of v[Np(0x80f)]())n[e]=await this.#resolveSerializedValue(M,{'path':[...path,{'type':'value','index':I}]});q=n;}else{if(C==='map'){const K=new Map(),l=T[Np(0x4fb)];for(const [f,[U,E]]of l[Np(0x80f)]()){const Z=typeof U==='string'?U:await this.#resolveSerializedValue(U,{'path':[...path,{'type':Np(0x7b0),'index':f}]}),H=await this.#resolveSerializedValue(E,{'path':[...path,{'type':Np(0x4fb),'index':f}]});K['set'](Z,H);}q=K;}else{if(C===Np(0x7de))q=await this[Np(0x454)][Np(0xe3)]((t,m)=>{const Nh=Np;for(const J of m){const s=(Array[Nh(0x1ec)](t)||t instanceof Set||t instanceof Map?Array[Nh(0xbd)](t[Nh(0x80f)]()):Object[Nh(0x80f)](t))[J['index']];if(!s)throw new Error(Nh(0x818));t=s[J[Nh(0x54f)]===Nh(0x7b0)?0x0:0x1];}return t;},[this,path]);else throw new Error(Np(0x39e)+C+'\x22');}}}}}}}}}}if(V!==void 0x0)this.#cache[Np(0x866)](V,q);return q;}['evaluator'];get['objectId'](){return this.#value['objectId'];}get['revoked'](){return this.#revoked;}constructor({evaluator:T,value:V}){this['evaluator']=T,this.#value=V;}async['resolve'](){const Nk=x4;if(this.#value[Nk(0x54f)]===Nk(0x52d)&&this.#value['subtype']===Nk(0x1a2))return makeWebNode({'evaluator':this[Nk(0x454)],'handle':this});else{if(this.#value['deepSerializedValue']){const T=await this.#resolveSerializedValue(this.#value['deepSerializedValue']);return await this[Nk(0x6b8)](),T;}else throw new Error(Nk(0x695));}}async[x4(0x6b8)](){const NF=x4;!this.#revoked&&(this.#revoked=!![],await this[NF(0x454)]['target'][NF(0x4b8)][NF(0xe3)](NF(0x55f),{'objectId':this[NF(0x223)]}));}[x4(0x379)](){const NW=x4;if(this[NW(0x454)][NW(0x44e)])throw new StaleRemoteObjectHandleError(NW(0xef)+this[NW(0x223)]+NW(0xdc));return!this.#revoked?{'objectId':this[NW(0x223)]}:{'value':null};}[Symbol[x4(0x31f)](x4(0x53f))](T,V,q){const NQ=x4;let C;if(this.#value[NQ(0x1f3)]){C=stringifySerializedRemoteValue(this.#value['deepSerializedValue'],{'depth':T-0x1});if(this.#value[NQ(0x1f3)][NQ(0x54f)]===NQ(0x1a2)&&V[NQ(0x64d)])C=C[NQ(0x358)](0x0,V[NQ(0x64d)])+NQ(0x10f);}else{if(this.#value[NQ(0x6ca)])C=stringifyRemoteValuePreview(this.#value[NQ(0x6ca)]);else C=this.#value[NQ(0x21e)]??'';}return NQ(0x644)+C+'}';}},RemoteFunctionHandle=class extends RemoteObjectHandle{async[x4(0x37a)](){const Na=x4,T=(...V)=>this[Na(0x38e)](...V);return T[Na(0x4a5)]=this,T;}async[x4(0x38e)](...T){const Nz=x4;return await this[Nz(0x454)]['execute']((V,q)=>V(...q),[this,T]);}},StaleRemoteObjectHandleError=class extends Error{};function stringifyRemoteValuePreview(T){const Nw=x4,V=T[Nw(0x54f)];if(V===Nw(0x52d)){const C=T[Nw(0x1a4)];if(C===Nw(0x560)||C===Nw(0x6ed))return T[Nw(0x21e)];else{if(C===Nw(0x1a2))return'<'+T['description']+'/>';else{if(C===Nw(0x406))return'['+T[Nw(0x4f7)][Nw(0x16a)](o=>q(o))[Nw(0x78a)](',\x20')+(T[Nw(0x3f2)]?Nw(0x7fd)+/\d+/['exec'](T[Nw(0x21e)])?.[0x0]:'')+']';else{if(C===Nw(0x866)||C===Nw(0x86a))return T[Nw(0x21e)]+'\x20{'+(T[Nw(0x80f)]??[])[Nw(0x16a)](o=>stringifyRemoteValuePreview(o['value']))[Nw(0x78a)](',\x20')+(T[Nw(0x3f2)]?Nw(0x130):'')+'}';else{if(!C)return'['+T[Nw(0x4f7)][Nw(0x16a)](o=>o[Nw(0x15f)]+':\x20'+q(o))[Nw(0x78a)](',\x20')+(T[Nw(0x3f2)]?'\x20...':'')+']';else{if(C===Nw(0x16a)||C===Nw(0x5cd))return T[Nw(0x21e)]+'\x20{'+(T[Nw(0x80f)]??[])[Nw(0x16a)](o=>stringifyRemoteValuePreview(o['key'])+'\x20=>\x20'+stringifyRemoteValuePreview(o[Nw(0x4fb)]))[Nw(0x78a)](',\x20')+'\x20'+(T['overflow']?Nw(0x10f):'')+'}';else{if(C===Nw(0x525))return Nw(0x220)+T[Nw(0x21e)]+'}';else{if(C===Nw(0x776)){const o=T['properties'][Nw(0x2f2)](G=>G[Nw(0x15f)]===Nw(0x68f))?.[Nw(0x4fb)]??Nw(0x2fc),X=T[Nw(0x4f7)][Nw(0x2f2)](G=>G[Nw(0x15f)]==='[[PromiseResult]]');return Nw(0x2f3)+o+'>'+(o!=='pending'&&X?q(X):'')+'}';}else{if(C==='error')return'Error\x20{'+T['description']+'}';else return'{<unknown>:\x20'+C+'}';}}}}}}}}}else{if(V==='string')return'\x27'+T['description']?.[Nw(0x268)]('\x27','\x5c\x27')+'\x27';else return T['description'];}function q(G){const Ni=Nw;return G[Ni(0x7d9)]?stringifyRemoteValuePreview(G['valuePreview']):G[Ni(0x4fb)];}}function stringifySerializedRemoteValue(T,{depth:V}){const Nd=x4,q=T['type'];if(q===Nd(0x82f)||q===Nd(0x560))return q;else{if(q===Nd(0x716)||q==='number')return T[Nd(0x4fb)];else{if(q===Nd(0x522))return T[Nd(0x4fb)]+'n';else{if(q==='string')return'\x27'+T[Nd(0x4fb)][Nd(0x268)]('\x27','\x5c\x27')+'\x27';else{if(q===Nd(0x246))return'';else{if(q===Nd(0x1a2)){const C=Object[Nd(0x80f)](T[Nd(0x4fb)][Nd(0x752)]??{})[Nd(0x16a)](([o,X])=>o+'=\x22'+X+'\x22')['join']('\x20');return'<'+(T[Nd(0x4fb)][Nd(0x62f)]??'#node')+'\x20'+C+'/>';}else{if(q===Nd(0x6ed))return'';else{if(q===Nd(0x525))return'';else{if(q==='array'){const o='Array('+T['value'][Nd(0x33d)]+')';if(V===0x0)return o;return'['+T[Nd(0x4fb)][Nd(0x16a)](X=>stringifySerializedRemoteValue(X,{'depth':V-0x1}))['join'](',\x20')+']';}else{if(q===Nd(0x866)){const X='Set('+T[Nd(0x4fb)][Nd(0x33d)]+')';if(V===0x0)return X;return X+'\x20{'+T[Nd(0x4fb)][Nd(0x16a)](G=>stringifySerializedRemoteValue(G,{'depth':V-0x1}))[Nd(0x78a)](',\x20')+'}';}else{if(q===Nd(0x52d)){const G=Nd(0x27c)+T['value'][Nd(0x33d)]+')';if(V===0x0)return G;return'{'+T['value'][Nd(0x16a)](([B,u])=>B+':\x20'+stringifySerializedRemoteValue(u,{'depth':V-0x1}))['join'](',\x20')+'}';}else{if(q===Nd(0x16a)){const B=Nd(0x511)+T['value'][Nd(0x33d)]+')';if(V===0x0)return B;return B+'\x20{'+T[Nd(0x4fb)][Nd(0x16a)](([u,c])=>(typeof u===Nd(0x71a)?u:stringifySerializedRemoteValue(u,{'depth':V-0x1}))+Nd(0xe9)+stringifySerializedRemoteValue(c,{'depth':V-0x1}))[Nd(0x78a)](',\x20')+'}';}else return Nd(0x3e6)+q+'}';}}}}}}}}}}}}function boxToRect(T){const A0=x4;return{'x':T['x'],'y':T['y'],'width':T[A0(0x21d)],'height':T[A0(0x2b5)],'top':T[A0(0x2b5)]<0x0?T['y']+T[A0(0x2b5)]:T['y'],'left':T[A0(0x21d)]<0x0?T['x']+T[A0(0x21d)]:T['x']};}function hostnameOf(T){const A1=x4;if(!T)return void 0x0;try{return new URL(T)[A1(0x2cb)];}catch{return;}}function matchesDomain(T,V){const A2=x4;return V[A2(0x654)](q=>T===q||T[A2(0x76a)]('.'+q));}const AD_FRAME_PATTERNS=/(?:doubleclick\.net|googlesyndication\.com|googleadservices\.com|google(?:tag|ad)manager\.com|adnxs\.com|pubmatic\.com|amazon-adsystem\.com|rubiconproject\.com|casalemedia\.com|criteo\.(?:com|net)|sharethrough\.com|yieldmo\.com|gumgum\.com|openx\.net|bidswitch\.net|media\.net|seedtag\.com|3lift\.com|undertone\.com|ads\.yahoo\.com|pub\.network|lijit\.com|adsrvr\.org|2mdn\.net|moatads\.com|serving-sys\.com|taboola\.com|outbrain\.com)/i;function isAdUrl(T){const A3=x4,V=hostnameOf(T);return V?AD_FRAME_PATTERNS[A3(0x3a7)](V):![];}const ANALYTICS_DOMAINS=[x4(0x158),x4(0x4d9),x4(0x731),x4(0xfc),x4(0x33b),'contentsquare.net',x4(0x853),x4(0x4ee),x4(0x7a2),'amplitude.com','segment.io',x4(0x67b),'newrelic.com',x4(0x1d4),x4(0x7b9),x4(0x6f0),x4(0x6a4),x4(0x820)],ANALYTICS_HOSTNAME_PREFIX=/^s?metrics\./i;function isAnalyticsUrl(T){const A4=x4,V=hostnameOf(T);if(!V)return![];return matchesDomain(V,ANALYTICS_DOMAINS)||ANALYTICS_HOSTNAME_PREFIX[A4(0x3a7)](V);}function isNonBlockingRequest(T,V){const A5=x4;return T===A5(0xd0)||T===A5(0x444)||isAdUrl(V)||isAnalyticsUrl(V);}function makeWebNode(T){return new WebNode(T);}var WebNode=class{#handle;#nodeId;#contentFrame=void 0x0;#attributes;#description;#preview;async #getDescription(){const A6=x4;if(this.#description)return this.#description;const T=await this['frame']['target']['connection'][A6(0xe3)](A6(0x3d3),{'backendNodeId':this.#nodeId,'objectId':this.#handle?.[A6(0x223)]});return this.#description=T[A6(0x1a2)];}['evaluator'];get['frame'](){const A7=x4;return this[A7(0x454)][A7(0x5f5)];}constructor({evaluator:T,handle:V,nodeId:q,preview:C}){this['evaluator']=T,this.#handle=V,this.#nodeId=q,this.#preview=C;}async[x4(0x7c6)](){const A8=x4;if(this.#handle)return this.#handle;const T=await this[A8(0x5f5)][A8(0x43e)][A8(0x4b8)][A8(0xe3)]('DOM.resolveNode',{'executionContextId':this['evaluator'][A8(0x6c6)],'backendNodeId':this.#nodeId});return this.#handle=localizeRemoteValue({'evaluator':this[A8(0x454)],'value':T['object']});}async[x4(0x836)](T){const A9=x4;if(this[A9(0x5f5)]!==T[A9(0x5f5)])return![];const V=await Promise[A9(0x18c)]([this['getNodeId'](),T[A9(0x22d)]()]);return V[0x0]===V[0x1];}async[x4(0x2bb)](){const Ax=x4;return this[Ax(0xe3)](T=>{const Ar=Ax;if(T instanceof Element&&[Ar(0x3ca),Ar(0x5ec)][Ar(0x241)](T[Ar(0x27d)]))return T[Ar(0x1a7)];if(T instanceof SVGElement){let V=T;while(V[Ar(0x4a6)])V=V['viewportElement'];return V;}return T;});}async[x4(0x2e1)](){const AR=x4;return this[AR(0xe3)](T=>T[AR(0x2e1)])[AR(0x225)](()=>![]);}async[x4(0x413)](){const Ab=x4;return this['execute'](T=>T instanceof Element?T[Ab(0xea)](':enabled'):![]);}async[x4(0x557)](){const AD=x4;return this['execute'](T=>T instanceof Element?T[AD(0xea)](AD(0x819)):T[AD(0x1a7)]?.[AD(0xea)](AD(0x819))??![]);}async[x4(0x22d)](){if(this.#nodeId)return this.#nodeId;return(await this.#getDescription())['backendNodeId'];}async[x4(0x555)]({hint:hint=x4(0x71a),acceptFormValue:T}={}){const AL=x4;return await this[AL(0xe3)](getElementValue,[{'hint':hint,'acceptFormValue':T}]);}async[x4(0x344)](){const Aj=x4;return await this['execute'](T=>T[Aj(0x626)]);}async[x4(0x603)](){const AN=x4,T=await this[AN(0x100)]();try{let V=this[AN(0x5f5)];while(V&&!V[AN(0x272)]){if(V[AN(0x76d)]){const q=await(await V[AN(0x198)]())[AN(0x100)]();T['x']+=q['x'],T['y']+=q['y'];}V=V['parent'];}return T;}catch(C){throw new Error('Node\x20screen\x20box\x20calculation\x20is\x20failed',{'cause':C});}}async[x4(0x100)](){const AA=x4;try{const {model:T}=await this['frame'][AA(0x43e)][AA(0x4b8)][AA(0xe3)](AA(0x30b),{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']});return{'x':T['border'][0x0],'y':T[AA(0x45f)][0x1],'width':T['border'][0x4]-T['border'][0x0],'height':T[AA(0x45f)][0x5]-T[AA(0x45f)][0x1]};}catch(V){error('nodeBoxCalculationFailed',{'error':V});throw new StaleNodeError(AA(0x788)+this.#nodeId+AA(0xdc));}}async['getMetrics'](){const AS=x4;return this[AS(0xe3)](T=>{const AT=AS,V=T instanceof Element?T:T['parentElement'];return{'scrollX':V[AT(0x495)],'scrollY':V[AT(0x3cf)],'scrollWidth':V[AT(0x371)],'scrollHeight':V['scrollHeight'],'clientWidth':V[AT(0x4bd)],'clientHeight':V['clientHeight']};});}async[x4(0x4ae)](){const AV=x4;try{const {quads:T}=await this[AV(0x5f5)][AV(0x43e)][AV(0x4b8)]['execute'](AV(0x666),{'backendNodeId':this.#nodeId,'objectId':this.#handle?.[AV(0x223)]}),V=T[AV(0x16a)](q=>Rectangle[AV(0x30e)](q))[AV(0x79b)](q=>q[AV(0x21d)]>0x0&&q[AV(0x2b5)]>0x0);if(V[AV(0x33d)]===0x0)throw new StaleNodeError(AV(0x788)+this.#nodeId+AV(0xdc));return V;}catch(q){error('nodeBoxCalculationFailed',{'error':q});throw new StaleNodeError('Node\x20with\x20object\x20id\x20'+this.#nodeId+AV(0xdc));}}async[x4(0x1f1)](){const Aq=x4;return(await this.#getDescription())[Aq(0xb4)][Aq(0x655)]();}async['getAttribute'](T){const AC=x4;if(!this.#attributes){const V=await this.#getDescription();this.#attributes=new Map();if(V[AC(0x752)]){for(let q=0x0;q<(V['attributes']?.['length']??0x0);q+=0x2)this.#attributes['set'](V[AC(0x752)][q],V['attributes'][q+0x1]);}}return this.#attributes[AC(0x316)](T);}async[x4(0x233)](){const Ay=x4;if(this.#contentFrame===void 0x0){const T=(await this.#getDescription())[Ay(0x5f4)];this.#contentFrame=T?this[Ay(0x5f5)][Ay(0x43e)][Ay(0x263)]['frameManager'][Ay(0x316)](T):null;if(!this.#contentFrame)throw new Error('Cannot\x20find\x20content\x20frame\x20of\x20the\x20iframe\x20node\x20with\x20with\x20object\x20id\x20\x22'+this.#nodeId+'\x22');}return this.#contentFrame;}async['$'](T){const Ao=x4,V=['/','(',Ao(0x861),'./','*/'][Ao(0x654)](q=>T[Ao(0x27e)](q))?Ao(0x513):Ao(0x81e);return await this['execute']((q,C,o)=>{const AX=Ao;if(o===AX(0x513))return document[AX(0x5b9)](C['replaceAll']('/svg',AX(0x484)),q,null,XPathResult[AX(0x7ad)],null)[AX(0x3bb)];else return(q instanceof Element?q:q['parentElement'])[AX(0x1d6)](C);},[T,V]);}async['$$'](T){const AG=x4,V=['/','(','../','./','*/']['some'](q=>T['startsWith'](q))?AG(0x513):AG(0x81e);return await this['execute']((q,C,o)=>{const AB=AG;if(o===AB(0x513)){const X=document['evaluate'](C[AB(0x268)](AB(0x199),'/*[local-name()\x20=\x20\x27svg\x27]'),q,null,XPathResult[AB(0x1fe)],null),G=[];let B;while(B=X[AB(0x737)]())G[AB(0x132)](B);return G;}else{const u=q instanceof Element?q:q['parentElement'];return Array[AB(0xbd)](u[AB(0x77f)](C));}},[T,V]);}async[x4(0xe3)](T,V,q){const Au=x4;return this[Au(0x454)][Au(0xe3)](T,[this,...V??[]],q);}async[x4(0x553)](){const Ac=x4;try{return await this[Ac(0x5f5)]['target'][Ac(0x4b8)][Ac(0xe3)]('DOM.focus',{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']}),!![];}catch{const T=await this[Ac(0x1f1)]();if(T===Ac(0x56a)||T===Ac(0x537))return!![];if(await this[Ac(0xe3)](V=>V instanceof Element?V[Ac(0x19c)]?.['delegatesFocus']:![])===![])return!![];return![];}}async[x4(0x65b)]({signal:T}){const AP=x4,V=await this[AP(0x100)](),q={'x':V['x']+V[AP(0x21d)]/0x2,'y':V['y']+V[AP(0x2b5)]/0x2},C=this[AP(0x5f5)][AP(0x43e)][AP(0x569)]['position'],o=[[q]],X=await this[AP(0x5f5)][AP(0x43e)][AP(0x650)]();o[AP(0x132)]([{'x':q['x'],'y':X[AP(0x2b5)]+0x64},q]);const G=new Segment(C,q)[AP(0x821)]();o[AP(0x132)](G[AP(0x16a)](B=>B['end']));for(const B of o){await this[AP(0x5f5)]['target'][AP(0x569)]['move'](B,{'signal':T});const {isObscured:u}=await this[AP(0x4c1)]();if(!u)return;await this[AP(0x5f5)][AP(0x43e)][AP(0x569)][AP(0x74e)](C,{'signal':T}),await S(0x3e8);}}async[x4(0x284)]({simulate:T,signal:V,...q}={}){const AY=x4;if(T)await this[AY(0xe3)](C=>C['click']());else{const [C]=await this[AY(0x4ae)](),o={'x':C['x']+C[AY(0x21d)]/0x2,'y':C['y']+C[AY(0x2b5)]/0x2};await this[AY(0x65b)]({'signal':V}),await this[AY(0x5f5)][AY(0x43e)][AY(0x569)][AY(0x284)](o,q);}}async[x4(0x597)]({block:block='nearest',inline:inline=x4(0x85c)}={}){await this['execute'](async(T,{block:V,inline:q})=>{const An=D;(T instanceof Element?T:T['parentElement'])['scrollIntoView']({'block':V,'inline':q,'behavior':An(0x3ad)}),await new Promise(requestAnimationFrame);},[{'block':block,'inline':inline}],{'await':!![]});}async[x4(0x285)](){const Av=x4;await this[Av(0x597)]();const {ratio:T}=await this['getObscurationInfo']();if(T!==0x0)await this['scrollIntoView']({'block':Av(0x764),'inline':Av(0x764)});}async['isVisible'](){const {isVisible:T}=await this['execute'](checkVisibility,[{'minSize':0x1,'checkParentsVisibility':!![]}]);return T;}async[x4(0x7b8)](){const AI=x4;if(!await this['isVisible']())return{'ratio':0x1,'obscuringElement':null};const {ratio:T,obscuringElement:V}=await this[AI(0xe3)](getObscurationRatio);if(T===0x0)return{'ratio':0x0,'obscuringElement':null};const q=await this[AI(0x4ae)]();if(q[AI(0x33d)]===0x0)return{'ratio':0x1,'obscuringElement':null};const {dx:C,dy:o}=await this[AI(0x5f5)]['target'][AI(0xec)][AI(0xe3)](()=>({'dx':window[AI(0x44b)],'dy':window[AI(0x66e)]})),X=await this[AI(0xe3)](c=>c instanceof Element?c:c[AI(0x1a7)]),G=[];let B=null;for(const c of q){const P=rectToSamplingPoints(boxToRect(c)),Y=await Promise[AI(0x18c)](P[AI(0x16a)](async v=>{const Ae=AI,I={'x':v['x']+C,'y':v['y']+o},e=await this[Ae(0x5f5)][Ae(0x43e)]['resolveFromLocation'](I);if(!e)return{'isObscured':![],'node':null};if(await X[Ae(0x836)](e))return{'isObscured':![],'node':null};if(await X['contains'](e))return{'isObscured':![],'node':null};return{'isObscured':!![],'node':e};})),n=Y[AI(0x16a)](v=>v['isObscured']);if(!B){const v=Y[AI(0x2f2)](I=>I['isObscured']&&I['node']);if(v)B=v[AI(0x1a2)];}G[AI(0x132)](n);}const u=calculateObscurationRatio(G);return{'ratio':Math[AI(0x67d)](u,T),'obscuringElement':B??V};}async['isObscured'](){const AM=x4,{ratio:T,obscuringElement:V}=await this[AM(0x7b8)]();return{'isObscured':T>0.5,'obscuringElement':V};}async[x4(0x231)](){const AK=x4;return this[AK(0xe3)](isElementAcceptableInvisible);}async[x4(0x129)](T){const Ag=x4;await this[Ag(0xe3)]((V,{x:q,y:C})=>{const Al=Ag;if(!(V instanceof Element))return;let o;if(q===Al(0x401))o=V['scrollWidth'];else{if(q===Al(0x764))o=V[Al(0x371)]/0x2;else o=q;}let X;if(C===Al(0x401))X=V[Al(0x2f9)];else{if(C===Al(0x764))X=V[Al(0x2f9)]/0x2;else X=C;}V[Al(0x129)]({'left':o,'top':X,'behavior':Al(0x3ad)});},[T]);}async[x4(0x7ee)](T){const AE=x4;if(await this['execute'](async(q,{x:C,y:o})=>{const Af=D;if(!(q instanceof Element))return!![];const X=q[Af(0x3cf)],G=q[Af(0x495)];return q[Af(0x7ee)]({'left':C,'top':o,'behavior':Af(0x3ad)}),new Promise(B=>{requestAnimationFrame(()=>{const AU=D,u=q[AU(0x3cf)],c=q['scrollLeft'];if(u===X&&c===G)B(![]);else B(!![]);});});},[T],{'await':!![]}))return;const V=await this['getBox']();await this[AE(0x5f5)][AE(0x43e)][AE(0x4b8)][AE(0xe3)](AE(0x703),{'type':AE(0x3ba),'x':V['x']+V[AE(0x21d)]-0x1,'y':V['y']+0x1,'deltaX':T['x']??0x0,'deltaY':T['y']??0x0});}async[x4(0x208)](T){const AZ=x4;if(await this['execute'](V=>V instanceof HTMLInputElement&&V[AZ(0x54f)]==='file')){if(typeof T!==AZ(0x71a)&&!Array[AZ(0x1ec)](T))throw new Error('Can\x27t\x20set\x20value\x20of\x20type\x20'+typeof T+AZ(0x5e9));await this[AZ(0x5f5)]['target'][AZ(0x4b8)][AZ(0xe3)](AZ(0x4fd),{'files':Array[AZ(0x1ec)](T)?T:[T],'backendNodeId':this.#nodeId,'objectId':this.#handle?.[AZ(0x223)]});}else await this[AZ(0xe3)](setElementValue,[T]);}async[x4(0xdf)](){return this['execute'](canTypeIntoElement);}async[x4(0x54f)](T){const AH=x4;throw new Error(AH(0x563));}async[x4(0x7ce)](T){const At=x4;if(this[At(0x5f5)]!==T['frame'])return![];return this['execute']((V,q)=>V[At(0x7ce)](q),[T]);}async[x4(0x7ed)](){const Am=x4;return this[Am(0xe3)](T=>{const AJ=Am;let V='';const q=T[AJ(0x116)];if(!q)return V;let C=T;if(T instanceof Element&&T['id'])V='//'+T[AJ(0x27d)]+AJ(0x311)+T['id']+'\x22]';else while(C&&C!==q){const o=C['parentNode'];if(o){const X=C[AJ(0x27d)];V='/'+X+'['+(Array[AJ(0x828)][AJ(0x79b)][AJ(0x38e)](o[AJ(0x6ff)],G=>G['tagName']===X)[AJ(0x734)](C)+0x1)+']'+V;}C=o;}return V;});}async[x4(0x504)](){const AO=x4;return this[AO(0x7ed)]();}async[x4(0x30a)](){const Ap=x4;return this[Ap(0xe3)](T=>T instanceof Text);}async[x4(0x638)](){const Ah=x4;return await this[Ah(0xe3)](T=>T[Ah(0x1a7)]);}async[x4(0x213)](){const Ak=x4;return this[Ak(0xe3)](getElementSelector);}async[x4(0x795)](){const AF=x4;return this[AF(0xe3)](T=>T instanceof HTMLElement?T[AF(0x795)]:![]);}async[x4(0x6c5)](T){const AW=x4;return this[AW(0xe3)](setElementCaretPosition,[T]);}[Symbol['for'](x4(0x53f))](T,V,q){const AQ=x4;q[AQ(0xda)]['node']=AQ(0x434);const C=this.#handle?.[Symbol[AQ(0x31f)]('nodejs.util.inspect.custom')](T,V,q)??this.#preview;return C?V[AQ(0x2c2)](C,'node'):'Node\x20'+q({'nodeId':this.#nodeId},{...V,'compact':!![],'breakLength':Infinity});}async[x4(0x625)](T){const Aa=x4;return this[Aa(0xe3)]((V,q)=>{const Az=Aa;if(!(q instanceof HTMLInputElement)||!q[Az(0x707)])return![];return Array[Az(0xbd)](q[Az(0x707)])[Az(0x654)](C=>C[Az(0x7ce)](V));},[T]);}},StaleNodeError=class extends Error{},PortOutgoingMessageEvent=class extends Event{[x4(0x15f)];['payload'];constructor(T,V){const Aw=x4;super(Aw(0x6bc)),this[Aw(0x15f)]=T,this['payload']=V;}},PortIncommingMessageEvent=class extends Event{[x4(0x15f)];[x4(0x245)];constructor(T,V){const Ai=x4;super(Ai(0x2b7)),this['name']=T,this[Ai(0x245)]=V;}};function makePort(T){return new Port(T);}var Port=class extends EventTargetNode{#watchers={'initialized':makeWatcher()};async #initialize(){const S0=x4,T='__'+this[S0(0x15f)][S0(0x268)]('\x20','_')+S0(0x24a);this['evaluator'][S0(0x43e)]['connection']['on'](S0(0x146),({executionContextId:V,name:q,payload:C})=>{const S1=S0;if(this['evaluator'][S1(0x6c6)]===V&&q===T){const o=JSON[S1(0x462)](C);this[S1(0x22a)](new PortIncommingMessageEvent(o[S1(0x15f)],o[S1(0x245)]));}}),await this[S0(0x454)][S0(0x43e)]['connection'][S0(0xe3)](S0(0x4e5),{'name':T,'executionContextId':this['evaluator']['evaluatorId']}),await this[S0(0x454)][S0(0xe3)](registerPort,[this[S0(0x15f)]]),log(S0(0x627),{'portName':this[S0(0x15f)],'evaluatorId':this['evaluator']['evaluatorId'],'frameId':this['evaluator'][S0(0x5f5)]?.[S0(0x5f4)]});}#closed=![];[x4(0x454)];[x4(0x15f)];constructor({evaluator:T,name:V}){const S2=x4;super(),this['evaluator']=T,this[S2(0x15f)]=V,this.#initialize()[S2(0x385)](()=>this.#watchers[S2(0x243)][S2(0x37a)]())[S2(0x225)](q=>this.#watchers[S2(0x243)][S2(0x74d)](q)),this[S2(0x454)]['on']('destroyed',()=>{const S3=S2;if(this.#closed)return;this.#closed=!![],log(S3(0x167),{'portName':this[S3(0x15f)],'evaluatorId':this['evaluator'][S3(0x6c6)]});}),this['on'](S2(0x6bc),async({name:q,payload:C})=>{const S4=S2;try{await this[S4(0x454)]['execute']((o,X,G)=>{const S5=S4,B=globalThis;B['ports'][o]['dispatchEvent'](new B[(S5(0x5c1))](X,G));},[this[S4(0x15f)],q,C]);}catch(o){error(S4(0x17d),{'portName':this['name'],'messageName':q,'evaluatorId':this[S4(0x454)][S4(0x6c6)],'error':o});}});}['send'](T,V){const S6=x4;this[S6(0x22a)](new PortOutgoingMessageEvent(T,V));}async[x4(0xdb)](T){await this.#watchers[T];}};function makeEvaluator(T){return new Evaluator(T);}var Evaluator=class extends EventTargetNode{#evaluatorId;#destroyed=![];#controller=new AbortController();['type'];[x4(0x15f)];[x4(0x43e)];['frame'];get['evaluatorId'](){return this.#evaluatorId;}get[x4(0x44e)](){return this.#destroyed;}constructor(T){const S7=x4;super(),this.#evaluatorId=T[S7(0x6c6)];if(S7(0x43e)in T)this[S7(0x43e)]=T['target'];else this[S7(0x43e)]=T[S7(0x5f5)][S7(0x43e)],this['frame']=T[S7(0x5f5)];this[S7(0x15f)]=T[S7(0x15f)],this[S7(0x54f)]=T[S7(0x54f)],this[S7(0x43e)][S7(0x4b8)]['on'](S7(0x4b0),()=>{const S8=S7;log(S8(0x45a),{'contextId':this.#evaluatorId,'frameId':this[S8(0x5f5)]?.[S8(0x5f4)],'targetId':this[S8(0x43e)]['targetId'],'reason':S8(0x548)}),log(S8(0x602),{'evaluatorId':this.#evaluatorId,'frameId':this[S8(0x5f5)]?.[S8(0x5f4)],'targetId':this[S8(0x43e)]['targetId'],'reason':S8(0x548)}),this.#controller[S8(0x7fa)](new AbortError(S8(0x58f)+this.#evaluatorId+S8(0x352),{'retriable':this[S8(0x5f5)]&&!this[S8(0x5f5)]['destroyed']})),this[S8(0x22a)](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),this.#controller=new AbortController();}),this[S7(0x43e)]['connection']['on'](S7(0x237),({executionContextId:q})=>{const S9=S7;this.#evaluatorId===q&&(log('executionContextDestroyed',{'contextId':this.#evaluatorId,'frameId':this[S9(0x5f5)]?.[S9(0x5f4)],'targetId':this[S9(0x43e)]['targetId'],'reason':S9(0x44e)}),log(S9(0x602),{'evaluatorId':this.#evaluatorId,'frameId':this[S9(0x5f5)]?.[S9(0x5f4)],'targetId':this[S9(0x43e)][S9(0x76e)],'reason':'destroyed'}),this[S9(0x22a)](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),this.#controller=new AbortController());});if(T['logs'])this['target'][S7(0x4b8)]['on'](S7(0x318),({executionContextId:q,type:C,timestamp:o,args:X})=>{const Sx=S7;if(this.#evaluatorId===q)try{const G=X[Sx(0x16a)](B=>localizeRemoteValue({'evaluator':this,'value':B}));this['dispatch'](new EvaluatorLogEvent({'type':C,'timestamp':o,'args':G}));}catch{}});const V=this[S7(0x54f)]+'-'+this.#evaluatorId;this[S7(0x5f5)]?.['on'](S7(0x44e),()=>this[S7(0x22a)](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),{'key':V}),this['on'](S7(0x44e),()=>{const Sr=S7;this.#destroyed=!![],this.#controller[Sr(0x7fa)](new AbortError(Sr(0x58f)+this.#evaluatorId+'\x22\x20is\x20destroyed\x20in\x20the\x20middle\x20of\x20operation',{'retriable':this[Sr(0x5f5)]&&!this[Sr(0x5f5)][Sr(0x44e)]})),this['frame']?.[Sr(0x64f)](V);});}async[x4(0xe3)](T,V,q){const SR=x4,C=await this['target'][SR(0x4b8)]['execute']('Runtime.callFunctionOn',{'executionContextId':this.#evaluatorId,'functionDeclaration':await makeScript(T)[SR(0x713)](this),'arguments':await Promise[SR(0x18c)]((V??[])[SR(0x16a)](async X=>{const Sb=SR;if(X instanceof RemoteObjectHandle)return X[Sb(0x379)]();if(X instanceof WebNode)return(await X[Sb(0x7c6)]())[Sb(0x379)]();if(typeof X==='bigint')return{'unserializableValue':X+'n'};if(X===Infinity)return{'unserializableValue':Sb(0x3fe)};if(X===-Infinity)return{'unserializableValue':'-Infinity'};if(Object['is'](X,-0x0))return{'unserializableValue':'-0'};if(Number[Sb(0x47d)](X))return{'unserializableValue':'NaN'};return{'value':X};})),'awaitPromise':q?.[SR(0x519)],'serializationOptions':{'serialization':'deep'}},{'signal':this.#controller[SR(0x829)]});if(C[SR(0x647)]){const X=C[SR(0x647)][SR(0x85f)]?.[SR(0x21e)]?.[SR(0x811)](/^\w+:\s*/,'')[SR(0x811)](/\n.*/s,'');throw new Error(X??SR(0x327));}const o=localizeRemoteValue({'evaluator':this,'value':C['result']});return o instanceof RemoteObjectHandle?await o[SR(0x37a)]():o;}async[x4(0x5b9)](T,V){const SD=x4,q=await this[SD(0x43e)][SD(0x4b8)]['execute'](SD(0x5b0),{'contextId':this.#evaluatorId,'expression':await makeExpression(T)['compile'](),'awaitPromise':V?.[SD(0x519)],'serializationOptions':{'serialization':SD(0x345)}},{'signal':this.#controller[SD(0x829)]});if(q[SD(0x647)]){const o=q[SD(0x647)][SD(0x85f)]?.[SD(0x21e)]?.[SD(0x811)](/^\w+:\s*/,'')[SD(0x811)](/\n.*/s,'');throw new Error(o??'Error\x20during\x20script\x20evaluation');}const C=localizeRemoteValue({'evaluator':this,'value':q['result']});return C instanceof RemoteObjectHandle?await C[SD(0x37a)]():C;}async[x4(0x37a)]({nodeId:T}){const SL=x4,V=await this[SL(0x43e)][SL(0x4b8)][SL(0xe3)]('DOM.resolveNode',{'executionContextId':this[SL(0x6c6)],'backendNodeId':T});return await localizeRemoteValue({'evaluator':this,'value':V[SL(0x52d)]})[SL(0x37a)]();}async[x4(0x35e)](T){const Sj=x4,V=makePort({'evaluator':this,'name':T});return await V[Sj(0xdb)](Sj(0x243)),V;}},EvaluatorLogEvent=class extends Event{[x4(0x54f)];['timestamp'];[x4(0x160)];constructor({type:T,timestamp:V,args:q},C){const SN=x4;super(SN(0x556),C),this[SN(0x54f)]=T,this[SN(0x686)]=V,this[SN(0x160)]=q;}},EvaluatorDestroyedEvent=class extends Event{[x4(0x6c6)];constructor({evaluatorId:T},V){super('destroyed',V),this['evaluatorId']=T;}};function makeRemoteStream(T,V){const SA=x4;let q=typeof V===SA(0x71a)?V:void 0x0;const C=typeof V===SA(0x7de)?V:void 0x0;let o=![],X;async function G(){const SS=SA;if(q)return q;return X??=C()[SS(0x385)](u=>q=u),X;}async function B(){const ST=SA;if(o)return;o=!![];if(!q)return;try{await T['execute'](ST(0x4e0),{'handle':q});}catch{}}return new Readable({'read'(u){const SV=SA;G()[SV(0x385)](c=>T['execute'](SV(0x64e),{'handle':c,'size':Math[SV(0x590)](u,0x40*0x400)}))[SV(0x385)](({data:c,base64Encoded:P,eof:Y})=>{const Sq=SV;if(c[Sq(0x33d)]>0x0)this[Sq(0x132)](P?A[Sq(0xbd)](c,Sq(0x5bb)):A[Sq(0xbd)](c,Sq(0x753)));Y&&(this[Sq(0x132)](null),B());},c=>this['destroy'](c instanceof Error?c:new Error(String(c))));},'destroy'(u,c){const SC=SA;B()[SC(0xf7)](()=>c(u));}});}const BFCACHE_LIMIT=0x6;var StylesheetsManager=class{#current={'sheets':new Map()};#bfcache=new Map();get[x4(0x68e)](){const Sy=x4;return[...this.#current[Sy(0x710)]['values']()];}['add'](T){const So=x4;this.#current[So(0x710)][So(0x866)](T[So(0xf1)],T);}[x4(0x79d)](T){const SX=x4;return this.#current[SX(0x710)][SX(0x66b)](T);}[x4(0x54d)](){const SG=x4;if(this.#current['loaderId']&&this.#current[SG(0x710)][SG(0x357)]>0x0)this.#bfcache[SG(0x866)](this.#current[SG(0x605)],this.#current[SG(0x710)]);this.#current={'sheets':new Map()};}[x4(0x288)](T,V){const SB=x4;if(this.#current[SB(0x605)]===T)return;if(V===SB(0x705)){const q=this.#bfcache['get'](T);if(q){if(this.#current[SB(0x605)]&&this.#current[SB(0x710)]['size']>0x0)this.#bfcache[SB(0x866)](this.#current['loaderId'],this.#current['sheets']);this.#bfcache[SB(0x66b)](T),this.#current={'loaderId':T,'sheets':q},this.#evictBfcache(T);return;}}if(this.#current[SB(0x605)]&&this.#current[SB(0x710)][SB(0x357)]>0x0)this.#bfcache[SB(0x866)](this.#current[SB(0x605)],this.#current['sheets']),this.#current={'loaderId':T,'sheets':new Map()};else this.#current['loaderId']=T;this.#evictBfcache(T);}#evictBfcache(T){const Su=x4;while(this.#bfcache[Su(0x357)]>BFCACHE_LIMIT){let V=![];for(const q of this.#bfcache[Su(0x1e3)]()){if(q===T)continue;this.#bfcache[Su(0x66b)](q),V=!![];break;}if(!V)break;}}},FrameFetchError=class extends Error{[x4(0x236)];constructor(T){const Sc=x4;super(T),this[Sc(0x15f)]=Sc(0x524),this[Sc(0x236)]=T;}};function makeFrame(T){return new Frame(T);}var Frame=class extends EventTargetNode{#target;#node;#defaultEvaluator;#isolatedEvaluator;#response;#controller=new AbortController();#destroyed=![];#watchers={'determined':makeWatcher({'signal':this.#controller[x4(0x829)]}),'defaultEvaluatorAttached':makeWatcher({'signal':this.#controller['signal']}),'navigated':makeWatcher({'signal':this.#controller['signal']}),'loaded':makeWatcher({'signal':this.#controller['signal']}),'networkAlmostIdle':makeWatcher({'signal':this.#controller[x4(0x829)]}),'networkIdle':makeWatcher({'signal':this.#controller[x4(0x829)]}),'stable':makeWatcher({'signal':this.#controller['signal']})};#isAd=![];#navigatedAt=0x0;#stylesheets=new StylesheetsManager();async #getDefaultEvaluator(){const SP=x4;return await this.#watchers[SP(0x112)],this.#defaultEvaluator;}async #getIsolatedEvaluator(){const SY=x4;if(this.#isolatedEvaluator)return this.#isolatedEvaluator;const T=await this.#target[SY(0x4b8)][SY(0xe3)](SY(0x184),{'frameId':this[SY(0x5f4)],'worldName':SY(0x596)+this['frameId']},{'signal':this.#controller[SY(0x829)]});return this.#isolatedEvaluator=makeEvaluator({'frame':this,'evaluatorId':T[SY(0x468)],'type':'isolated','logs':!![]}),log('evaluatorCreated',{'evaluatorId':this.#isolatedEvaluator[SY(0x6c6)],'frameId':this[SY(0x5f4)]}),this.#isolatedEvaluator['once'](SY(0x44e),()=>this.#isolatedEvaluator=void 0x0),this[SY(0x22a)](new FrameEvaluatorAttached(this.#isolatedEvaluator)),this.#isolatedEvaluator;}async #execute(T,V,q,C){const Sn=x4;await this[Sn(0xdb)](Sn(0x121));let o;if(T==='isolated')o=await this.#getIsolatedEvaluator();else o=await this.#getDefaultEvaluator();try{return await o[Sn(0xe3)](V,q,C);}catch(X){if(X instanceof AbortError&&X[Sn(0x48f)])return this.#execute(T,V,q,C);if(!this.#watchers[Sn(0x28e)][Sn(0x1b3)])return await this[Sn(0xdb)](Sn(0x28e)),this.#execute(T,V,q,C);throw X;}}async #evaluate(T,V,q){const Sv=x4;await this[Sv(0xdb)]('determined');let C;if(T===Sv(0xb6))C=await this.#getIsolatedEvaluator();else C=await this.#getDefaultEvaluator();try{return await C[Sv(0x5b9)](V,q);}catch(o){if(o instanceof AbortError&&o[Sv(0x48f)])return this.#evaluate(T,V,q);if(!this.#watchers['loaded'][Sv(0x1b3)])return await this[Sv(0xdb)](Sv(0x28e)),this.#evaluate(T,V,q);throw o;}}async #resolve(T,V){const SI=x4;await this[SI(0xdb)](SI(0x121));let q;if(T===SI(0xb6))q=await this.#getIsolatedEvaluator();else q=await this.#getDefaultEvaluator();try{return await q[SI(0x37a)](V);}catch(C){if(C instanceof AbortError&&C[SI(0x48f)])return this.#resolve(T,V);if(!this.#watchers[SI(0x28e)][SI(0x1b3)])return await this[SI(0xdb)](SI(0x28e)),this.#resolve(T,V);throw C;}}[x4(0x5f4)];['parentFrameId'];get[x4(0x28e)](){const Se=x4;return this.#watchers['loaded'][Se(0x1b3)];}get[x4(0x59e)](){const SM=x4;return this.#watchers[SM(0x59e)][SM(0x1b3)];}get['destroyed'](){return this.#destroyed;}get['target'](){return this.#target;}get[x4(0x7a7)](){return this.#response;}get['isMain'](){const SK=x4;return!this[SK(0x396)];}get[x4(0x76d)](){const Sg=x4;return!this[Sg(0x272)]&&this[Sg(0x5f4)]===this.#target[Sg(0x76e)];}get[x4(0x26a)](){return this.#isAd;}get[x4(0x31e)](){const Sl=x4;if(!this[Sl(0x396)])return null;return this[Sl(0x43e)][Sl(0x263)][Sl(0x458)][Sl(0x316)](this[Sl(0x396)])??null;}get[x4(0x63d)](){return this.#defaultEvaluator;}get[x4(0x380)](){return this.#navigatedAt;}get[x4(0x19f)](){const Sf=x4;return this.#stylesheets[Sf(0x68e)];}[x4(0x29a)](T){const SU=x4;this.#stylesheets[SU(0x840)](T);}[x4(0x845)](T){const SE=x4;return this.#stylesheets[SE(0x79d)](T);}constructor({target:T,frameId:V,parentFrameId:q}){const SZ=x4;super(),this.#target=T,this[SZ(0x5f4)]=V,this[SZ(0x396)]=q,this.#watchers[SZ(0x121)][SZ(0x37a)](),this.#watchers[SZ(0x323)][SZ(0x37a)](),this['on']('evaluatorAttached',({evaluator:C})=>{const SH=SZ;C[SH(0x54f)]==='default'&&(this.#defaultEvaluator=C,this.#watchers['defaultEvaluatorAttached'][SH(0x37a)](),C['on'](SH(0x556),({type:o,args:X})=>{const St=SH;log(St(0x51f),{'frameId':this[St(0x5f4)],'consoleType':o,'args':X});}));}),this['on'](SZ(0x51e),({request:C})=>{const Sm=SZ;if(this.#watchers[Sm(0x323)][Sm(0x1b3)])this['dispatch'](new FrameNavigatingEvent({'url':C[Sm(0x5b7)],'reason':Sm(0x58b)}));}),this['on'](SZ(0x7a7),({response:C})=>this.#response=C),this['on'](SZ(0x5d1),()=>{const SJ=SZ;this.#watchers[SJ(0x323)][SJ(0x394)]({'signal':this.#controller[SJ(0x829)]}),this.#watchers[SJ(0x28e)][SJ(0x394)]({'signal':this.#controller[SJ(0x829)]}),this.#watchers['stable']['reset']({'signal':this.#controller[SJ(0x829)]})['resolve'](void 0x0,{'delay':this.#target[SJ(0x263)][SJ(0x102)]}),this.#watchers['networkAlmostIdle']['reset']({'signal':this.#controller[SJ(0x829)]}),this.#watchers[SJ(0x463)][SJ(0x394)]({'signal':this.#controller[SJ(0x829)]});}),this['on'](SZ(0x323),({url:C,reason:o,loaderId:X})=>{const Ss=SZ;if(!this[Ss(0x272)])this.#isAd=isAdUrl(C);this.#navigatedAt=Date[Ss(0x1df)](),this.#watchers[Ss(0x323)][Ss(0x37a)]();if(o!=='local')this.#stylesheets[Ss(0x288)](X,o);o===Ss(0x262)?(this.#watchers['loaded'][Ss(0x394)]({'signal':this.#controller[Ss(0x829)]}),this.#watchers[Ss(0x59e)]['reset']({'signal':this.#controller['signal']})[Ss(0x37a)](void 0x0,{'delay':this.#target[Ss(0x263)][Ss(0x102)]}),this.#watchers[Ss(0x52c)][Ss(0x394)]({'signal':this.#controller[Ss(0x829)]}),this.#watchers[Ss(0x463)]['reset']({'signal':this.#controller[Ss(0x829)]})):(this.#watchers['loaded'][Ss(0x37a)](),this.#watchers[Ss(0x59e)][Ss(0x37a)](),this.#watchers['networkAlmostIdle'][Ss(0x37a)](),this.#watchers[Ss(0x463)][Ss(0x37a)]());}),this['on'](SZ(0x68b),()=>{const SO=SZ;if(this['isAd'])return;this.#stylesheets[SO(0x54d)](),this.#watchers['loaded'][SO(0x394)]({'signal':this.#controller['signal']}),this.#watchers['stable'][SO(0x394)]({'signal':this.#controller[SO(0x829)]})['resolve'](void 0x0,{'delay':this.#target[SO(0x263)][SO(0x102)]}),this.#watchers[SO(0x52c)][SO(0x394)]({'signal':this.#controller['signal']}),this.#watchers['networkIdle'][SO(0x394)]({'signal':this.#controller[SO(0x829)]});}),this['on']('loaded',()=>{const Sp=SZ;this.#watchers['loaded'][Sp(0x37a)](),this.#watchers['stable'][Sp(0x37a)]();}),this['on'](SZ(0x52c),()=>{const Sh=SZ;this.#watchers[Sh(0x52c)]['resolve'](),this.#watchers[Sh(0x463)][Sh(0x394)]({'signal':this.#controller[Sh(0x829)]});}),this['on']('networkIdle',()=>{const Sk=SZ;this.#watchers[Sk(0x52c)]['resolve'](),this.#watchers[Sk(0x463)]['resolve']();}),this['on'](SZ(0x3e7),()=>{const SF=SZ;log('frameTargetSwapping',{'frameId':this[SF(0x5f4)]}),this.#watchers[SF(0x121)]['reset']({'signal':this.#controller[SF(0x829)]}),this.#defaultEvaluator=void 0x0,this.#isolatedEvaluator=void 0x0;}),this['on'](SZ(0x279),({target:C})=>{const SW=SZ;log(SW(0x546),{'frameId':this['frameId'],'targetId':C[SW(0x76e)]}),this.#target=C,this.#watchers[SW(0x121)][SW(0x37a)](),this.#watchers[SW(0x28e)]['reset']({'signal':this.#controller[SW(0x829)]}),this.#watchers[SW(0x59e)][SW(0x394)]({'signal':this.#controller['signal']})['resolve'](void 0x0,{'delay':this.#target[SW(0x263)][SW(0x102)]}),this.#watchers[SW(0x52c)][SW(0x394)]({'signal':this.#controller[SW(0x829)]}),this.#watchers[SW(0x463)]['reset']({'signal':this.#controller[SW(0x829)]});}),this['on'](SZ(0x44e),()=>{const SQ=SZ;this.#destroyed=!![],this.#controller[SQ(0x7fa)](new AbortError(SQ(0x1cc)+this['frameId']+SQ(0x352)));});}async['isVisible'](){const Sa=x4;if(this[Sa(0x272)])return!![];const T=await this['getOwnerNode']();if(!T)return![];return await T[Sa(0xe3)](isFrameContentVisible);}async['wait'](T,{signal:V}={}){return abortable(this.#watchers[T],V);}async['getOwnerNode'](){const Sz=x4;if(this.#node!==void 0x0)return this.#node;if(!this[Sz(0x31e)])return this.#node=null;const T=await this[Sz(0x31e)]['$$'](Sz(0x4df));for(const V of T)if(await V[Sz(0x233)]()===this)return this.#node=V;throw new Error(Sz(0x835));}async['$'](T){const Sw=x4,V=[T]['flat']();let q=this;for(const C of V['keys']()){const o=V[C],X=await q[Sw(0xe3)](findNodeBySelector,[o]);if(!X)return null;if(C<V['length']-0x1)q=await X[Sw(0x233)]();else return X;}return null;}async['$$'](T){const Si=x4,V=[T]['flat']();let q=[this];for(const C of V['keys']()){const o=V[C],X=await q[Si(0x6d3)](async(G,B)=>{const Sd=Si,u=await B['execute'](findNodesBySelector,[o]),c=await G;return c[Sd(0x132)](...u),c;},Promise[Si(0x37a)]([]));if(X[Si(0x33d)]===0x0)return[];if(C<V['length']-0x1)q=await Promise[Si(0x18c)](X['map'](async G=>G['getContentFrame']()));else return X;}return[];}async[x4(0x7df)](T,V={}){const T0=x4,q=this[T0(0x43e)][T0(0x4b8)],C={'disableCache':V[T0(0x459)]??![],'includeCredentials':V[T0(0x680)]??!![]};let o;try{o=await q[T0(0xe3)](T0(0x214),{'frameId':this[T0(0x5f4)],'url':T,'options':C});}catch(n){throw new FrameFetchError(n instanceof Error?n['message']:String(n));}const {success:X,httpStatusCode:G,headers:B,netErrorName:u,stream:c}=o[T0(0x7bb)];if(!X&&G===void 0x0)throw new FrameFetchError(u??T0(0x58b));const P={};for(const [v,I]of Object[T0(0x80f)](B??{}))P[v['toLowerCase']()]=typeof I===T0(0x71a)?I:String(I);let Y;if(c)try{Y=await buffer(makeRemoteStream(q,c));}catch(e){throw new FrameFetchError(e instanceof Error?e[T0(0x37f)]:String(e));}else Y=A[T0(0x39a)](0x0);return{'request':{'url':T,'method':T0(0x536),'headers':{},'body':()=>Promise[T0(0x37a)](new Uint8Array())},'status':G??0xc8,'headers':P,get 'body'(){const T1=T0;return Readable[T1(0xbd)](Y);},'arrayBuffer':()=>Promise[T0(0x37a)](new Uint8Array(Y)[T0(0x585)]),'base64':()=>Promise[T0(0x37a)](Y[T0(0x1f7)](T0(0x5bb)))};}async[x4(0xe3)](T,V,q){const T2=x4;return this.#execute(T2(0xb6),T,V,q);}async[x4(0x297)](T,V,q){const T3=x4;return this.#execute(T3(0x5e3),T,V,q);}async[x4(0x5b9)](T,V){const T4=x4;return this.#evaluate(T4(0xb6),T,V);}async[x4(0x2de)](T,V){const T5=x4;return this.#evaluate(T5(0x5e3),T,V);}async[x4(0x37a)](T){const T6=x4;return this.#resolve(T6(0xb6),T);}async[x4(0x760)](T){const T7=x4;return this.#resolve(T7(0x5e3),T);}},FrameEvaluatorAttached=class extends Event{[x4(0x454)];constructor(T){const T8=x4;super('evaluatorAttached'),this[T8(0x454)]=T;}},FrameLifecycleEvent=class extends Event{constructor(T){super(T);}},FrameNavigatingEvent=class extends Event{[x4(0x5b7)];[x4(0x2dd)];constructor({url:T,reason:V}){const T9=x4;super('navigating'),this[T9(0x5b7)]=T,this['reason']=V;}},FrameNavigatedEvent=class extends Event{['url'];['reason'];[x4(0x605)];constructor({url:T,reason:V,loaderId:q}){const Tx=x4;super('navigated'),this[Tx(0x5b7)]=T,this[Tx(0x2dd)]=V,this[Tx(0x605)]=q;}},FrameDocumentRequestEvent=class extends Event{[x4(0x51e)];constructor(T){const Tr=x4;super(Tr(0x51e)),this[Tr(0x51e)]=T;}},FrameDocumentResponseEvent=class extends Event{[x4(0x7a7)];constructor(T){const TR=x4;super(TR(0x7a7)),this[TR(0x7a7)]=T;}},FrameSwappingEvent=class extends Event{constructor(){const Tb=x4;super(Tb(0x3e7));}},FrameSwappedEvent=class extends Event{[x4(0x43e)];constructor(T){const TD=x4;super(TD(0x279)),this[TD(0x43e)]=T;}},FrameDestroyedEvent=class extends Event{constructor(){const TL=x4;super(TL(0x44e));}};function makeLoader(T){return new Loader(T);}var Loader=class extends EventTargetNode{#frame;constructor({frame:T}){const Tj=x4;super(),this.#frame=T,this.#frame&&(this['on'](Tj(0x51e),({resource:V,request:q})=>{const TN=Tj;if(V===TN(0x86c))this.#frame['dispatch'](new FrameDocumentRequestEvent(q));}),this['on'](Tj(0x7a7),({resource:V,response:q})=>{const TA=Tj;if(V===TA(0x86c))this.#frame[TA(0x22a)](new FrameDocumentResponseEvent(q));}));}async*[x4(0x465)](){const TS=x4,T=makeWatcher();let V=[];this['on'](TS(0x7a7),({response:q})=>{const TT=TS;V[TT(0x132)](q),T[TT(0x37a)](),T['reset']();});while(!![]){await T,yield*V,V=[];}}},LoaderRequestEvent=class extends Event{[x4(0x7c1)];[x4(0x51e)];[x4(0x7bb)];constructor(T,{requestId:V,resource:q},C){const TV=x4;super(TV(0x51e),C),this[TV(0x7c1)]=V,this[TV(0x7bb)]=q,this[TV(0x51e)]=T;}},LoaderResponseEvent=class extends Event{[x4(0x7c1)];[x4(0x7a7)];[x4(0x7bb)];constructor(T,{requestId:V,resource:q},C){const Tq=x4;super('response',C),this[Tq(0x7c1)]=V,this[Tq(0x7bb)]=q,this[Tq(0x7a7)]=T;}};function makeBlockingDialog(T){return new BlockingDialog(T);}var BlockingDialog=class extends EventTargetNode{#handled=![];[x4(0x43e)];['type'];[x4(0x37f)];constructor({target:T,type:V,message:q}){const TC=x4;super(),this[TC(0x43e)]=T,this['type']=V,this['message']=q;}get[x4(0x558)](){return this.#handled;}async['handle'](T,V){const Ty=x4;log(Ty(0xb8),{'targetId':this['target'][Ty(0x76e)]}),this.#handled=!![],await this['target'][Ty(0x4b8)]['execute'](Ty(0x1d1),{'accept':T,'promptText':V}),this['dispatch'](new DialogHandledEvent());}};function makeFilepickerDialog(T){return new FilepickerDialog(T);}var FilepickerDialog=class extends EventTargetNode{#handled=![];[x4(0x5f5)];[x4(0x22b)];[x4(0x429)];[x4(0x32c)];[x4(0x54f)]=x4(0x67f);constructor({frame:T,element:V,multiple:q,accept:C}){const TX=x4;super(),this[TX(0x5f5)]=T,this['element']=V,this[TX(0x429)]=q,this[TX(0x32c)]=C;}get[x4(0x558)](){return this.#handled;}async['handle'](T){const TG=x4;try{await this[TG(0x22b)]['setValue'](T),this.#handled=!![],this[TG(0x22a)](new DialogHandledEvent());}catch(V){error(TG(0x3e4),{'error':V});}}},DialogHandledEvent=class extends Event{constructor(){const TB=x4;super(TB(0x558));}};function makeDebugger(T){return new Debugger(T);}var Debugger=class extends EventTargetNode{#watchers={'holds':new Set(),'paused':makeWatcher()};#initialize(){const Tu=x4;this[Tu(0x43e)]['connection']['on'](Tu(0x65d),async()=>{const Tc=Tu;log(Tc(0x6bb),{'targetId':this['target'][Tc(0x76e)],'reason':this.#watchers['paused'][Tc(0x1b3)]?Tc(0x1e7):'programmatic'});if(this.#watchers[Tc(0x535)][Tc(0x1b3)])this.#watchers[Tc(0x535)]['reset']({'hint':Tc(0x1e7)});this[Tc(0x22a)](new DebuggerPausedEvent({'reason':this.#watchers['paused'][Tc(0x1d8)]}));}),this[Tu(0x43e)][Tu(0x4b8)]['on'](Tu(0x6fe),async()=>{const TP=Tu;log(TP(0x690),{'targetId':this[TP(0x43e)][TP(0x76e)]}),this.#watchers[TP(0x535)][TP(0x37a)](),this.#watchers[TP(0x634)][TP(0x2d8)](T=>T[TP(0x37a)]()),this.#watchers[TP(0x634)]['clear'](),this[TP(0x22a)](new DebuggerResumedEvent());}),this.#watchers[Tu(0x535)][Tu(0x37a)]();}[x4(0x43e)];get[x4(0x535)](){const TY=x4;return!this.#watchers['paused'][TY(0x1b3)];}constructor({target:T}){const Tn=x4;super(),this[Tn(0x43e)]=T,this['target'][Tn(0xdb)](Tn(0x243))[Tn(0x385)](()=>this.#initialize());}[x4(0x6a0)](){const Tv=x4;if(this.#watchers[Tv(0x535)][Tv(0x1b3)])return()=>void 0x0;const T=makeWatcher();return this.#watchers[Tv(0x634)][Tv(0x840)](T),()=>{const TI=Tv;this.#watchers[TI(0x634)][TI(0x66b)](T),T[TI(0x37a)]();};}async[x4(0x51a)](){const Te=x4;this.#watchers[Te(0x535)][Te(0x394)]({'hint':'programmatic'}),await this[Te(0x43e)][Te(0x4b8)][Te(0xe3)](Te(0x17f)),this[Te(0x43e)][Te(0xec)][Te(0x2de)](Te(0x4c2))[Te(0x225)](()=>null);}async['resume'](){const TM=x4;await Promise['allSettled'](this.#watchers[TM(0x634)]);if(!this.#watchers[TM(0x535)]['settled'])await this[TM(0x43e)]['connection'][TM(0xe3)]('Debugger.resume',{'terminateOnResume':![]});}},DebuggerPausedEvent=class extends Event{[x4(0x2dd)];constructor({reason:T},V){const TK=x4;super(TK(0x535),V),this['reason']=T;}},DebuggerResumedEvent=class extends Event{constructor(T){const Tg=x4;super(Tg(0xff),T);}};const us=buildLayout({'us':{'Escape':{'keyCode':0x1b,'key':'Escape'},'F1':{'keyCode':0x70,'key':'F1'},'F2':{'keyCode':0x71,'key':'F2'},'F3':{'keyCode':0x72,'key':'F3'},'F4':{'keyCode':0x73,'key':'F4'},'F5':{'keyCode':0x74,'key':'F5'},'F6':{'keyCode':0x75,'key':'F6'},'F7':{'keyCode':0x76,'key':'F7'},'F8':{'keyCode':0x77,'key':'F8'},'F9':{'keyCode':0x78,'key':'F9'},'F10':{'keyCode':0x79,'key':'F10'},'F11':{'keyCode':0x7a,'key':x4(0x31c)},'F12':{'keyCode':0x7b,'key':x4(0x73d)},'Backquote':{'keyCode':0xc0,'shiftKey':'~','key':'`'},'Digit1':{'keyCode':0x31,'shiftKey':'!','key':'1'},'Digit2':{'keyCode':0x32,'shiftKey':'@','key':'2'},'Digit3':{'keyCode':0x33,'shiftKey':'#','key':'3'},'Digit4':{'keyCode':0x34,'shiftKey':'$','key':'4'},'Digit5':{'keyCode':0x35,'shiftKey':'%','key':'5'},'Digit6':{'keyCode':0x36,'shiftKey':'^','key':'6'},'Digit7':{'keyCode':0x37,'shiftKey':'&','key':'7'},'Digit8':{'keyCode':0x38,'shiftKey':'*','key':'8'},'Digit9':{'keyCode':0x39,'shiftKey':'(','key':'9'},'Digit0':{'keyCode':0x30,'shiftKey':')','key':'0'},'Minus':{'keyCode':0xbd,'shiftKey':'_','key':'-'},'Equal':{'keyCode':0xbb,'shiftKey':'+','key':'='},'Backslash':{'keyCode':0xdc,'shiftKey':'|','key':'\x5c'},'Backspace':{'keyCode':0x8,'key':x4(0x7c5)},'Tab':{'keyCode':0x9,'key':'Tab'},'KeyQ':{'keyCode':0x51,'shiftKey':'Q','key':'q'},'KeyW':{'keyCode':0x57,'shiftKey':'W','key':'w'},'KeyE':{'keyCode':0x45,'shiftKey':'E','key':'e'},'KeyR':{'keyCode':0x52,'shiftKey':'R','key':'r'},'KeyT':{'keyCode':0x54,'shiftKey':'T','key':'t'},'KeyY':{'keyCode':0x59,'shiftKey':'Y','key':'y'},'KeyU':{'keyCode':0x55,'shiftKey':'U','key':'u'},'KeyI':{'keyCode':0x49,'shiftKey':'I','key':'i'},'KeyO':{'keyCode':0x4f,'shiftKey':'O','key':'o'},'KeyP':{'keyCode':0x50,'shiftKey':'P','key':'p'},'BracketLeft':{'keyCode':0xdb,'shiftKey':'{','key':'['},'BracketRight':{'keyCode':0xdd,'shiftKey':'}','key':']'},'CapsLock':{'keyCode':0x14,'key':x4(0x105)},'KeyA':{'keyCode':0x41,'shiftKey':'A','key':'a'},'KeyS':{'keyCode':0x53,'shiftKey':'S','key':'s'},'KeyD':{'keyCode':0x44,'shiftKey':'D','key':'d'},'KeyF':{'keyCode':0x46,'shiftKey':'F','key':'f'},'KeyG':{'keyCode':0x47,'shiftKey':'G','key':'g'},'KeyH':{'keyCode':0x48,'shiftKey':'H','key':'h'},'KeyJ':{'keyCode':0x4a,'shiftKey':'J','key':'j'},'KeyK':{'keyCode':0x4b,'shiftKey':'K','key':'k'},'KeyL':{'keyCode':0x4c,'shiftKey':'L','key':'l'},'Semicolon':{'keyCode':0xba,'shiftKey':':','key':';'},'Quote':{'keyCode':0xde,'shiftKey':'\x22','key':'\x27'},'Enter':{'keyCode':0xd,'key':x4(0x6b4),'text':'\x0d'},'ShiftLeft':{'keyCode':0xa0,'keyCodeWithoutLocation':0x10,'key':x4(0x5d9),'location':0x1},'KeyZ':{'keyCode':0x5a,'shiftKey':'Z','key':'z'},'KeyX':{'keyCode':0x58,'shiftKey':'X','key':'x'},'KeyC':{'keyCode':0x43,'shiftKey':'C','key':'c'},'KeyV':{'keyCode':0x56,'shiftKey':'V','key':'v'},'KeyB':{'keyCode':0x42,'shiftKey':'B','key':'b'},'KeyN':{'keyCode':0x4e,'shiftKey':'N','key':'n'},'KeyM':{'keyCode':0x4d,'shiftKey':'M','key':'m'},'Comma':{'keyCode':0xbc,'shiftKey':'<','key':','},'Period':{'keyCode':0xbe,'shiftKey':'>','key':'.'},'Slash':{'keyCode':0xbf,'shiftKey':'?','key':'/'},'ShiftRight':{'keyCode':0xa1,'keyCodeWithoutLocation':0x10,'key':'Shift','location':0x2},'ControlLeft':{'keyCode':0xa2,'keyCodeWithoutLocation':0x11,'key':'Control','location':0x1},'MetaLeft':{'keyCode':0x5b,'key':'Meta','location':0x1},'AltLeft':{'keyCode':0xa4,'keyCodeWithoutLocation':0x12,'key':'Alt','location':0x1},'Space':{'keyCode':0x20,'key':'\x20'},'AltRight':{'keyCode':0xa5,'keyCodeWithoutLocation':0x12,'key':x4(0x7ff),'location':0x2},'AltGraph':{'keyCode':0xe1,'key':x4(0x5c4)},'MetaRight':{'keyCode':0x5c,'key':'Meta','location':0x2},'ContextMenu':{'keyCode':0x5d,'key':x4(0x392)},'ControlRight':{'keyCode':0xa3,'keyCodeWithoutLocation':0x11,'key':x4(0x461),'location':0x2},'PrintScreen':{'keyCode':0x2c,'key':x4(0x552)},'ScrollLock':{'keyCode':0x91,'key':x4(0x6b2)},'Pause':{'keyCode':0x13,'key':'Pause'},'PageUp':{'keyCode':0x21,'key':'PageUp'},'PageDown':{'keyCode':0x22,'key':x4(0x796)},'Insert':{'keyCode':0x2d,'key':x4(0x4ec)},'Delete':{'keyCode':0x2e,'key':x4(0x5ae)},'Home':{'keyCode':0x24,'key':x4(0x559)},'End':{'keyCode':0x23,'key':x4(0x75b)},'ArrowLeft':{'keyCode':0x25,'key':x4(0x3b1)},'ArrowUp':{'keyCode':0x26,'key':x4(0x7be)},'ArrowRight':{'keyCode':0x27,'key':x4(0x640)},'ArrowDown':{'keyCode':0x28,'key':x4(0x439)},'NumLock':{'keyCode':0x90,'key':x4(0x7e1)},'NumpadDivide':{'keyCode':0x6f,'key':'/','location':0x3},'NumpadMultiply':{'keyCode':0x6a,'key':'*','location':0x3},'NumpadSubtract':{'keyCode':0x6d,'key':'-','location':0x3},'Numpad7':{'keyCode':0x24,'shiftKeyCode':0x67,'key':x4(0x559),'shiftKey':'7','location':0x3},'Numpad8':{'keyCode':0x26,'shiftKeyCode':0x68,'key':x4(0x7be),'shiftKey':'8','location':0x3},'Numpad9':{'keyCode':0x21,'shiftKeyCode':0x69,'key':x4(0x551),'shiftKey':'9','location':0x3},'Numpad4':{'keyCode':0x25,'shiftKeyCode':0x64,'key':x4(0x3b1),'shiftKey':'4','location':0x3},'Numpad5':{'keyCode':0xc,'shiftKeyCode':0x65,'key':x4(0x32e),'shiftKey':'5','location':0x3},'Numpad6':{'keyCode':0x27,'shiftKeyCode':0x66,'key':'ArrowRight','shiftKey':'6','location':0x3},'NumpadAdd':{'keyCode':0x6b,'key':'+','location':0x3},'Numpad1':{'keyCode':0x23,'shiftKeyCode':0x61,'key':'End','shiftKey':'1','location':0x3},'Numpad2':{'keyCode':0x28,'shiftKeyCode':0x62,'key':x4(0x439),'shiftKey':'2','location':0x3},'Numpad3':{'keyCode':0x22,'shiftKeyCode':0x63,'key':'PageDown','shiftKey':'3','location':0x3},'Numpad0':{'keyCode':0x2d,'shiftKeyCode':0x60,'key':'Insert','shiftKey':'0','location':0x3},'NumpadDecimal':{'keyCode':0x2e,'shiftKeyCode':0x6e,'key':'\x00','shiftKey':'.','location':0x3},'NumpadEnter':{'keyCode':0xd,'key':x4(0x6b4),'text':'\x0d','location':0x3}}}['us']);function buildLayout(T){const Tl=x4,V=new Map();for(const q in T){const C=T[q],o={'name':q,'key':C[Tl(0x7b0)]||'','code':C['keyCodeWithoutLocation']||C[Tl(0x4e2)]||0x0,'text':C['text']??(C[Tl(0x7b0)][Tl(0x33d)]===0x1?C[Tl(0x7b0)]:''),'modifier':[Tl(0x5d9),'Control',Tl(0x7ff),Tl(0xc7)]['includes'](C['key']),'commands':C['commands']};let X;if(C[Tl(0x692)]){X={...o},X[Tl(0x7b0)]=C[Tl(0x692)],X[Tl(0x82c)]=C[Tl(0x692)];if(C[Tl(0x6e9)])X[Tl(0x5e4)]=C[Tl(0x6e9)];}V[Tl(0x866)](q,{...o,'shifted':X});if(o[Tl(0x7b0)]['length']===0x1)V[Tl(0x866)](o[Tl(0x7b0)],o);if(X)V[Tl(0x866)](X['key'],X);}return V;}function makeMouse(T){return new Mouse(T);}var Mouse=class{#target;#position={'x':0x0,'y':0x0};constructor({target:T}){this.#target=T;}get[x4(0x5d4)](){return this.#position;}async['move'](T,{signal:V}){const Tf=x4,q=Array[Tf(0x1ec)](T)?T:[T];for(const C of q){const {x:o,y:X}=C,G=this.#position,B=1.7,u=0x5,c=Math[Tf(0x1ee)](o-G['x'],X-G['y'])/B,P=Math[Tf(0x591)](c/u);for(let Y=0x0;Y<P;Y++){V?.['throwIfAborted']();const n=Y/P,v=lerp(G['x'],o,n),I=lerp(G['y'],X,n);await this.#target['connection'][Tf(0xe3)](Tf(0x703),{'type':Tf(0xd1),'x':v,'y':I},{'signal':V}),await S(u,void 0x0,{'signal':V});}await this.#target[Tf(0x4b8)][Tf(0xe3)](Tf(0x703),{'type':Tf(0xd1),'x':o,'y':X},{'signal':V}),this.#position={'x':o,'y':X};}}async['click']({x:T,y:V},{button:button=x4(0x3cc),times:times=0x1}={}){const TU=x4;await this.#target[TU(0x4b8)][TU(0xe3)](TU(0x703),{'type':TU(0xb5),'x':T,'y':V,'button':button,'clickCount':times}),await this.#target[TU(0x4b8)][TU(0xe3)](TU(0x703),{'type':'mouseReleased','x':T,'y':V,'button':button,'clickCount':times}),this.#position={'x':T,'y':V};}};function makeKeyboard(T){return new Keyboard(T);}var Keyboard=class{#target;#pressed={'modifiers':new Set(),'keys':new Set()};constructor({target:T}){this.#target=T;}async[x4(0x672)](T,{raw:V,commands:q}={}){await this['down'](T,{'raw':V,'commands':q}),await S(0xa),await this['up'](T);}async[x4(0x421)](T,{raw:V,commands:q}={}){const TE=x4;for(const C of Array[TE(0x1ec)](T)?T:[T]){let o=us[TE(0x316)](C);if(!o)throw new Error(TE(0x1ac)+C+'\x22');if(this.#pressed[TE(0x496)]['has'](TE(0x5d9))&&o['shifted'])o=o[TE(0x42c)];V=!o[TE(0x82c)]||V&&o[TE(0x7b0)]!==o[TE(0x82c)],await this.#target['connection'][TE(0xe3)](TE(0x2ce),{'type':V?TE(0x712):TE(0x860),'modifiers':toModifiersMask(this.#pressed[TE(0x496)]),'windowsVirtualKeyCode':o[TE(0x5e4)],'nativeVirtualKeyCode':o[TE(0x5e4)],'code':o[TE(0x15f)],'key':o[TE(0x7b0)],'text':V?'':o[TE(0x82c)],'unmodifiedText':V?'':o[TE(0x82c)],'commands':[...q??[],...o[TE(0x81a)]??[]]});if(o[TE(0x6d8)])this.#pressed[TE(0x496)]['add'](o['key']);else this.#pressed[TE(0x1e3)][TE(0x840)](o['key']);}}async['up'](T){const TZ=x4;for(const V of Array[TZ(0x1ec)](T)?T[TZ(0x301)]():[T]){const q=us[TZ(0x316)](V);if(!q)throw new Error(TZ(0x1ac)+V+'\x22');await this.#target['connection']['execute'](TZ(0x2ce),{'type':TZ(0x293),'modifiers':toModifiersMask(this.#pressed[TZ(0x496)]),'windowsVirtualKeyCode':q[TZ(0x5e4)],'nativeVirtualKeyCode':q[TZ(0x5e4)],'code':q[TZ(0x15f)],'key':q[TZ(0x7b0)]});if(q[TZ(0x6d8)])this.#pressed[TZ(0x496)][TZ(0x66b)](q['key']);else this.#pressed[TZ(0x1e3)]['delete'](q[TZ(0x7b0)]);}}async[x4(0x54f)](T,{signal:V}={}){const TH=x4;for(const q of T){if(us[TH(0x136)](q))await this[TH(0x672)](q);else await this.#target[TH(0x4b8)][TH(0xe3)]('Input.dispatchKeyEvent',{'type':TH(0x148),'text':q});V?.[TH(0x12c)](),await S(0x64);}}async[x4(0x679)](T,{keys:V}={}){const Tt=x4;if(V)await this[Tt(0x672)](V);await this.#target[Tt(0x4b8)][Tt(0xe3)](Tt(0x7c2),{'text':T});}};function toModifiersMask(T){const Tm=x4;let V=0x0;if(T['has']('Alt'))V|=0x1;if(T[Tm(0x136)]('Control'))V|=0x2;if(T[Tm(0x136)](Tm(0xc7)))V|=0x4;if(T['has'](Tm(0x5d9)))V|=0x8;return V;}function lerp(T,V,q){return T*(0x1-q)+V*q;}function makeInjection(T){return new Injection(T);}var Injection=class extends EventTargetNode{#targets=new Set();#evaluators=new Map();#isolated=!![];#deep=!![];#watchers={'injected':makeWatcher()};async #inject(T){const TJ=x4;try{log(TJ(0x1eb),{'name':this['name'],'targetId':T[TJ(0x76e)]}),await T[TJ(0xdb)](TJ(0x243)),this.#targets['add'](T),T['on'](TJ(0x493),()=>this.#targets[TJ(0x66b)](T));for(const V of T[TJ(0x645)]()){if(!this.#isolated&&V['defaultEvaluator'])await this.#attach(V[TJ(0x63d)]);V['on'](TJ(0x16c),async({evaluator:q})=>{const Ts=TJ;if(this.#isolated?q[Ts(0x15f)]===this['name']:q[Ts(0x54f)]===Ts(0x5e3))await this.#attach(q);});}T['on'](TJ(0x178),({frame:q})=>{const TO=TJ;q['on'](TO(0x16c),async({evaluator:C})=>{const Tp=TO;if(this.#isolated?C[Tp(0x15f)]===this[Tp(0x15f)]:C[Tp(0x54f)]===Tp(0x5e3))await this.#attach(C);});}),T['connection']['on'](TJ(0x146),({executionContextId:q,name:C,payload:o})=>{const Th=TJ;if(C===this['binding']){const X=this.#evaluators[Th(0x316)](T['targetId']+':'+q);if(X){const G=JSON[Th(0x462)](o);this[Th(0x22a)](new InjectionIncommingMessageEvent(X,G['name'],G[Th(0x245)]));}}}),await T[TJ(0x4b8)][TJ(0xe3)](TJ(0x4e5),{'name':this['binding'],'executionContextName':this.#isolated?this[TJ(0x15f)]:void 0x0}),await T['connection'][TJ(0xe3)](TJ(0x249),{'source':await makeExpression(this['expression'])[TJ(0x713)](),'worldName':this.#isolated?this[TJ(0x15f)]:void 0x0,'runImmediately':!![]}),this['dispatch'](new InjectionTargetAttachedEvent(T)),this.#deep&&(T['on']('frameTargetCreated',async({target:q})=>this.#inject(q)),await Promise['all'](Array[TJ(0xbd)](T[TJ(0x59a)](),async q=>this.#inject(q))));}catch(q){if(q instanceof AbortError)log(TJ(0x4f6),{'name':this['name'],'targetId':T['targetId'],'error':q});else throw q;}}async #attach(T){const Tk=x4;log(Tk(0x4d5),{'name':this[Tk(0x15f)],'evaluatorId':T[Tk(0x6c6)],'evaluatorName':T[Tk(0x15f)],'frameId':T['frame']?.['frameId']}),this.#evaluators[Tk(0x866)](T[Tk(0x43e)][Tk(0x76e)]+':'+T[Tk(0x6c6)],T),T['on'](Tk(0x44e),({evaluatorId:V})=>this.#evaluators[Tk(0x66b)](T['target']['targetId']+':'+V)),this[Tk(0x22a)](new InjectionEvaluatorAttachedEvent(T));}['name'];[x4(0x6ec)];[x4(0x41f)];constructor({target:T,expression:V,name:q,deep:C,isolated:o}){const TF=x4;super(),q??=V instanceof Expression?V[TF(0x15f)]:q;if(!q)throw new Error(TF(0x595));this[TF(0x41f)]=V,this['name']=q,this[TF(0x6ec)]='__'+q[TF(0x268)]('\x20','_')+'_post_message',this.#deep=C??!![],this.#isolated=o??!![],this['cork'](),this.#inject(T)[TF(0x385)](()=>{const TW=TF;this.#watchers[TW(0x61d)][TW(0x37a)]();})['catch'](X=>{const TQ=TF;this.#watchers[TQ(0x61d)][TQ(0x74d)](X);if(X instanceof AbortError)log(TQ(0x256),{'targetId':T[TQ(0x76e)],'error':X});else error('injectionFailed',{'targetId':T[TQ(0x76e)],'error':X});})[TF(0xf7)](()=>nextTick(()=>this[TF(0x154)]())),this['on']('outgoingMessage',async({name:X,payload:G,filter:B})=>{const Tz=TF;try{await this['execute']((u,c,P)=>{const Ta=D,Y=globalThis,n=Y[Ta(0x3a2)]?.[u];if(n)setTimeout(()=>n['dispatchEvent'](new Y[(Ta(0x5c1))](c,P)),0x0);},[this[Tz(0x15f)],X,G],{'filter':B});}catch(u){error(Tz(0x2fe),{'portName':this['name'],'messageName':X,'error':u});}});}*['targets'](){const Tw=x4;yield*this.#targets[Tw(0x10c)]();}async[x4(0xdb)](T){await this.#watchers[T];}async[x4(0xe3)](T,V,q){const Ti=x4;let C=Array[Ti(0xbd)](this.#evaluators[Ti(0x10c)]());if(q?.[Ti(0x79b)])C=C[Ti(0x79b)](q['filter']);return Promise['all'](C[Ti(0x16a)](o=>o['execute'](T,V,q)));}async['evaluate'](T,V){const Td=x4;let q=Array[Td(0xbd)](this.#evaluators[Td(0x10c)]());if(V?.[Td(0x79b)])q=q[Td(0x79b)](V[Td(0x79b)]);return Promise['all'](q[Td(0x16a)](C=>C[Td(0x5b9)](T,V)));}[x4(0x674)](T,V,q){const V0=x4;this[V0(0x22a)](new InjectionOutgoingMessageEvent(T,V,q));}},InjectionTargetAttachedEvent=class extends Event{[x4(0x43e)];constructor(T){const V1=x4;super(V1(0x16c)),this[V1(0x43e)]=T;}},InjectionEvaluatorAttachedEvent=class extends Event{[x4(0x454)];constructor(T){const V2=x4;super(V2(0x16c)),this['evaluator']=T;}},InjectionOutgoingMessageEvent=class extends Event{[x4(0x15f)];[x4(0x245)];[x4(0x79b)];constructor(T,V,q){const V3=x4;super(V3(0x6bc)),this[V3(0x15f)]=T,this[V3(0x245)]=V,this['filter']=q?.['filter'];}},InjectionIncommingMessageEvent=class extends Event{[x4(0x454)];['name'];['payload'];constructor(T,V,q){const V4=x4;super(V4(0x2b7)),this[V4(0x454)]=T,this[V4(0x15f)]=V,this[V4(0x245)]=q;}};function makeRequestsTracker(){return new RequestsTracker();}var RequestsTracker=class{#requestsWatchers=new Map();#allDoneWatcher=makeWatcher();get[x4(0x2fc)](){const V5=x4;return this.#allDoneWatcher[V5(0x1b3)];}get[Symbol['toStringTag']](){const V6=x4;return V6(0x5cc);}constructor(){const V7=x4;this.#allDoneWatcher[V7(0x37a)]();}async[x4(0xdb)](){await this.#allDoneWatcher;}[x4(0x4aa)](T,V){this.#requestsWatchers['set'](T,V);if(this.#allDoneWatcher['settled'])this.#allDoneWatcher['reset']();V['finally'](()=>{const V8=D;if(this.#requestsWatchers[V8(0x316)](T)===V)this['untrack'](T);});}[x4(0x29b)](T){const V9=x4,V=this.#requestsWatchers['delete'](T);if(V&&this.#requestsWatchers[V9(0x357)]===0x0)this.#allDoneWatcher[V9(0x37a)]();return V;}['resolveBy'](T){const Vx=x4;this.#requestsWatchers[Vx(0x316)](T)?.[Vx(0x37a)]();}[x4(0x194)](T,V){const Vr=x4;this.#requestsWatchers['get'](T)?.[Vr(0x37a)](void 0x0,{'delay':V,'key':'debounce'});}};function makeIntercepted(T){const VR=x4;if(T[VR(0x4ac)]['responseStatusCode']===void 0x0&&T[VR(0x4ac)][VR(0x3ae)]===void 0x0)return makeInterceptedRequest(T);return makeInterceptedResponse(T);}var Intercepted=class{[x4(0x1f4)]=![];[x4(0x43e)];['frame'];[x4(0x7c1)];[x4(0x32a)];[x4(0x7bb)];constructor({target:T,intercepted:V}){const Vb=x4;this[Vb(0x43e)]=T,this[Vb(0x5f5)]=T[Vb(0x263)][Vb(0x458)][Vb(0x316)](V[Vb(0x5f4)]),this[Vb(0x7c1)]=V[Vb(0x7c1)],this[Vb(0x7bb)]=V['resourceType'],this[Vb(0x32a)]=V[Vb(0x2bf)]===void 0x0&&V[Vb(0x3ae)]===void 0x0?Vb(0x51e):Vb(0x7a7);}get[x4(0x558)](){const VD=x4;return this[VD(0x1f4)];}async[x4(0x5f3)]({status:T,headers:V,body:q}){const VL=x4;await this[VL(0x43e)][VL(0x4b8)][VL(0xe3)](VL(0x4bc),{'requestId':this[VL(0x7c1)],'responseCode':T,'responseHeaders':V&&Object[VL(0x80f)](V)[VL(0x16a)](([C,o])=>({'name':C,'value':o})),'body':q&&A[VL(0xbd)](q)['toString'](VL(0x5bb))}),this[VL(0x1f4)]=!![];}};function D(x,r){x=x-0xaa;const b=R();let L=b[x];if(D['fZneYx']===undefined){var j=function(T){const V='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let q='',C='';for(let y=0x0,o,X,G=0x0;X=T['charAt'](G++);~X&&(o=y%0x4?o*0x40+X:X,y++%0x4)?q+=String['fromCharCode'](0xff&o>>(-0x2*y&0x6)):0x0){X=V['indexOf'](X);}for(let B=0x0,u=q['length'];B<u;B++){C+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(C);};D['gGbpSI']=j,D['kMhCZI']={},D['fZneYx']=!![];}const N=b[0x0],A=x+N,S=D['kMhCZI'][A];return!S?(L=D['gGbpSI'](L),D['kMhCZI'][A]=L):L=S,L;}function makeInterceptedRequest(T){return new InterceptedRequest(T);}var InterceptedRequest=class extends Intercepted{#networkId;#body;[x4(0x32a)]=x4(0x51e);[x4(0x5b7)];[x4(0x5b3)];[x4(0x5c5)];constructor({target:T,intercepted:V}){const Vj=x4;super({'target':T,'intercepted':V}),this[Vj(0x5b7)]=V[Vj(0x51e)][Vj(0x5b7)]+(V[Vj(0x51e)][Vj(0x334)]??''),this[Vj(0x5b3)]=V[Vj(0x51e)][Vj(0x5b3)],this[Vj(0x5c5)]=V[Vj(0x51e)]['headers'],this.#networkId=V[Vj(0x123)];if(!V[Vj(0x51e)]['hasPostData'])this.#body=new Uint8Array();else{if(V[Vj(0x51e)][Vj(0x3da)]?.['length'])this.#body=A['concat'](V[Vj(0x51e)][Vj(0x3da)][Vj(0x16a)](q=>A[Vj(0xbd)](q[Vj(0x447)]??'','base64')));}}async[x4(0x68c)]({headers:T,url:V,method:q,body:C,interceptResponse:o}={}){const VN=x4;await this['target'][VN(0x4b8)]['execute']('Fetch.continueRequest',{'requestId':this[VN(0x7c1)],'headers':T&&Object[VN(0x80f)](T)[VN(0x16a)](([X,G])=>({'name':X,'value':G})),'url':V,'method':q,'postData':C!==void 0x0?A[VN(0xbd)](C)[VN(0x1f7)](VN(0x5bb)):void 0x0,'interceptResponse':o}),this['_handled']=!![];}async[x4(0x537)](){const VA=x4;if(this.#body)return this.#body;if(this.#networkId){const {postData:T}=await this['target'][VA(0x4b8)][VA(0xe3)](VA(0x49a),{'requestId':this.#networkId});return new TextEncoder()['encode'](T);}return new Uint8Array();}};function makeInterceptedResponse(T){return new InterceptedResponse(T);}var InterceptedResponse=class extends Intercepted{#consumed=![];[x4(0x32a)]=x4(0x7a7);[x4(0x51e)];[x4(0x729)];[x4(0x5a4)];[x4(0x5c5)];[x4(0x537)];constructor({target:T,intercepted:V}){const VS=x4;if(V[VS(0x2bf)]===void 0x0&&V[VS(0x3ae)]===void 0x0)throw new Error('InterceptedResponse\x20requires\x20a\x20response-stage\x20Fetch\x20event');super({'target':T,'intercepted':V}),this['status']=V[VS(0x2bf)]??-0x1,this[VS(0x5a4)]=V[VS(0x3ae)],this['headers']=Object['fromEntries']((V[VS(0x5ff)]??[])[VS(0x16a)](({name:q,value:C})=>[q,C])),this[VS(0x51e)]=makeInterceptedRequest({'target':T,'intercepted':V}),this[VS(0x537)]=makeRemoteStream(this['target'][VS(0x4b8)],async()=>{const VT=VS;this.#assertNotConsumed(VT(0x537)),this.#consumed=!![];const {stream:q}=await this['target'][VT(0x4b8)][VT(0xe3)](VT(0x3e2),{'requestId':this[VT(0x7c1)]});return q;});}async[x4(0x68c)](){const VV=x4;await this[VV(0x43e)][VV(0x4b8)][VV(0xe3)](VV(0x4ff),{'requestId':this['requestId']}),this[VV(0x1f4)]=!![];}async[x4(0x7e3)](){const Vq=x4;this.#assertNotConsumed(Vq(0x7e3)),this.#consumed=!![];const {body:T,base64Encoded:V}=await this[Vq(0x43e)][Vq(0x4b8)][Vq(0xe3)](Vq(0x648),{'requestId':this[Vq(0x7c1)]}),q=V?A['from'](T,Vq(0x5bb)):A[Vq(0xbd)](T,Vq(0x753));return new Uint8Array(q)[Vq(0x585)];}async[x4(0x5bb)](){const VC=x4;this.#assertNotConsumed(VC(0x5bb)),this.#consumed=!![];const {body:T,base64Encoded:V}=await this['target']['connection']['execute'](VC(0x648),{'requestId':this[VC(0x7c1)]});return V?T:A[VC(0xbd)](T,VC(0x753))[VC(0x1f7)](VC(0x5bb));}#assertNotConsumed(T){if(this.#consumed)throw new BodyConsumedError({'accessor':T});}};function makeInterceptionPatternMatcher(T){const Vy=x4,V=[];if(T['url'])V['push'](q=>T[Vy(0x5b7)][Vy(0x3a7)](q['request']['url']+(q[Vy(0x51e)][Vy(0x334)]??'')));if(T['resource'])V['push'](q=>T[Vy(0x7bb)][Vy(0x241)](q[Vy(0x6a9)]));if(T[Vy(0x32a)])V[Vy(0x132)](q=>T[Vy(0x32a)][Vy(0x241)](q[Vy(0x2bf)]===void 0x0&&q[Vy(0x3ae)]===void 0x0?Vy(0x51e):Vy(0x7a7)));return q=>V['every'](C=>C(q));}function toCDPPattern(T){const Vo=x4,V=T[Vo(0x7bb)]??[void 0x0],q=T[Vo(0x32a)]??['request'],C=[];for(const o of V)for(const X of q)C[Vo(0x132)]({'urlPattern':'*',...o&&{'resourceType':o},'requestStage':X===Vo(0x7a7)?Vo(0x17c):'Request'});return C;}var StylesheetHandle=class{[x4(0xf1)];['frame'];[x4(0x5b7)];[x4(0x687)];[x4(0x411)];constructor({stylesheetId:T,frame:V,url:q,inline:C,constructed:o}){const VX=x4;this[VX(0xf1)]=T,this[VX(0x5f5)]=V,this['url']=q,this[VX(0x687)]=C,this[VX(0x411)]=o;}async[x4(0x82c)](){const VG=x4,{text:T}=await this[VG(0x5f5)][VG(0x43e)][VG(0x4b8)][VG(0xe3)](VG(0xe2),{'styleSheetId':this[VG(0xf1)]});return T;}};function makeTarget(T){return new Target(T);}var Target=class extends EventTargetNode{#connection;#browser;#evaluator;#url;#title;#mode=x4(0x41e);#filepickersHidden=![];#loaders=new Map();#dialog=null;#injections=new Map();#visible=void 0x0;#controller=new AbortController();#watchers={'attached':makeWatcher(),'initialized':makeWatcher(),'navigated':makeWatcher({'hint':x4(0xfb)}),'dialogOpened':makeWatcher(),'windowResolved':makeWatcher()};#window;#requestsTracker=makeRequestsTracker();#requestInterceptors=new Set();#filepickerHandlers=new Set();async #initialize(T){const VB=x4;try{this.#connection=makeConnection({'socket':this.#browser[VB(0x4b8)][VB(0x2f4)],'signal':this.#controller[VB(0x829)],'sessionId':T}),this.#watchers['attached'][VB(0x37a)](),await setImmediate();if(this['mainFrame'])this[VB(0x22a)](new TargetMainFrameReadyEvent(this[VB(0xec)]));this[VB(0x515)]===VB(0x460)&&(this.#handleExistentFrames()[VB(0x225)](V=>{const Vu=VB;error(Vu(0x2d0),{'targetId':this[Vu(0x76e)],'error':V});}),this.#resolveWindow()[VB(0x225)](V=>{const Vc=VB;error(Vc(0x7e2),{'targetId':this['targetId'],'error':V}),this.#watchers[Vc(0x331)][Vc(0x74d)](V);}),this[VB(0x4b8)]['on'](VB(0x6b3),async({backendNodeId:V})=>{const VP=VB;if(this.#mode===VP(0x717))this[VP(0x22a)](new TargetElementSelectedEvent(await this[VP(0x37a)]({'nodeId':V})));}),this['connection']['on'](VB(0x195),({frameId:V,parentFrameId:q})=>{const VY=VB;if(this.#browser[VY(0x458)][VY(0x136)](V)){log(VY(0x178),{'frameId':V,'parentFrameId':q,'reattached':!![]});const C=this.#browser[VY(0x458)][VY(0x316)](V);C[VY(0x22a)](new FrameSwappingEvent()),C[VY(0x22a)](new FrameSwappedEvent(this));}else{log('frameAttached',{'frameId':V,'parentFrameId':q,'reattached':![]});const o=makeFrame({'target':this,'frameId':V,'parentFrameId':q});this.#browser[VY(0x458)]['add'](o),this[VY(0x22a)](new TargetFrameAttachedEvent(o));}}),this[VB(0x4b8)]['on'](VB(0x621),({frameId:V,reason:q})=>{const Vn=VB,C=this.#browser[Vn(0x458)]['get'](V);if(q===Vn(0x79d)){log(Vn(0x3c9),{'frameId':V});if(!C)throw new Error('Frame\x20with\x20id\x20\x22'+V+Vn(0x561));C[Vn(0x22a)](new FrameDestroyedEvent()),this.#browser[Vn(0x458)][Vn(0x66b)](V);}else{if(q===Vn(0x526)){log('frameSwapped',{'frameId':V,'ownTargetFound':!![]});if(!C)throw new Error('Frame\x20with\x20id\x20\x22'+V+Vn(0x575));const o=this.#browser[Vn(0x258)][Vn(0x316)](V);if(!o)return log(Vn(0x5cb),{'frameId':V,'ownTargetFound':![]});C['dispatch'](new FrameSwappedEvent(o));}}}),this[VB(0x4b8)]['on'](VB(0x69a),async({frameId:V,reason:q,url:C})=>{const Vv=VB;log(Vv(0x2fd),{'frameId':V,'url':C,'reason':q});const o=this.#browser[Vv(0x458)]['get'](V);if(!o)throw new Error(Vv(0x1cc)+V+Vv(0x30d));o[Vv(0x22a)](new FrameNavigatingEvent({'url':C,'reason':q}));}),this[VB(0x4b8)]['on'](VB(0x1ea),({frame:{id:V,url:q,loaderId:C},type:o})=>{const VI=VB;log('frameNavigated',{'frameId':V,'url':q,'navigationType':o});const X=this.#browser['frameManager'][VI(0x316)](V);if(!X)throw new Error(VI(0x1cc)+V+'\x22\x20is\x20navigated\x20but\x20the\x20frame\x20wasn\x27t\x20found');this.#browser[VI(0x458)][VI(0x6ef)](V),X[VI(0x22a)](new FrameNavigatedEvent({'url':q,'reason':o===VI(0x2ca)?VI(0x262):VI(0x705),'loaderId':C}));}),this['connection']['on'](VB(0x651),({frameId:V,url:q})=>{const Ve=VB;log(Ve(0x3f7),{'frameId':V,'url':q});const C=this.#browser[Ve(0x458)][Ve(0x316)](V);if(!C)throw new Error(Ve(0x1cc)+V+'\x22\x20is\x20navigated\x20within\x20document\x20but\x20the\x20frame\x20wasn\x27t\x20found');C[Ve(0x22a)](new FrameNavigatedEvent({'url':q,'reason':Ve(0x22c),'loaderId':''}));}),this['connection']['on'](VB(0x119),({frameId:V})=>{const VM=VB;log(VM(0xd5),{'frameId':V});const q=this.#browser['frameManager']['get'](V);if(!q)throw new Error('Frame\x20with\x20id\x20\x22'+V+VM(0x3b4));q[VM(0x22a)](new FrameLifecycleEvent('loading'));}),this[VB(0x4b8)]['on'](VB(0x2ff),({frameId:V})=>{const VK=VB;log(VK(0x617),{'frameId':V});const q=this.#browser['frameManager']['get'](V);if(!q)throw new Error('Frame\x20with\x20id\x20\x22'+V+VK(0x77d));q[VK(0x22a)](new FrameLifecycleEvent('loaded'));}),this['connection']['on']('Page.lifecycleEvent',({frameId:V,name:q})=>{const Vg=VB;log(Vg(0x70b),{'frameId':V,'name':q});const C=this.#browser['frameManager']['get'](V);if(!C)throw new Error('Frame\x20with\x20id\x20\x22'+V+Vg(0x56e));if(q===Vg(0x35b)&&!this.#watchers[Vg(0x243)]['settled'])C[Vg(0x22a)](new FrameLifecycleEvent(Vg(0x28e)));else{if(q==='networkAlmostIdle')C['dispatch'](new FrameLifecycleEvent(Vg(0x52c)));else{if(q===Vg(0x463))C[Vg(0x22a)](new FrameLifecycleEvent(Vg(0x463)));}}}),this[VB(0x4b8)]['on'](VB(0x4c9),({type:V,message:q})=>{const Vl=VB;log('dialogOpened',{'dialogType':V,'message':q}),this.#dialog=makeBlockingDialog({'target':this,'type':V,'message':q}),this.#watchers[Vl(0x790)][Vl(0x37a)](),this[Vl(0x22a)](new TargetDialogEvent(Vl(0x580),this.#dialog));}),this['connection']['on'](VB(0x775),({result:V,userInput:q})=>{const Vf=VB;log('dialogClosed',{}),this.#watchers['dialogOpened'][Vf(0x394)](),this[Vf(0x22a)](new TargetDialogEvent(Vf(0x493),this.#dialog,{'result':V,'value':q})),this.#dialog=null;}),this['connection']['on'](VB(0x521),async({frameId:V,backendNodeId:q,mode:C})=>{const VU=VB;log(VU(0x261),{'frameId':V});const o=this.#browser['frameManager'][VU(0x316)](V);if(!o)throw new Error(VU(0x26f)+V+'\x22\x20but\x20the\x20frame\x20wasn\x27t\x20found');const X=q?await o[VU(0x37a)]({'nodeId':q}):await o[VU(0x297)](()=>globalThis['__mockFilepicker']),G=C===VU(0x436),B=await X?.[VU(0xe3)](u=>u[VU(0x32c)])??'';this.#dialog=makeFilepickerDialog({'frame':o,'element':X,'multiple':G,'accept':B}),this.#dialog[VU(0x3d7)](VU(0x558),()=>this.#dialog=null);if(this.#filepickerHandlers[VU(0x357)]>0x0)for(const u of this.#filepickerHandlers){await u(this.#dialog);if(this.#dialog['handled'])break;}else this.#watchers[VU(0x790)][VU(0x37a)](),this[VU(0x22a)](new TargetFilepickerDialogEvent(this.#dialog));}),this[VB(0x4b8)]['on'](VB(0x2e8),async()=>{const VE=VB;log(VE(0x858),{'targetId':this[VE(0x76e)]}),this[VE(0x22a)](new TargetChildTargetCreatingEvent());}),this[VB(0x4b8)]['on'](VB(0x383),({header:V})=>{const VZ=VB;if(V[VZ(0x339)]===VZ(0x7af)||V[VZ(0x339)]===VZ(0xf8))return;const q=this.#browser[VZ(0x458)][VZ(0x316)](V[VZ(0x5f4)]);if(!q)return;q[VZ(0x29a)](new StylesheetHandle({'stylesheetId':V[VZ(0x187)],'frame':q,'url':V[VZ(0x181)],'inline':V[VZ(0x2db)],'constructed':V[VZ(0x229)]}));}),this[VB(0x4b8)]['on'](VB(0x303),({styleSheetId:V})=>{const VH=VB;for(const q of this[VH(0x645)]())if(q[VH(0x845)](V))break;})),this['connection']['on'](VB(0x6e0),async({sessionId:V,targetInfo:q})=>{const Vt=VB;log(Vt(0x610),{'targetId':q[Vt(0x76e)],'targetType':q[Vt(0x54f)],'parentTargetId':this[Vt(0x76e)],'sessionId':V});if(q[Vt(0x54f)]===Vt(0x73f)){await makeConnection({'socket':this.#browser[Vt(0x4b8)][Vt(0x2f4)],'sessionId':V})[Vt(0xe3)]('Runtime.runIfWaitingForDebugger')[Vt(0x225)](C=>{const Vm=Vt;error(Vm(0x773),{'targetId':q[Vm(0x76e)],'error':C});});return;}this.#browser[Vt(0x258)]['get'](q['targetId'])?.[Vt(0x22a)](new TargetAttachedEvent(V));}),this['connection']['on']('Runtime.executionContextCreated',({context:V})=>{const VJ=VB;if(V[VJ(0x1f5)]?.['frameId']){log(VJ(0x31b),{'contextId':V['id'],'contextName':V[VJ(0x15f)],'frameId':V['auxData'][VJ(0x5f4)]});const q=this['browser'][VJ(0x458)]['get'](V[VJ(0x1f5)][VJ(0x5f4)]);if(!q)throw new Error('Execution\x20context\x20with\x20id\x20\x22'+V['id']+VJ(0x25f)+V[VJ(0x15f)]+VJ(0x1db)+V[VJ(0x1f5)][VJ(0x5f4)]+VJ(0x660));const C=makeEvaluator({'frame':q,'name':V[VJ(0x15f)],'evaluatorId':V['id'],'type':V[VJ(0x1f5)][VJ(0x54f)]});q[VJ(0x22a)](new FrameEvaluatorAttached(C));}else log('executionContextCreated',{'contextId':V['id'],'targetId':this[VJ(0x76e)]}),this.#evaluator=makeEvaluator({'target':this,'name':V[VJ(0x15f)],'evaluatorId':V['id'],'type':VJ(0x5e3)});}),this[VB(0x4b8)]['on'](VB(0x58c),({loaderId:V,frameId:q,requestId:C,type:o,request:X,hasUserGesture:G})=>{const Vs=VB;if(o==='Document')log(Vs(0x2d6),{'frameId':q,'url':X[Vs(0x5b7)],'kind':'navigation','resourceType':o});else{if(X[Vs(0x5b7)][Vs(0x27e)](Vs(0x83f)))log(Vs(0x2d6),{'frameId':q,'url':X[Vs(0x5b7)],'kind':Vs(0x7a9),'resourceType':o});else{if(G){const u=!isNonBlockingRequest(o,X[Vs(0x5b7)]);log(Vs(0x2d6),{'targetId':this['targetId'],'url':X[Vs(0x5b7)],'kind':Vs(0x2b4),'resourceType':o,'tracked':u});if(u)this.#requestsTracker[Vs(0x4aa)](C,makeWatcher()[Vs(0x37a)](void 0x0,{'delay':0x9c40}));}else{if(q){const c=this.#browser[Vs(0x458)][Vs(0x316)](q);if(c&&Date[Vs(0x1df)]()-c[Vs(0x380)]<0xbb8){const P=!isNonBlockingRequest(o,X[Vs(0x5b7)]);log('requestSent',{'frameId':q,'url':X[Vs(0x5b7)],'kind':'frameSubresource','resourceType':o,'tracked':P});if(P)this.#requestsTracker[Vs(0x4aa)](C,makeWatcher()['resolve'](void 0x0,{'delay':0x2710}));}}}}}let B=this.#loaders[Vs(0x316)](V);if(!B){if(q){const Y=this.#browser[Vs(0x458)][Vs(0x316)](q);if(!Y)throw new Error(Vs(0x1cc)+q+'\x22\x20received\x20a\x20response\x20but\x20the\x20frame\x20wasn\x27t\x20found');B=makeLoader({'loaderId':V,'frame':Y});}else B=makeLoader({'loaderId':V});this.#loaders[Vs(0x866)](V,B);}B[Vs(0x22a)](new LoaderRequestEvent(X,{'requestId':C,'resource':o??Vs(0xc2)}));}),this['connection']['on'](VB(0x48d),({loaderId:V,frameId:q,requestId:C,type:o,response:X})=>{const VO=VB;let G=this.#loaders[VO(0x316)](V);if(!G){if(q){const c=this.#browser[VO(0x458)][VO(0x316)](q);if(!c)throw new Error('Frame\x20with\x20id\x20\x22'+q+VO(0x1bc));G=makeLoader({'loaderId':V,'frame':c});}else G=makeLoader({'loaderId':V});this.#loaders[VO(0x866)](V,G);}G[VO(0x22a)](new LoaderResponseEvent(X,{'requestId':C,'resource':o}));const B=[/^text\/event-stream$/,/^application\/octet-stream$/,/video\/*/],u=X[VO(0x5c5)][VO(0x848)]||'';if(B['some'](P=>P[VO(0x3a7)](u)))this.#requestsTracker[VO(0x84c)](C);else this.#requestsTracker[VO(0x194)](C,0xbb8);}),this[VB(0x4b8)]['on'](VB(0x7fb),({requestId:V})=>{const Vp=VB;this.#requestsTracker[Vp(0x194)](V,0xbb8);}),this[VB(0x4b8)]['on'](VB(0x20b),({requestId:V})=>{const Vh=VB;this.#requestsTracker[Vh(0x84c)](V);}),this[VB(0x4b8)]['on']('Network.loadingFailed',({requestId:V})=>{const Vk=VB;this.#requestsTracker[Vk(0x84c)](V);}),this['connection']['on'](VB(0x381),async V=>{const VF=VB,q=makeIntercepted({'target':this,'intercepted':V});for(const {matchers:C,handler:o}of this.#requestInterceptors){if(!C[VF(0x654)](X=>X(V)))continue;await o(q);if(q[VF(0x558)])return;}await q[VF(0x68c)]();}),await Promise['all']([this[VB(0x515)]===VB(0x460)&&this[VB(0x4b8)][VB(0xe3)](VB(0x82b),{'enableFileChooserOpenedEvent':!![]}),this[VB(0x515)]===VB(0x460)&&this[VB(0x4b8)]['execute'](VB(0x801),{'enabled':!![]}),this[VB(0x4b8)]['execute'](VB(0x19d)),this['connection']['execute'](VB(0x6f1)),this[VB(0x515)]===VB(0x460)&&this[VB(0x4b8)][VB(0xe3)](VB(0x10e)),this[VB(0x515)]==='renderer'&&this['connection']['execute'](VB(0x191)),this[VB(0x515)]===VB(0x460)&&this[VB(0x4b8)]['execute'](VB(0x320)),this[VB(0x515)]===VB(0x460)&&this[VB(0x4b8)]['execute'](VB(0x685),{'autoAttach':!![],'flatten':!![],'filter':[{'type':VB(0x5ca)},{'type':VB(0x4df)},{'type':'worker'}],'waitForDebuggerOnStart':!![]}),this[VB(0x4b8)][VB(0xe3)](VB(0x727))]);}catch(V){if(V instanceof AbortError)log(VB(0x5f7),{'targetId':this[VB(0x76e)],'error':V});else throw V;}this.#watchers[VB(0x243)][VB(0x37a)]();if(!this.#browser[VB(0x862)]&&this['kind']==='renderer'&&this[VB(0x54f)]!==VB(0x4df))this.#trackVisibility()[VB(0x225)](q=>{const VW=VB;error(VW(0x48a),{'targetId':this[VW(0x76e)],'error':q});});this.#mockProgrammaticFilepickers()['catch'](q=>{const VQ=VB;error(VQ(0x1fd),{'targetId':this['targetId'],'error':q});});if(this[VB(0x515)]===VB(0x460))this['hideFilepickers'](this.#browser[VB(0x1cb)]);}async #resolveWindow(){const Va=x4,{windowId:T}=await this.#browser[Va(0x4b8)][Va(0xe3)](Va(0x46b),{'targetId':this[Va(0x76e)]});this.#window=this.#browser[Va(0x2b9)]['getOrCreate']({'windowId':T,'browser':this.#browser}),this.#window[Va(0x22a)](new WindowTargetAttachedEvent(this)),this.#watchers[Va(0x331)][Va(0x37a)]();}async #handleExistentFrames(){const Vz=x4,{frameTree:T}=await this[Vz(0x4b8)]['execute'](Vz(0x2ba)),V=[T];for(let q=0x0;q<V[Vz(0x33d)];++q){const C=V[q];if(!this.#browser['frameManager']['has'](C[Vz(0x5f5)]['id'])){const o=makeFrame({'target':this,'frameId':C[Vz(0x5f5)]['id'],'parentFrameId':C[Vz(0x5f5)][Vz(0x723)]??null});this.#browser[Vz(0x458)][Vz(0x840)](o),this['dispatch'](new TargetFrameAttachedEvent(o));if(o[Vz(0x5f4)]===this[Vz(0x76e)])this[Vz(0x22a)](new TargetMainFrameReadyEvent(this['mainFrame']));}if(C[Vz(0x448)])V[Vz(0x132)](...C[Vz(0x448)]);}}async #trackVisibility(){const Vw=x4,T=await this[Vw(0x531)](visibilityTracker,{'name':Vw(0x2a4),'deep':![]});this.#visible=![],T['on'](Vw(0x2b7),({name:V,payload:q})=>{const Vi=Vw;if(V===Vi(0x1b7)){log(Vi(0x5dc),{'targetId':this[Vi(0x76e)],'visibility':q});const C=q===Vi(0x5c2);this.#visible!==C&&(this.#visible=C,this[Vi(0x22a)](new TargetVisibilityChangeEvent(q)));}}),this['on'](Vw(0x3cd),async()=>T[Vw(0x674)](Vw(0x3cd),void 0x0));}async #mockProgrammaticFilepickers(){await this['inject'](filepickerMocker,{'name':'filepicker_mocker','isolated':![]});}[x4(0x76e)];[x4(0x54f)];['kind'];['createdAt']=Date[x4(0x1df)]();['parent'];['debugger']=makeDebugger({'target':this});[x4(0x569)]=makeMouse({'target':this});['keyboard']=makeKeyboard({'target':this});get['initialized'](){const Vd=x4;return this.#watchers[Vd(0x243)][Vd(0x1b3)];}get[x4(0x3fb)](){return!!this.#connection;}get[x4(0x323)](){const q0=x4;return this.#watchers[q0(0x243)][q0(0x1b3)]&&this.#watchers['navigated']['settled'];}get[x4(0x59e)](){const q1=x4;return this.#watchers[q1(0x243)][q1(0x1b3)]&&this.#watchers[q1(0x323)][q1(0x1b3)]&&(this[q1(0xec)][q1(0x59e)]||this.#watchers[q1(0x790)][q1(0x1b3)]);}get[x4(0x586)](){const q2=x4;return this.#requestsTracker[q2(0x2fc)];}get[x4(0x562)](){const q3=x4,T=this['mainFrame'][q3(0x7a7)]?.['headers']??{};return!!(Object[q3(0x80f)](T)[q3(0x2f2)](([V])=>V[q3(0x655)]()===q3(0x330))?.[0x1])?.[q3(0x27e)](q3(0x7d5));}get['visible'](){return this.#visible;}get[x4(0x378)](){return this.#mode;}get['title'](){return this.#title;}get['url'](){return this.#url;}get[x4(0x4b8)](){return this.#connection;}get[x4(0x263)](){return this.#browser;}get[x4(0x1dc)](){return this.#window;}get['popup'](){const q4=x4;return!!this[q4(0x31e)]&&this[q4(0x1dc)]!==this[q4(0x31e)][q4(0x1dc)];}get[x4(0xec)](){const q5=x4;return this.#browser['frameManager'][q5(0x316)](this[q5(0x76e)]);}get['dialog'](){return this.#dialog;}get[x4(0x391)](){const q6=x4;return Object['fromEntries'](this.#injections[q6(0x80f)]());}constructor({browser:T,parent:V,targetId:q,type:C,url:o,title:X}){const q7=x4;super(),this.#browser=T,this.#url=o,this.#title=X,this[q7(0x31e)]=V,this['targetId']=q,this['type']=C,this[q7(0x515)]=C===q7(0x5ca)||C===q7(0x4df)||C==='other'&&o[q7(0x27e)]('devtools:')?q7(0x460):q7(0x73f);if(this[q7(0x54f)]===q7(0x5ca)){const G=makeFrame({'target':this,'frameId':this[q7(0x76e)],'parentFrameId':null});this.#browser[q7(0x458)][q7(0x840)](G);}else{if(this[q7(0x54f)]===q7(0x4df)){const B=this.#browser['frameManager'][q7(0x316)](this[q7(0x76e)]);if(B){const u=B[q7(0x43e)];B['dispatch'](new FrameSwappingEvent()),this['on']('detached',()=>B[q7(0x22a)](new FrameSwappedEvent(u)));}}}if(this.#browser[q7(0x862)])this.#visible=!![];this['on'](q7(0x3fb),({sessionId:c})=>{this.#initialize(c);}),this['on'](q7(0x42a),({url:c,title:P})=>{this.#url=c,this.#title=P;}),this['on'](q7(0x493),()=>{const q8=q7;this.#controller[q8(0x7fa)](new AbortError(q8(0x7a5)+this[q8(0x76e)]+q8(0x419)+this[q8(0x54f)]+'\x22\x20is\x20closed\x20in\x20the\x20middle\x20of\x20operation'));if(this.#window)this.#window['dispatch'](new WindowTargetDetachedEvent(this));}),this['on'](q7(0x790),()=>{const q9=q7;this[q9(0x4b8)][q9(0x518)](new FlushError(q9(0x7a5)+this[q9(0x76e)]+q9(0x419)+this['type']+'\x22\x20is\x20blocked\x20due\x20to\x20dialog\x20opening'));}),this['on'](q7(0x3f5),()=>{const qx=q7;this[qx(0xec)]['on'](qx(0x5d1),({reason:c})=>{const qr=qx;this.#watchers[qr(0x323)][qr(0x394)]({'hint':c===qr(0x58b)?qr(0xfb):'page'});}),this[qx(0xec)]['on'](qx(0x323),({url:c,reason:P})=>{const qR=qx;this.#watchers[qR(0x323)]['resolve']();const Y=this.#url;this.#url=c;if(P===qR(0x22c))this['dispatch'](new TargetNavigatedEvent({'from':Y,'to':c,'reason':qR(0x5ca)}));else{if(c!==qR(0x852))this[qR(0x22a)](new TargetNavigatedEvent({'from':Y,'to':c,'reason':this.#watchers[qR(0x323)][qR(0x1d8)]}));}}),this['mainFrame']['on']('loading',()=>{}),this[qx(0xec)]['on'](qx(0x28e),()=>{const qb=qx;this.#watchers[qb(0x323)][qb(0x37a)]();});}),this['on'](q7(0x125),({target:c})=>{const qD=q7;c['on'](qD(0x1b5),({dialog:P})=>this[qD(0x22a)](new TargetFilepickerDialogEvent(P)));});}*[x4(0x645)](){const qL=x4;if(this.#controller['signal']['aborted'])return;yield*this.#browser[qL(0x458)][qL(0x77e)](this['targetId']);}*[x4(0x59a)](){const qj=x4;yield*this[qj(0x645)]()[qj(0x79b)](T=>T['frameId']!==this['targetId']&&T['isOutOfProcess'])[qj(0x16a)](T=>T[qj(0x43e)]);}async[x4(0xdb)](T,{signal:V}={}){const qN=x4;if(T===qN(0x59e))await abortable(this.#watchers[qN(0x243)],V),this[qN(0x515)]===qN(0x460)&&(await abortable(this.#watchers[qN(0x323)],V),await abortable(Promise[qN(0x784)]([this[qN(0xec)][qN(0xdb)](qN(0x59e)),this.#watchers['dialogOpened']]),V));else{if(T==='pendingRequests')await abortable(this.#requestsTracker[qN(0xdb)](),V);else await abortable(this.#watchers[T],V);}}async[x4(0x75e)](){const qA=x4;if(this['type']!==qA(0x5ca))throw new Error('Only\x20page\x20target\x20could\x20be\x20activated');this['dispatch'](new TargetActivatingEvent()),await this[qA(0x4b8)][qA(0xe3)]('Page.bringToFront');if(this.#browser[qA(0x862)])this['dispatch'](new TargetActivatedEvent({'reason':qA(0x491)}));}async[x4(0x216)]({viewport:T,scale:scale=0x1,mobile:mobile=![]}){const qS=x4;return this[qS(0x4b8)][qS(0xe3)]('Emulation.setDeviceMetricsOverride',{...T,'deviceScaleFactor':scale,'mobile':mobile});}async[x4(0x650)](){const qT=x4;if(this[qT(0x515)]!==qT(0x460))throw new Error(qT(0x427));const {offsetX:T,offsetY:V}=await this['mainFrame'][qT(0xe3)](()=>{const qV=qT;return{'offsetX':innerWidth-Math[qV(0x370)](visualViewport[qV(0x21d)]),'offsetY':innerHeight-Math['round'](visualViewport[qV(0x2b5)])};}),{cssVisualViewport:q}=await this[qT(0x4b8)][qT(0xe3)](qT(0x56d)),{clientWidth:C,clientHeight:o,scale:scale=0x1,zoom:zoom=0x1}=q;return{'width':Math[qT(0x370)]((C+T)*zoom*scale),'height':Math['round']((o+V)*zoom*scale)};}async[x4(0x4f1)](T){const qq=x4;if(this[qq(0x515)]!==qq(0x460))throw new Error(qq(0x104));return await this['connection'][qq(0xe3)]('Emulation.setVisibleSize',await this['getViewportSize']()),(await this[qq(0x4b8)][qq(0xe3)](qq(0x3c3),T??{'format':qq(0x375)}))[qq(0x51c)];}async['execute'](T,V,q){const qC=x4;await this[qC(0xdb)](qC(0x59e));if(this[qC(0x515)]==='renderer')throw new Error(qC(0x864));return this.#evaluator['execute'](T,V,q);}async[x4(0x5b9)](T,V){const qy=x4;if(this['kind']==='renderer')throw new Error(qy(0x2fb));return await this[qy(0xdb)]('stable'),this.#evaluator['evaluate'](T,V);}async['resolve'](T){const qo=x4;if(this[qo(0x515)]!==qo(0x460))throw new Error('Can\x27t\x20resolve\x20node\x20with\x20a\x20non-renderer\x20target');for(const V of this[qo(0x645)]()){const q=await V[qo(0x37a)](T);if(q)return q;}throw new Error('Cannot\x20resolve\x20node\x20by\x20backend\x20id\x20\x22'+T[qo(0x176)]+'\x22\x20in\x20target\x20with\x20id\x20\x22'+this['targetId']+'\x22');}async[x4(0x539)](T,{ignorePointerEventsNone:ignorePointerEventsNone=!![]}={}){const qX=x4;if(this['kind']!==qX(0x460))throw new Error('Can\x27t\x20resolve\x20node\x20with\x20a\x20non-renderer\x20target');try{const {frameId:V,...q}=await this['connection'][qX(0xe3)]('DOM.getNodeForLocation',{'x':Math[qX(0x370)](T['x']),'y':Math['round'](T['y']),'ignorePointerEventsNone':ignorePointerEventsNone,'includeUserAgentShadowDOM':![]}),C=this['browser']['frameManager'][qX(0x316)](V);if(!C)throw new Error(qX(0x1cc)+V+qX(0x62e));return await C[qX(0x37a)]({'nodeId':q['backendNodeId']});}catch(o){return error('nodeResolutionFailed',{'error':o}),null;}}async[x4(0x35e)](T){const qG=x4;if(this[qG(0x515)]===qG(0x460))throw new Error(qG(0x800));return this.#evaluator[qG(0x35e)](T);}async['filepicker'](T){const qB=x4,V=[];try{this.#filepickerHandlers[qB(0x357)]===0x0&&(await this[qB(0xdb)](qB(0x243)),await this[qB(0x689)](!![])),this.#filepickerHandlers[qB(0x840)](T),this.#controller['signal'][qB(0x12c)](),V[qB(0x132)](this['on'](qB(0x125),async({target:q})=>V[qB(0x132)](await q[qB(0x67f)](T)))),V[qB(0x132)](...await Promise['all'](Array['from'](this[qB(0x59a)](),q=>q[qB(0x67f)](T))));}catch(q){if(q instanceof AbortError)log(qB(0x3f4),{'targetId':this[qB(0x76e)],'error':q});else throw q;}return()=>{const qu=qB;this.#filepickerHandlers[qu(0x66b)](T),V[qu(0x2d8)](C=>C());if(this.#filepickerHandlers[qu(0x357)]===0x0)this['hideFilepickers'](![]);};}async[x4(0x172)](T,V){const qc=x4,q=V??T,C=V?Array[qc(0x1ec)](T)?T:[T]:[{'stage':[qc(0x51e)]}],o={'matchers':C[qc(0x16a)](G=>makeInterceptionPatternMatcher(G)),'patterns':C[qc(0x1ff)](G=>toCDPPattern(G)),'handler':q},X=[];try{this.#requestInterceptors[qc(0x840)](o),await this[qc(0xdb)]('attached'),this['connection'][qc(0x674)](qc(0x252),{'patterns':Array[qc(0xbd)](this.#requestInterceptors)[qc(0x1ff)](({patterns:G})=>G)}),this.#controller[qc(0x829)]['throwIfAborted'](),await this[qc(0xdb)](qc(0x243)),X['push'](this['on']('frameTargetCreated',async({target:G})=>X[qc(0x132)](await G[qc(0x172)](C,q)))),X['push'](...await Promise[qc(0x18c)](Array[qc(0xbd)](this['targets'](),G=>G[qc(0x172)](C,q))));}catch(G){if(G instanceof AbortError)log(qc(0x7f7),{'targetId':this[qc(0x76e)],'error':G});else throw G;}return()=>{const qP=qc;this.#requestInterceptors[qP(0x66b)](o),X[qP(0x2d8)](B=>B());if(this.#requestInterceptors[qP(0x357)]===0x0)this[qP(0x4b8)][qP(0x674)]('Fetch.disable');else this[qP(0x4b8)][qP(0x674)](qP(0x252),{'patterns':Array[qP(0xbd)](this.#requestInterceptors)['flatMap'](({patterns:B})=>B)});};}async[x4(0x190)](T){const qY=x4;if(this['kind']!==qY(0x460))throw new Error(qY(0x771));const {currentIndex:V,entries:q}=await this[qY(0x4b8)]['execute'](qY(0xc5)),C=q[V+T];if(!C)throw new NoHistoryEntryError({'offset':T});this[qY(0xec)][qY(0x22a)](new FrameNavigatingEvent({'url':C['url'],'reason':qY(0x491)})),this.#watchers[qY(0x323)][qY(0x394)]({'hint':qY(0x491)}),await this[qY(0x4b8)]['execute']('Page.navigateToHistoryEntry',{'entryId':C['id']});}async[x4(0xf2)](T,{timeout:V}={}){const qn=x4;if(this[qn(0x515)]!=='renderer')throw new Error(qn(0x771));if(!this.#watchers[qn(0x323)][qn(0x1b3)])await Promise[qn(0x73b)]([this.#watchers[qn(0x323)]]);this[qn(0xec)][qn(0x22a)](new FrameNavigatingEvent({'url':T,'reason':qn(0x491)})),this.#watchers['navigated']['reset']({'hint':'programmatic'});if(V)this.#watchers[qn(0x323)][qn(0x74d)](new NavigationTimedOutError({'url':T,'timeout':V}),{'delay':V});const q=new AbortController();this.#watchers[qn(0x323)][qn(0x225)](o=>q['abort'](o));const {errorText:C}=await this[qn(0x4b8)]['execute'](qn(0xad),{'url':T},{'signal':q[qn(0x829)]});if(C){if(C===qn(0x2f5))this.#watchers[qn(0x323)][qn(0x37a)]();else{if(C===qn(0x5d0)&&[0xcc,0xcd][qn(0x241)](this[qn(0xec)][qn(0x7a7)]['status']))this.#watchers[qn(0x323)][qn(0x37a)]();else this.#watchers[qn(0x323)]['reject'](new NavigationFailedError({'url':T,'reason':C}));}}return await this.#watchers['navigated'],{'url':T,'status':this[qn(0xec)]['response'][qn(0x729)],'headers':this[qn(0xec)][qn(0x7a7)][qn(0x5c5)]};}async[x4(0xcd)]({hard:T}={}){const qv=x4;if(this[qv(0x515)]!=='renderer')throw new Error(qv(0x771));if(T)await this.#browser['clearCookies']();this[qv(0xec)]['dispatch'](new FrameNavigatingEvent({'url':this['url'],'reason':qv(0x491)})),this.#watchers[qv(0x323)]['reset']({'hint':qv(0x491)}),await this[qv(0x4b8)][qv(0xe3)]('Page.reload',{'ignoreCache':T}),await this.#watchers['navigated'],await Promise[qv(0x784)]([this[qv(0xdb)]('dialogOpened'),this['mainFrame'][qv(0xdb)]('networkAlmostIdle')]);}async[x4(0x39f)](){const qI=x4;if(this[qI(0x515)]!=='renderer')throw new Error(qI(0x771));await this[qI(0x4b8)]['execute'](qI(0x420))[qI(0x225)](()=>null);}async['devtools'](T){const qe=x4,{targetId:V}=await this.#browser[qe(0x4b8)]['execute'](qe(0x274),{'targetId':this[qe(0x76e)]});await this.#browser[qe(0xdb)](qe(0x726));const q=this.#browser[qe(0x258)][qe(0x316)](V);if(T?.[qe(0x73c)]){await q[qe(0xdb)](qe(0x59e));const C=AbortSignal[qe(0x4c8)](0x1388);let o;while(!C[qe(0x12d)]){o=await q['mainFrame']['$'](qe(0xe7)+T[qe(0x73c)]+qe(0x393));if(o){await o[qe(0x284)]();break;}}}return q;}async[x4(0x41b)](T,V){const qM=x4;if(T){const q={'x':Math[qM(0x370)](T['x']),'y':Math[qM(0x370)](T['y']),'width':Math[qM(0x370)](T[qM(0x21d)]),'height':Math[qM(0x370)](T[qM(0x2b5)]),'color':V?.[qM(0x81d)]??{'r':0x6f,'g':0xa8,'b':0xdc,'a':0.66},'outlineColor':V?.[qM(0x722)]};if(V?.[qM(0x451)]){const C=0x5;for(let o=0x0;o<C;o++){await this['connection'][qM(0xe3)](qM(0x696),q),await sleep(0xfa),await this['connection'][qM(0xe3)](qM(0x6a7)),await sleep(0x96);}}else await this['connection'][qM(0xe3)](qM(0x696),q);}else await this[qM(0x4b8)][qM(0xe3)](qM(0x6a7));}async[x4(0x15b)](T=!![]){const qK=x4;if(this[qK(0x515)]!=='renderer')throw new Error(qK(0x770));await this['connection'][qK(0xe3)](qK(0x418),{'enabled':T});}async['getCookies'](){const qg=x4,{cookies:T}=await this[qg(0x4b8)]['execute']('Network.getCookies');return T[qg(0x6d3)]((V,{name:q,value:C})=>V[qg(0x866)](q,C),new Map());}async[x4(0x4d8)](T){const ql=x4;await this[ql(0x4b8)][ql(0xe3)]('Network.setCookies',{'cookies':T});}async[x4(0x531)](T,{name:V,deep:q,isolated:C}={}){const qf=x4;if(this[qf(0x515)]!==qf(0x460))throw new Error(qf(0x4a4));const o=makeInjection({'target':this,'expression':T,'name':V,'deep':q,'isolated':C});return await o[qf(0xdb)](qf(0x61d)),this.#injections[qf(0x866)](o['name'],o),o;}async['changeMode'](T,V){const qU=x4;if(this[qU(0x515)]!==qU(0x460))throw new Error(qU(0x40f));await this['wait']('initialized');if(T==='element\x20selection'){const q=V?.[qU(0x81d)]?{'contentColor':V[qU(0x81d)],'paddingColor':V[qU(0x81d)],'borderColor':V[qU(0x81d)],'shapeColor':V['color']}:{};await this[qU(0x4b8)]['execute'](qU(0x75f),{'mode':'searchForNode','highlightConfig':q}),this['on'](qU(0x125),({target:C})=>{const qE=qU;C['on'](qE(0x127),({element:o})=>this[qE(0x22a)](new TargetElementSelectedEvent(o)),{'key':qE(0x508)}),C[qE(0x662)](T,V);},{'key':qU(0x508)}),await Promise[qU(0x18c)](Array[qU(0xbd)](this[qU(0x59a)](),C=>{const qZ=qU;return C['on'](qZ(0x127),({element:o})=>this['dispatch'](new TargetElementSelectedEvent(o)),{'key':qZ(0x508)}),C['changeMode'](T,V);}));}else await this['connection'][qU(0xe3)](qU(0x75f),{'mode':'none','highlightConfig':{}}),this[qU(0x64f)](qU(0x508)),await Promise[qU(0x18c)](Array[qU(0xbd)](this[qU(0x59a)](),C=>{const qH=qU;return C[qH(0x64f)]('modeChanger'),C[qH(0x662)](T);}));this.#mode=T;}async['hideFilepickers'](T=!![]){const qt=x4;try{this.#filepickersHidden!==T&&(await this[qt(0x4b8)]['execute'](qt(0x3ed),{'enabled':T}),this.#filepickersHidden=T);}catch(V){error(qt(0x14a),{'error':V});}}async[x4(0x156)](){const qm=x4;this[qm(0x22a)](new TargetClosedEvent()),this[qm(0x4b8)]['send'](qm(0x4b9),{'targetId':this[qm(0x76e)]});}[Symbol[x4(0x31f)](x4(0x53f))](T,V,q){const qJ=x4;return qJ(0x2be)+q({'targetId':this[qJ(0x76e)],'type':this['type'],'url':this[qJ(0x5b7)],'title':this[qJ(0x5e0)]},V);}},TargetAttachedEvent=class extends Event{[x4(0x688)];constructor(T){const qs=x4;super(qs(0x3fb)),this[qs(0x688)]=T;}},TargetDetachedEvent=class extends Event{constructor(){const qO=x4;super(qO(0x16d));}},TargetActivatingEvent=class extends Event{constructor(){const qp=x4;super(qp(0x7bd));}},TargetActivatedEvent=class extends Event{[x4(0x2dd)];constructor({reason:T}){const qh=x4;super(qh(0x317)),this['reason']=T;}},TargetChangedEvent=class extends Event{['url'];[x4(0x5e0)];constructor(T){const qk=x4;super('changed'),this[qk(0x5b7)]=T['url'],this[qk(0x5e0)]=T[qk(0x5e0)];}},TargetNavigatedEvent=class extends Event{['from'];['to'];['reason'];constructor({from:T,to:V,reason:q}){const qF=x4;super(qF(0x323)),this[qF(0xbd)]=T,this['to']=V,this[qF(0x2dd)]=q;}},TargetClosedEvent=class extends Event{constructor(){const qW=x4;super(qW(0x493));}},TargetVisibilityChangeEvent=class extends Event{['visibility'];constructor(T){const qQ=x4;super(qQ(0x1b7)),this[qQ(0x34e)]=T;}},TargetMainFrameReadyEvent=class extends Event{[x4(0x5f5)];constructor(T){const qa=x4;super(qa(0x3f5)),this[qa(0x5f5)]=T;}},TargetFrameAttachedEvent=class extends Event{['frame'];constructor(T){const qz=x4;super(qz(0x178)),this[qz(0x5f5)]=T;}},TargetFrameTargetCreatedEvent=class extends Event{['target'];constructor(T){const qw=x4;super(qw(0x125)),this['target']=T;}},TargetDialogEvent=class extends Event{[x4(0x780)];[x4(0x248)];[x4(0x804)];[x4(0x4fb)];constructor(T,V,q={}){const qi=x4;super(qi(0x248)+(T[0x0][qi(0x538)]()+T['substring'](0x1))),this[qi(0x780)]=T,this['dialog']=V,this[qi(0x804)]=q[qi(0x804)],this['value']=q[qi(0x4fb)];}},TargetFilepickerDialogEvent=class extends Event{[x4(0x248)];constructor(T){const qd=x4;super(qd(0x1b5)),this[qd(0x248)]=T;}},TargetChildTargetCreatingEvent=class extends Event{constructor(){super('childTargetCreating');}},TargetElementSelectedEvent=class extends Event{[x4(0x22b)];constructor(T){const C0=x4;super(C0(0x127)),this[C0(0x22b)]=T;}};const browsers=new WeakMap();async function makeBrowser(T){const C1=x4;if(T[C1(0xb3)]&&browsers['has'](T[C1(0xb3)]))return browsers['get'](T[C1(0xb3)]);if(T['socket']){const V=new Browser({'socket':T['socket'],'driver':T[C1(0xb3)]});if(T['driver'])browsers['set'](T[C1(0xb3)],V);return V;}else{if(T[C1(0x826)]){const q=new Agent()[C1(0x135)](o=>{return(X,G)=>{const C2=D;return X[C2(0x5c5)]=X[C2(0x5c5)]&&Object[C2(0x714)](Object['entries'](X[C2(0x5c5)])[C2(0x79b)](([B])=>B[C2(0x655)]()!==C2(0xbb))),o(X,G);};}),C=new WebSocket(T['wsDebuggerUrl'],{'dispatcher':q});return await once(C,C1(0x3be)),makeBrowser({'socket':C,'driver':T['driver']});}else{if(T['debuggerAddress']){const o=C1(0x5a3)+T[C1(0x71f)][C1(0x811)](C1(0x21c),C1(0x4ce)),X=await fetch(o+C1(0x787))[C1(0x225)](()=>null);if(X?.[C1(0x729)]!==0xc8)throw new Error(C1(0x23e));return makeBrowser({'wsDebuggerUrl':(await X[C1(0x2e3)]())[C1(0x2a1)][C1(0x811)](C1(0x21c),C1(0x4ce)),'driver':T[C1(0xb3)]});}else{if(T[C1(0xb3)]){const G=await T[C1(0xb3)][C1(0x441)](),B=G[C1(0x316)]('se:cdp')?.['replace'](/172.\d+.0.2/,C1(0x21c));if(B)return makeBrowser({'wsDebuggerUrl':B,'driver':T['driver']});return makeBrowser({'debuggerAddress':G[C1(0x316)](C1(0x7ab))?.['debuggerAddress']??G[C1(0x316)](C1(0x482))?.[C1(0x71f)]??G['get'](C1(0x1f2))??C1(0x750),'driver':T[C1(0xb3)]});}else throw new Error(C1(0x5a7));}}}}var Browser=class extends EventTargetNode{#targets=new Map();#pages=[];#extensions=[];#activePage;#headless;#product;#filepickersHidden=![];#closed=![];#history=makePagesHistory({'browser':this});#watchers={'initialized':makeWatcher(),'attachedTargets':makeWatcher(),'activePage':makeWatcher(),'history':makeWatcher()};async #initialize(){const C3=x4;on(this[C3(0x4b8)][C3(0x2f4)],C3(0x156),({code:C,reason:o})=>{const C4=C3;if(this.#closed)return;log(C4(0x812),{'code':C,'reason':o}),this[C4(0x22a)](new BrowserDisconnectedEvent({'code':C,'reason':o}));});const {product:T,userAgent:V}=await this['connection'][C3(0xe3)](C3(0x3b6));this.#product=T,this.#headless=V[C3(0x241)](C3(0x2ec));const q=this.#headless?await this['driver']?.[C3(0x817)]():void 0x0;this['connection']['on'](C3(0x682),async({targetInfo:C})=>{const C5=C3;log(C5(0x1ad),{'targetId':C[C5(0x76e)],'targetType':C[C5(0x54f)],'openerTargetId':C['openerId'],'openerFrameId':C['openerFrameId']});if(!(C[C5(0x54f)]===C5(0x5ca)||C[C5(0x54f)]===C5(0x4df)&&this[C5(0x458)][C5(0x136)](C[C5(0x76e)])||C[C5(0x54f)]==='service_worker'&&C['url']['startsWith'](C5(0x613))||C['url'][C5(0x27e)](C5(0x50b))))return;const o=makeTarget({'browser':this,'parent':C[C5(0x120)]?this.#targets[C5(0x316)](C['openerId']):void 0x0,'targetId':C[C5(0x76e)],'type':C[C5(0x54f)],'url':C[C5(0x5b7)],'title':C[C5(0x5e0)]});this.#targets[C5(0x866)](o['targetId'],o),this.#watchers['attachedTargets'][C5(0x394)](),this[C5(0x22a)](new BrowserTargetCreatedEvent(o));if(C['type']===C5(0x298)&&C[C5(0x5b7)][C5(0x27e)]('devtools://'))await this[C5(0x4b8)][C5(0xe3)](C5(0x684),{'targetId':C[C5(0x76e)],'flatten':!![]});o['on'](C5(0x3fb),()=>{const C6=C5;if(Array['from'](this.#targets[C6(0x10c)]())[C6(0x529)](X=>X[C6(0x3fb)])&&!this.#watchers[C6(0x726)]['settled'])this.#watchers[C6(0x726)][C6(0x37a)]();});if(o[C5(0x54f)]===C5(0x5ca)&&!o[C5(0x5b7)]['startsWith'](C5(0x50b)))this[C5(0x22a)](new BrowserPageCreatedEvent(o)),this.#pages[C5(0x132)](o),o['on'](C5(0x3fb),()=>{const C7=C5;if(this.#activePage){log('activePageChanging',{'reason':this.#activePage===o[C7(0x31e)]?C7(0x4ea):C7(0x85e)});if(this.#watchers['activePage']['settled'])this.#watchers[C7(0x6df)][C7(0x394)]({'hint':C7(0x79f)});if(this[C7(0x862)])o[C7(0x22a)](new TargetActivatedEvent({'reason':C7(0x79f)}));else this.#activePage=void 0x0;}else this.#headless&&o[C7(0x76e)]===q&&(log('activePageChanging',{'reason':'webdriver'}),o['dispatch'](new TargetActivatedEvent({'reason':'programmatic'})));}),o['on'](C5(0x7bd),()=>{const C8=C5;if(this['activePage']!==o&&this.#watchers[C8(0x6df)]['settled'])this.#watchers[C8(0x6df)][C8(0x394)]({'hint':C8(0x491)});}),o['on'](C5(0x317),({reason:X})=>{const C9=C5;this.#activePage=o,log(C9(0x574),{'targetId':o[C9(0x76e)]}),this.#watchers[C9(0x6df)]['resolve'](),this[C9(0x22a)](new BrowserActivePageChangedEvent(o,{'reason':X}));}),o['on']('navigated',({from:X,to:G,reason:B})=>{const Cx=C5;log(Cx(0x4f8),{'targetId':o[Cx(0x76e)]}),this[Cx(0x22a)](new BrowserPageNavigatedEvent(o,{'from':X,'to':G,'reason':B}));}),o['on'](C5(0x493),()=>{const Cr=C5;log('pageClosed',{'targetId':o[Cr(0x76e)]});const X=!o[Cr(0x562)]&&(o[Cr(0x243)]&&!this.#activePage||this.#activePage===o);this[Cr(0x22a)](new BrowserPageClosedEvent(o,{'wasActive':X})),this.#targets['delete'](o['targetId']),this.#pages[Cr(0x29f)](this.#pages['indexOf'](o),0x1);if(this.#activePage===o||!this[Cr(0x6df)]&&o[Cr(0x5c2)]===void 0x0){log(Cr(0x785),{'targetId':o[Cr(0x76e)]}),this.#watchers[Cr(0x6df)][Cr(0x394)]({'hint':Cr(0x79f)});if(this[Cr(0x862)]&&o[Cr(0x31e)])log('activePageChanging',{'reason':Cr(0x134)}),o[Cr(0x31e)][Cr(0x22a)](new TargetActivatedEvent({'reason':Cr(0x79f)}));else{const G=this.#pages[Cr(0x6dd)](B=>B[Cr(0x5c2)]);G?(log(Cr(0x22e),{'reason':Cr(0x2c3)}),G[Cr(0x22a)](new TargetActivatedEvent({'reason':Cr(0x79f)}))):(log(Cr(0x33e),{'reason':Cr(0x24b)}),this.#activePage=void 0x0);}}else{if(!this.#activePage)this.#watchers[Cr(0x6df)][Cr(0x394)]({'hint':Cr(0x79f)});}}),o['on'](C5(0x1b7),({visibility:X})=>{const CR=C5;if(X===CR(0x5c2)){if(!this.#activePage)log(CR(0x22e),{'reason':CR(0x3d1)}),o[CR(0x22a)](new TargetActivatedEvent({'reason':this.#watchers['activePage'][CR(0x1d8)]}));else{if(this.#activePage!==o){if(o[CR(0x1e0)])log(CR(0x22e),{'reason':CR(0x78d)}),o[CR(0x22a)](new TargetActivatedEvent({'reason':'automatic'}));else{log(CR(0x10a),{});if(this.#watchers[CR(0x6df)][CR(0x1b3)])this.#watchers['activePage'][CR(0x394)]({'hint':CR(0x1e7)});}}}}else{if(this.#activePage===o&&X===CR(0x5e6)&&o[CR(0x323)]){log('activePageVacated',{'reason':CR(0x70a)});const G=this.#pages['findLast'](B=>B[CR(0x5c2)]);if(G)log('activePageChanging',{'reason':'otherVisible'}),G['dispatch'](new TargetActivatedEvent({'reason':this.#watchers[CR(0x6df)][CR(0x1d8)]}));else{if(this.#watchers[CR(0x6df)][CR(0x1b3)])this.#watchers[CR(0x6df)][CR(0x394)]({'hint':CR(0x1e7)});this.#activePage=void 0x0;}}}}),o['on'](C5(0x3cd),()=>{const Cb=C5;this.#watchers['attachedTargets'][Cb(0x394)]();});else{if(o[C5(0x54f)]==='iframe')this[C5(0x458)][C5(0x316)](o[C5(0xec)][C5(0x396)])?.[C5(0x43e)][C5(0x22a)](new TargetFrameTargetCreatedEvent(o));else{if(o['type']===C5(0x41a))this.#extensions['push'](o);}}}),this[C3(0x4b8)]['on'](C3(0x6f9),({targetId:C})=>{const CD=C3,o=this.#targets['get'](C);o&&(log(CD(0x815),{'targetId':o[CD(0x76e)],'targetType':o['type']}),this.#targets['delete'](C),o[CD(0x22a)](new TargetClosedEvent()));}),this['connection']['on']('Target.targetCrashed',({targetId:C,status:o,errorCode:X})=>{const CL=C3;log(CL(0x42b),{'targetId':C,'status':o,'errorCode':X});const G=this.#targets[CL(0x316)](C)??null;this[CL(0x22a)](new BrowserTargetCrashedEvent(G,{'targetId':C,'status':o,'errorCode':X}));}),this[C3(0x4b8)]['on'](C3(0x23d),({targetInfo:C})=>{const Cj=C3;this.#targets[Cj(0x316)](C[Cj(0x76e)])?.['dispatch'](new TargetChangedEvent(C));}),this[C3(0x4b8)]['on'](C3(0x6e0),async({sessionId:C,targetInfo:o})=>{const CN=C3;log(CN(0x610),{'targetId':o[CN(0x76e)],'targetType':o[CN(0x54f)],'sessionId':C}),this.#targets[CN(0x316)](o[CN(0x76e)])?.[CN(0x22a)](new TargetAttachedEvent(C));}),this['connection']['on']('Target.detachedFromTarget',async({sessionId:C,targetId:o})=>{const CA=C3;log(CA(0x78f),{'targetId':o,'sessionId':C}),this.#targets[CA(0x316)](o)?.[CA(0x22a)](new TargetDetachedEvent());}),await this[C3(0x4b8)][C3(0xe3)](C3(0x3c8),{'discover':!![]}),await this[C3(0x4b8)][C3(0xe3)](C3(0x685),{'autoAttach':!![],'flatten':!![],'filter':[{'type':C3(0x5ca)},{'type':C3(0x4df)},{'type':C3(0x41a)}],'waitForDebuggerOnStart':!![]});}[x4(0x54f)]='web';[x4(0x258)]=this.#targets;[x4(0x458)]=makeFrameManager();[x4(0x2b9)]=makeWindowManager();['extensions']=this.#extensions;['driver'];[x4(0x4b8)];[x4(0x102)]=0x9c40;get['headless'](){return this.#headless;}get[x4(0x324)](){return this.#product;}get[x4(0x1d2)](){const CS=x4;return!!this.#activePage?.['dialog']&&this.#activePage[CS(0x248)]['type']!==CS(0x67f);}get[x4(0x6df)](){return this.#activePage;}get['filepickersHidden'](){return this.#filepickersHidden;}get['__previousPage'](){const CT=x4;return this.#history[CT(0x6b1)];}get[x4(0x338)](){const CV=x4;return this.#history[CV(0x404)];}constructor({driver:T,socket:V}){const Cq=x4;super(),this['driver']=T,this[Cq(0x4b8)]=makeConnection({'socket':V}),this.#initialize()[Cq(0x385)](()=>this.#watchers[Cq(0x243)][Cq(0x37a)]())[Cq(0x225)](q=>this.#watchers[Cq(0x243)][Cq(0x74d)](q));}*[x4(0x59a)](){const CC=x4;yield*this.#targets[CC(0x10c)]();}*[x4(0x749)](){yield*this.#pages;}async['stabilize'](T,{signal:V,timeout:q}={}){const Cy=x4;if(T===Cy(0x5b4))await this[Cy(0xdb)](Cy(0x59e),{'signal':V}),await this['activePage'][Cy(0xdb)](Cy(0x243),{'signal':V}),!this['activePage'][Cy(0x323)]&&(this[Cy(0x22a)](new BrowserStabilizingNavigationEvent({'done':![]})),await this[Cy(0x6df)][Cy(0xdb)](Cy(0x323),{'signal':V}),this['dispatch'](new BrowserStabilizingNavigationEvent({'done':!![]}))),!this['activePage']['stable']&&(this['dispatch'](new BrowserStabilizingLoadEvent({'done':![]})),await this[Cy(0x6df)][Cy(0xdb)](Cy(0x59e),{'signal':V}),this[Cy(0x22a)](new BrowserStabilizingLoadEvent({'done':!![]})));else{if(T==='strict')await this[Cy(0x5a8)](Cy(0x5b4),{'signal':V}),!this['activePage'][Cy(0x586)]&&(this[Cy(0x22a)](new BrowserStabilizingOutgoingRequestsEvent({'done':![]})),await this[Cy(0x6df)]['wait'](Cy(0x586),{'signal':V}),this[Cy(0x22a)](new BrowserStabilizingOutgoingRequestsEvent({'done':!![]})));else{if(T===Cy(0x281))return until(Promise[Cy(0x37a)]()[Cy(0x385)](async()=>{const Co=Cy;await this['stabilize'](Co(0x260),{'signal':V});for(const C of this[Co(0x6df)][Co(0x645)]())try{if(await C['isVisible']())await C[Co(0xdb)](Co(0x28e),{'signal':V});}catch(o){if(V?.['aborted']&&V[Co(0x2dd)]===o)throw o;}}),{'timeout':q??0xea60,'signal':V});}}}async[x4(0xdb)](T,{signal:V}={}){const CX=x4;if(T===CX(0x59e))await abortable(this.#watchers[CX(0x243)],V),await abortable(this.#watchers[CX(0x726)],V),await abortable(this.#watchers[CX(0x6df)],V);else await abortable(this.#watchers[T],V);}async['page']({url:T,automationTimeout:V}){const CG=x4;await this.#watchers[CG(0x6df)],this.#watchers[CG(0x726)][CG(0x394)]();const {targetId:q}=await this['connection'][CG(0xe3)]('Target.createTarget',{'url':CG(0xf6)});await this.#watchers[CG(0x726)];const C=this.#targets['get'](q);if(V!=null)C[CG(0x4b8)]['timeout']=V;return await Promise['all']([C[CG(0x75e)](),T?C[CG(0xdb)](CG(0x59e))[CG(0x385)](()=>C['navigate'](T)[CG(0x385)](()=>C[CG(0xdb)](CG(0x59e)))):null]),C;}async[x4(0x369)](){const CB=x4;return await this.#watchers[CB(0x6df)],this.#history[CB(0x369)]();}async[x4(0x3c7)](){const Cu=x4;return await this.#watchers[Cu(0x6df)],this.#history[Cu(0x3c7)]();}async[x4(0x172)](T,V){const Cc=x4,q=V??T,C=V?T:void 0x0,o=[];o[Cc(0x132)](this['on'](Cc(0x247),async({target:G})=>o[Cc(0x132)](await X(G)))),o['push'](...await Promise[Cc(0x18c)](Array[Cc(0xbd)](this['pages'](),X)));return()=>o['forEach'](G=>G());function X(G){const CP=Cc;return C!==void 0x0?G[CP(0x172)](C,q):G[CP(0x172)](q);}}async[x4(0x67f)](T){const CY=x4,V=[];return this['on']('pageCreated',async({target:q})=>V[CY(0x132)](await q[CY(0x67f)](T))),V[CY(0x132)](...await Promise[CY(0x18c)](Array[CY(0xbd)](this['pages'](),q=>q[CY(0x67f)](T)))),()=>V[CY(0x2d8)](q=>q());}async[x4(0x64c)](){const Cn=x4,{cookies:T}=await this['connection'][Cn(0xe3)](Cn(0x367));return T;}async[x4(0x4d8)](T){const Cv=x4;await this['connection'][Cv(0xe3)](Cv(0x28c),{'cookies':T});}async[x4(0x51b)](){const CI=x4;await this[CI(0x4b8)]['execute']('Storage.clearCookies');}async[x4(0x777)](T){const Ce=x4;await this.#watchers[Ce(0x6df)],await this['activePage']['wait'](Ce(0x331)),await this.#activePage[Ce(0x1dc)][Ce(0x43d)](T);}async['setViewportSize'](T){const CM=x4;await this.#watchers[CM(0x6df)],await this[CM(0x6df)][CM(0xdb)](CM(0x331));const V=this.#activePage[CM(0x1dc)];if(this.#headless){await V['setSize'](T);const q=await this['activePage'][CM(0x650)]();if(q['width']!==T[CM(0x21d)]||q['height']!==T[CM(0x2b5)])await V['setSize']({'width':T[CM(0x21d)]+T[CM(0x21d)]-q[CM(0x21d)],'height':T[CM(0x2b5)]+T[CM(0x2b5)]-q[CM(0x2b5)]});}else await V[CM(0x355)](T);}async['captureScreenshot'](){const CK=x4;return await this['wait'](CK(0x59e)),this[CK(0x6df)][CK(0x4f1)]();}async[x4(0x689)](T=!![]){const Cg=x4;await Promise[Cg(0x18c)](Array[Cg(0xbd)](this[Cg(0x59a)](),V=>V[Cg(0x689)](T))),this.#filepickersHidden=T;}async['close'](){const Cl=x4;log(Cl(0x200),{}),this.#closed=!![],this.#targets[Cl(0x2d8)](T=>T['dispatch'](new TargetClosedEvent()));if(this[Cl(0xb3)])await this[Cl(0xb3)]?.[Cl(0x1a6)]();else await this[Cl(0x4b8)]['execute']('Browser.close');}},BrowserTargetCreatedEvent=class extends Event{[x4(0x43e)];constructor(T,V){const Cf=x4;super(Cf(0x1ad),V),this['target']=T;}},BrowserPageCreatedEvent=class extends Event{['target'];constructor(T,V){const CU=x4;super(CU(0x247),V),this[CU(0x43e)]=T;}},BrowserPageNavigatedEvent=class extends Event{[x4(0x43e)];[x4(0xbd)];['to'];[x4(0x2dd)];constructor(T,{from:V,to:q,reason:C},o){const CE=x4;super(CE(0x4f8),o),this['target']=T,this[CE(0xbd)]=V,this['to']=q,this['reason']=C;}},BrowserPageClosedEvent=class extends Event{[x4(0x43e)];['wasActive'];constructor(T,{wasActive:wasActive=![]}={},V){const CZ=x4;super(CZ(0x14b),V),this[CZ(0x43e)]=T,this['wasActive']=wasActive;}},BrowserActivePageChangedEvent=class extends Event{['target'];[x4(0x2dd)];constructor(T,{reason:V},q){const CH=x4;super(CH(0x574),q),this[CH(0x43e)]=T,this['reason']=V;}},BrowserDisconnectedEvent=class extends Event{[x4(0x5e4)];['reason'];constructor({code:T,reason:V},q){const Ct=x4;super(Ct(0x289),q),this['code']=T,this[Ct(0x2dd)]=V;}},BrowserTargetCrashedEvent=class extends Event{[x4(0x43e)];[x4(0x76e)];[x4(0x729)];[x4(0x1c6)];constructor(T,{targetId:V,status:q,errorCode:C},o){const Cm=x4;super(Cm(0x42b),o),this[Cm(0x43e)]=T,this[Cm(0x76e)]=V,this[Cm(0x729)]=q,this['errorCode']=C;}},BrowserWindowCreatedEvent=class extends Event{['window'];constructor(T){const CJ=x4;super(CJ(0x25b)),this[CJ(0x1dc)]=T;}},BrowserStabilizingNavigationEvent=class extends Event{[x4(0x42d)];constructor({done:T}){const Cs=x4;super('stabilizingNavigation'),this[Cs(0x42d)]=T;}},BrowserStabilizingLoadEvent=class extends Event{[x4(0x42d)];constructor({done:T}){const CO=x4;super(CO(0xe5)),this[CO(0x42d)]=T;}},BrowserStabilizingOutgoingRequestsEvent=class extends Event{[x4(0x42d)];constructor({done:T}){const Cp=x4;super(Cp(0x6db)),this[Cp(0x42d)]=T;}},HarRecorder=class extends EventTargetNode{#target;#includeBodies;#unsubscribes=[];#disposed=![];#events=[];#bodies=new Map();#seenRequestIds=new Set();#cachedRequestIds=new Set();#stats={'requestCount':0x0,'bytesIn':0x0,'bytesOut':0x0};constructor({target:T,includeBodies:includeBodies=![]}){super(),this.#target=T,this.#includeBodies=includeBodies,this.#subscribe(),this.#seedActivePage();}get[x4(0x60f)](){return this.#stats;}get['target'](){return this.#target;}get[x4(0x532)](){return this.#includeBodies;}['setIncludeBodies'](T){this.#includeBodies=T;}[x4(0x31a)](){const Ch=x4,T=this.#events[Ch(0x16a)](({method:q,params:C})=>({'method':q,'params':C}));let V;try{V=harFromMessages(T,{'includeTextFromResponseBody':![]});}catch{V=emptyHar();}for(const q of V[Ch(0x556)][Ch(0x80f)]){const C=q['_requestId'];if(!C)continue;const o=this.#bodies[Ch(0x316)](C);if(!o||!q[Ch(0x7a7)]?.['content'])continue;q[Ch(0x7a7)][Ch(0x624)][Ch(0x82c)]=o['body'];if(o[Ch(0xc9)])q[Ch(0x7a7)][Ch(0x624)][Ch(0x75d)]=Ch(0x5bb);}return{'har':V,'eventCount':T['length'],'requestCount':this.#stats[Ch(0x673)]};}[x4(0x63e)](){if(this.#disposed)return;this.#disposed=!![];for(const T of this.#unsubscribes)try{T();}catch{}this.#unsubscribes=[];}#subscribe(){const Ck=x4,T=this.#target[Ck(0x4b8)];if(!T)return;for(const V of CDP_NETWORK_METHODS)this.#unsubscribes[Ck(0x132)](T['on'](V,q=>{const CF=Ck;this.#capture(V,q);if(V===CF(0x58c))this.#onRequestWillBeSent(q);else{if(V===CF(0x347))this.#onRequestServedFromCache(q);else{if(V===CF(0x7fb))this.#onDataReceived(q);else{if(V==='Network.loadingFinished')this.#onLoadingFinished(q);}}}}));for(const q of CDP_PAGE_METHODS)this.#unsubscribes[Ck(0x132)](T['on'](q,C=>this.#capture(q,C)));}#seedActivePage(){const CW=x4;if(this.#disposed)return;this.#capture(CW(0x119),{'frameId':this.#target[CW(0x76e)]});}#capture(T,V){const CQ=x4;if(this.#disposed)return;this.#events[CQ(0x132)]({'method':T,'params':V,'timestamp':Date[CQ(0x1df)]()});}#onRequestWillBeSent(T){const Ca=x4;if(!/^https?:/i[Ca(0x3a7)](T[Ca(0x51e)]?.[Ca(0x5b7)]??''))return;this.#seenRequestIds[Ca(0x840)](T['requestId']),this.#stats['requestCount']+=0x1;const V=T['request']?.[Ca(0x498)]?.[Ca(0x33d)]??0x0;if(V>0x0)this.#stats[Ca(0x42e)]+=V;this[Ca(0x22a)](new HarRecorderStatsChangedEvent(this.#stats));}#onRequestServedFromCache(T){const Cz=x4;if(!this.#seenRequestIds[Cz(0x136)](T[Cz(0x7c1)]))return;if(this.#cachedRequestIds[Cz(0x136)](T['requestId']))return;this.#cachedRequestIds['add'](T[Cz(0x7c1)]),this.#stats[Cz(0x673)]-=0x1,this[Cz(0x22a)](new HarRecorderStatsChangedEvent(this.#stats));}#onDataReceived(T){const Cw=x4;if(!this.#seenRequestIds['has'](T[Cw(0x7c1)]))return;if(this.#cachedRequestIds[Cw(0x136)](T['requestId']))return;if(typeof T[Cw(0x48e)]===Cw(0x196))this.#stats['bytesIn']+=T['encodedDataLength'];this['dispatch'](new HarRecorderStatsChangedEvent(this.#stats));}#onLoadingFinished(T){const Ci=x4;if(!this.#includeBodies)return;if(!this.#seenRequestIds['has'](T[Ci(0x7c1)]))return;if(this.#cachedRequestIds[Ci(0x136)](T[Ci(0x7c1)]))return;this.#fetchBody(T[Ci(0x7c1)]);}async #fetchBody(T){const Cd=x4;if(this.#disposed)return;const V=this.#target[Cd(0x4b8)];if(!V)return;try{const q=await V['execute']('Network.getResponseBody',{'requestId':T});if(this.#disposed)return;this.#bodies[Cd(0x866)](T,{'body':q['body'],'base64Encoded':q[Cd(0xc9)]});}catch{}}};const CDP_NETWORK_METHODS=['Network.requestWillBeSent',x4(0x751),x4(0x48d),x4(0x474),'Network.dataReceived',x4(0x20b),x4(0x4be),x4(0x347)],CDP_PAGE_METHODS=[x4(0x119),x4(0x69a),'Page.navigatedWithinDocument',x4(0x195),'Page.loadEventFired',x4(0x325)];function emptyHar(){const y0=x4;return{'log':{'version':y0(0x306),'creator':{'name':y0(0x656),'version':''},'pages':[],'entries':[]}};}var HarRecorderStatsChangedEvent=class extends Event{[x4(0x60f)];constructor(T){const y1=x4;super('statsChanged'),this[y1(0x60f)]=T;}};const ErrorCode={'NOT_IMPLEMENTED':x4(0x6c1),'HANDLER_ABORTED':'HANDLER_ABORTED','UNKNOWN_ACTION':x4(0x694),'UNRESOLVED_REF':'UNRESOLVED_REF','FAILED_ASSERTION':'FAILED_ASSERTION','MALFORMED_COOKIE':'MALFORMED_COOKIE','MALFORMED_HEADER':'MALFORMED_HEADER','EVALUATION_FAILED':x4(0x40c),'SWITCH_TO_CURRENT_TAB':'SWITCH_TO_CURRENT_TAB','CLOSE_LAST_TAB':x4(0xba),'NO_TAB_HISTORY':x4(0x24e),'NO_TAB':'NO_TAB','NO_NEXT_TAB':x4(0x313),'NO_HISTORY_ENTRY':x4(0x19a),'UNEXPECTED_REQUEST_STATUS':'UNEXPECTED_REQUEST_STATUS','UNEXPECTED_NAVIGATION_STATUS':x4(0x445),'ELEMENT_NOT_INTERACTIVE':x4(0x742),'ELEMENT_NOT_TEXTBOX':x4(0x410),'ELEMENT_NOT_CLEARABLE':'ELEMENT_NOT_CLEARABLE','UNHANDLED_DIALOG':'UNHANDLED_DIALOG','NO_ELEMENT':x4(0x437),'ILLEGAL_ELEMENT_DESCRIPTOR':x4(0xf5),'NO_OPTION':x4(0xc3),'NO_DIALOG':x4(0x1af),'CONDITION_TIMED_OUT':x4(0x126),'NAVIGATION_FAILED':x4(0x37b),'NAVIGATION_TIMED_OUT':x4(0x137),'FETCH_FAILED':'FETCH_FAILED','UNRESPONSIVE_TAB':x4(0x443),'INTERNAL':x4(0x3d9),'MESSAGE_PARSING':'MESSAGE_PARSING','OBSCURED_ELEMENT':x4(0x6b5),'FORBIDDEN_ACTION':x4(0x4fe),'EXCEEDED_ALLOWED_TIMEOUT':'EXCEEDED_ALLOWED_TIMEOUT','NOT_PDF_VIEWER':'NOT_PDF_VIEWER','PDF_PAGE_OUT_OF_RANGE':x4(0x31d)};var RunnerError=class extends Error{['code'];[x4(0x7c9)];constructor(T,{code:code=ErrorCode[x4(0x3d9)],error:V,...q}={}){const y2=x4;super(),this[y2(0x15f)]=this[y2(0x251)][y2(0x15f)],this[y2(0x37f)]=T,this[y2(0x5e4)]=code,this['meta']=q,V instanceof Error&&(this[y2(0x37f)]=T+':\x20'+V[y2(0x37f)],this['stack']=V[y2(0x2d3)]);}};function translateAutomatorError(T){const y3=x4;if(T instanceof NavigationFailedError)return{'code':ErrorCode[y3(0x37b)],'meta':{'url':T[y3(0x5b7)],'reason':T['reason']}};if(T instanceof NavigationTimedOutError)return{'code':ErrorCode['NAVIGATION_TIMED_OUT'],'meta':{'url':T[y3(0x5b7)],'timeout':T[y3(0x4c8)]}};if(T instanceof NoHistoryEntryError)return{'code':ErrorCode[y3(0x19a)],'meta':{'offset':T[y3(0x628)]}};if(T instanceof UnresponsiveTargetError){const {method:V,commandId:q,sessionId:C}=T;return{'code':ErrorCode[y3(0x443)],'meta':{'method':V,'commandId':q,'sessionId':C}};}return{'code':ErrorCode['INTERNAL'],'meta':{'original':T}};}async function evaluateJSExpression(T,{context:V,stack:q,automator:C,signal:o}){const y4=x4;if(!(C instanceof Browser))throw new Error(y4(0x108));const X=await evaluateExpression(T,{'context':V,'stack':q,'automator':C,'signal':o});return await C['wait'](y4(0x59e)),await C[y4(0x6df)]['wait'](y4(0x59e)),await C[y4(0x6df)]['mainFrame'][y4(0x2de)](X,{'await':!![]});}function isBase64String(T){const y5=x4;return/^[A-Za-z0-9+/]*={0,2}$/[y5(0x3a7)](T);}function isUrlString(T){const y6=x4;return/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/[y6(0x3a7)](T);}function isXmlString(T){try{return XMLValidator['validate'](T,{'allowBooleanAttributes':!![]})===!![];}catch{return![];}}function parseXmlString(T){const y7=x4,V=XMLValidator[y7(0x163)](T,{'allowBooleanAttributes':!![]});if(V!==!![])throw new RunnerError(y7(0x82e)+V['err'][y7(0x706)]+'\x22');return new XMLParser()[y7(0x462)](T);}function stringifyXml(T){return new XMLBuilder()['build'](T);}function stringifyJson(T){const y8=x4;return JSON[y8(0x122)](T);}function isJsonString(T){const y9=x4;try{return JSON[y9(0x462)](T),!![];}catch{return![];}}function parseJsonString(T){const yx=x4;try{return JSON[yx(0x462)](T);}catch(V){throw new RunnerError(yx(0x741)+V['message']+'\x22');}}function stringifyJSLiteral(T){const yr=x4;if(typeof T===yr(0x522))return T+'n';else{if(T===Infinity)return yr(0x3fe);else{if(T===-Infinity)return yr(0x86e);else{if(Object['is'](T,-0x0))return'-0';else{if(Number[yr(0x47d)](T))return yr(0x40e);else return JSON['stringify'](T);}}}}}function isAlphaNumeric(T){const yR=x4;return/^[\p{L}\p{N}]+$/u[yR(0x3a7)](T);}function isNumeric(T){return/^\p{N}+$/u['test'](T);}function R(){const cB=['tM9Kzsb3AxrOig9IAMvJDcbPzca','Bwf0y2G','AM9PBG','AgfZsw5ZDgfUy2u','CMfKAw8','Cg9WDxbtDg9Szq','rM9YAYaJ','DgfYz2v0rgv0ywnOzwq','zgLHBg9Nt3bLBMvK','CMv2zwfS','C2LUz2XLihf1B3rLzcbZDhjPBMCGy2H1BMS','Bg9NBW','Cg9WDwXHDgvK','AxndB250zw50rwrPDgfIBgu','ugfNzurVD24','ChjLzMvY','x2DLB21LDhjPy0XHyMvS','q2fUj3qGC3DPDgnOihrVihrOzsbUzxH0ihrHyIbIzwnHDxnLihrOzsbJDxjYzw50ihrHyIbPCYbHBhjLywr5igXVy2f0zwqGyxqGDgHLihrVCcbVzIbOAxn0B3j5igfUzcb0AgvYzsbHCMuGBM8GB3rOzxiGDgfICYb0BYbZD2L0y2GGDg8','zML4zxm','zMLSDgvY','zxH0CMfJDg9Y','CMvTB3zL','igvSzw1LBNq','yxv0B21HDgLJ','Aw5ZDhj1y3rPB25fEgvJDxrPB25tDgfYDgvK','zgf0zxrPBwu','BwL4CgfUzwWUy29T','AgvHzgLUzW','i0rbnZbenG','vgfYz2v0ihDPDgGGAwqGiG','Ec1UBhaTCgrMlxzPzxDLCG','CMvZCg9UC2u','zxHLy3v0zvnJCMLWDa','yMXVyG','rMfPBgvKihrVihbHCNnLigLUC3rYDwn0Aw9UoIa','z29VzZPJAhjVBwvpChrPB25Z','DgfIBgu','rKLsu1rFt1jervjfrf9ot0rfx1rzueu','iZDgrKzena','DxnLCI1Hz2vUDa','A2v5','C2vSzwn0B3i','CMvJB3jKzxi','y29UBMvJDgLVBLnVy2TLDenSB3nLza','iZLbq0qZmG','CgrMvMLLD2vY','A2HHA2K','C2nVCguGAw5PDgLHBgL6zwq','z2v0t2jZy3vYyxrPB25jBMzV','C2nVCMvJyxjKCMvZzwfYy2GUy29T','DgfIBguTAgvHzc1YB3C','CMvZB3vYy2u','BMXWoNj1BM5LCJPLCNjVCG','ywn0AxzHDgLUzW','qxjYB3DvCa','CMLNAhruB3a','iZGWmdaWma','CMvXDwvZDeLK','sw5WDxqUAw5Zzxj0vgv4Da','EwvZ','Bgv2zwXZ','qMfJA3nWywnL','yxnszw1VDgvpyMPLy3riyw5KBgu','qw5JAg9Y','ChjLDMLVDxnwywX1zq','Bwv0yq','s2v5uq','yM9KEsbKyxrH','yw1IAwD1B3vZ','z3jLzw4','y29UDgfPBNm','y3jLyxrLihrHCMDLDa','zxHWBgLJAxq','D2fPDgLUz0zVCLn0ywjPBgL6yxrPB24','y2HHBMDL','zw50Axr5','ChjVz3jLC3m','yxr0ywnOBwvUDa','s2v5wa','qM9KEsbPCYbUB3qGB2yGyMfZzty0igzVCM1HDa','zg91yMXLihf1B3rLzcbZDhjPBMCGy2H1BMS','DMfSDwvqCMv2Awv3','AgvHzgvYignLBgW','BMvHCIb0BW','yxnZzxj0Aw9UrxzHBhvHDgvK','BwvUDwL0zw0','zNvUy3rPB24','zMv0y2G','yxHuCMvLrxH0CMfJDgLVBK1Z','tNvTtg9JAW','D2LUzg93uMvZB2X1DgLVBKzHAwXLza','yxjYyxLcDwzMzxi','Dw5PB24','y3vZDg9T','CMvXDwvZDcb0BYa','ChjPy2u','C2XPy2u','D2fPDgLUz0zVCLjLC291CMnLC0XVywq','z2v0u2LTAwXHCML0Eq','yM9YzgvYuMvJDa','y2fUvhLWzvrVrwXLBwvUDa','z2vUzxjHDgvyCgf0Aa','C2nYB2XSqNK','zxf1ywXZ','ywn0AxzLrwXLBwvUDa','CMvZDg9Yzq','zgLZCgf0y2HfDMvUDa','Aw5PDgLHBgL6zsbZy29Wzq','yMvSB3CGB2y','Bwf0zxjPywXPEMu','i0u2rtzgqq','Aw50zxjJzxb0B3jtzxr1CefIB3j0zwq','kgfYz3vTzw50C1SWxsK','Dg9VBhrPCa','ywjVCNq','tMv0D29YAY5KyxrHuMvJzwL2zwq','zMfYDgHLC3rqB3m','ic4UlIWGw2XLBMD0Af06ia','zMLUzevSzw1LBNq','qwX0','q2fUj3qGy3jLyxrLigeGCg9YDcb0BYbYzw5KzxjLCIb0yxjNzxqSihvZzsb0yxjNzxqNCYbTywLUigzYyw1LigLUC3rLywq','ugfNzs5ZzxrmAwzLy3LJBgvfDMvUDhnfBMfIBgvK','lI4VlI4VyxnZzxrZl2v4DhjHy3qTyxGTDhjLzs1dmvC0weHuCs5QCW','y2rWq29TBwfUze5VDfnLBNq','CMvZDwX0','CMvHzhK','rwXLBwvUDerLC2nYAxb0B3i','i0zgqtuWma','zM9YA0LK','zg90','zMv0y2HLCW','iIbPCYbTywXMB3jTzwqSigL0ignVBNrHAw5ZigLSBgvNywWGy2HHCMfJDgvYCW','CMvTB3zLrxzLBNrmAxn0zw5LCG','y2rWq29TBwfUzefIB3j0zwq','seforeXfuL9bqK9sveve','zw50CMLLCW','uergihbHz2uG','CMvWBgfJzq','yNjVD3nLCLnVy2TLDenSB3nLza','qwX0uMLNAhq','i0zgrujdra','DgfYz2v0rgvZDhjVEwvK','zgLT','z2v0v2LUzg93sgfUzgXL','q2fUj3qGCMvZB2X2zsbYzw1VDguGB2jQzwn0','oMHVDMvY','y29TBwfUzhm','D2LUzg93swq','Dg9W','y29SB3i','y3nZ','B2XPDMu','y2XHCML0Es5TCW','Dg9pCNrOB2DVBMfS','y2rWrxzLBNriyw5KBgvYrMfPBgvK','x3n0yxrL','AxnjBNrLCNbVBgf0zwrtDhjPBMC','Dg9Rzw4','D3nezwj1z2DLCLvYBa','y29UBMvJDgLVBLnVy2TLDevYCM9Y','ChjVDg90ExbL','C2LNBMfS','iIbPCYb0Aw1LzcbVDxq','ugfNzs5LBMfIBgu','Dgv4Da','Aw1Hz2u','rMfPBgvKihrVihbHCNnLig1HBgzVCM1LzcbytuWSihDPDgGGyw4GzxjYB3iGiG','Dw5KzwzPBMvK','C2vHCMnO','x2f0DhjPyNv0zxm','x3nJCM9SBgfIBgu','zMv0y2GGDxjS','DMLKzw8','q2fUBM90igzPBMqGB3DUzxiGBM9KzsbMB3iGDgHLigzYyw1L','zxf1ywW','tMf2AwDHDgu','qvHoB2rLia','DgHYB3DjzKjSB2nRzwq','iZy2mZm5oq','C3vIAw5ZDhj1y3rPB25fEgvJDxrPB25tDgfYDgvK','Dw5XDw90zwqGC3rYAw5NignODw5R','igrVzxmGBM90ig1HDgnOihrOzsb2ywX1zsaI','x292zxjMBg93uM9VDa','yMXVyJO','ywrK','Dg8GDgHLigXLzNqGyw5KigjLBg93ig9M','CNvUBMvY','yxbWzwfYyw5Jzq','DMLZDwfS','CMvTB3zLu3r5BgvZAgvLDa','Ahr0Chm6lY8','rgLNAxqZ','y29UDgvUDc10ExbL','zMLUzeLUzgv4','zgf0ys11CMXLBMnVzgu','ksSP','CMvZB2X2zuj5','vgHLihjLCxvLC3qGDg8GDxjSici','rgLNAxqW','DMLZDwfSignOzwnR','iZKZnZbeqG','x3rYzwu','y2HYB21LlwvYCM9YoI8Vy2HYB21LD2vIzgf0ys8','Ag90AMfYlMnVBq','q2XPy2S','ntC5odrjswHcAxy','B3DU','Dg9WBgvMDa','y2HPBgruyxjNzxrdCMvHDgvK','iZHcnduXmW','CgrMCgfNzq','C2fSBw9U','BMvHCMvZDa','Aw5MBW','BMv3ugfNzq','zxHJzxb0Aw9U','A2v5rg93BG','lI4V','AgvHzgXLC3m','y2XPy2THyMXL','q2fUj3qGzxHLy3v0zsbZy3jPChqGAw4GCMvUzgvYzxiGDgfYz2v0lcb1C2uGDgfYz2v0j3mGBwfPBIbMCMfTzsbPBNn0zwfK','qNjHy2TLDfjPz2H0','C2v0','x3zLCNnPB24','BM9KzunVDw50','ChjLDMLVDxntDgf0Dxm','D2vHA3nLDa','Aw50zw50','rg9JDw1LBNq','qwX0tgvMDa','luLUzMLUAxr5','iZndqJm3mq','z2vUzxjHDgvsyw5KB21wywX1zq','uK5VzguG','ugfNzs5UyxzPz2f0zq','C291CMnLug9YDa','zgvJBgfYyxrPDMvezxnJCMLWDgLVBG','C3rHCNq','ywjVDMu','Bg9Nq29SBgfWC2vKr3jVDxa','zhjPDMvY','BM9Kzu5HBwu','Bw91C2vqCMvZC2vK','AxnVBgf0zwq','AgfUzgXLv2L0AevSzw1LBNq','zgLHBg9NsgfUzgXPBMC','AgfZqxr0CMLIDxrL','q0Xpu0vFteftvf9uqui','C2vJlxDLyNnVy2TLDc1LEhrLBNnPB25Z','AxnwAxnPyMXL','zNjVBq','y29VA2LLihzHBhvL','iIb0Agf0ihDHCYbZzw50ihDPDgGGAwqG','vMLZDwfSq2HLy2S','yM90Dg9TBgvMDa','t3rOzxi','tK9Ft1busu9o','y2HLy2TIB3G','ugfNzs5NzxroyxzPz2f0Aw9UsgLZDg9YEq','rxf1ywW','twv0yq','zxHLyW','yMfZzty0rw5JB2rLza','s2v5uG','DMvYC2LVBG','tK9Fvefc','CMvSB2fK','C2vSzwn0qwXS','vMfSDwu','ugLUzW','Bw91C2vnB3zLza','jxmGjw8','x2jHy2TNCM91BMrsB290','qxnZzxj0Aw9UigzHAwXLza','zNjHBwvmB2fKAw5Nu3rHCNrLza','BMXWoNj1BM5LCJPKzwj1zW','x19JB250zxH0ugfYDhm','CgfYzw50rNjHBwu','iZDgrKyWma','C3r5BgvZ','D2fPDa','igLZihn0ywXL','D2vHA0XVy2fSt2jQzwn0uMvMzxjLBMnL','q2XVC2vuyxjNzxq','y2fUvhLWzuLUDg8','tuvtu0fhrv9qqvjtsu5h','yxqGDgHLihjPz2H0ig9M','q1ntlMDLDfn0EwXLu2HLzxruzxH0','zxHLy3v0zq','z2v0rwXLBwvUDfzHBhvL','C3rHyMLSAxPPBMDmB2fK','v2f0y2HLCG','lNrHyMjLzc1Wyw5LpJ4+w2fYAweTBgfIzwW9iG','i0y1rJveqW','id0+ia','Bwf0y2HLCW','BgnH','BwfPBKzYyw1L','qNjHy2TLDeXLzNq','Eg1S','uMvTB3rLig9IAMvJDcb3AxrOigLKia','AxrLBq','C3r5BgvZAgvLDeLK','BMf2AwDHDgu','q29UDhjVBeXLzNqRu2HPzNrmzwz0k0TLEvi','Cgf0Ag5HBwu','suXmruDbtf9ftevnru5ux0rfu0nssvbut1i','ywjVDxq6yMXHBMS','zMLUywXSEq','Aw5ZCgvJDg9Y','DgLTzq','z2v0twv0CMLJCW','y2HYB21L','mM83lM5LDa','AxnwAxn1ywXSEvnLCgfYyxrLza','s2v5uW','CMvZDw1Lza','z2v0qM94','C2TPChbLzcbYzxn0','zNjHBwvtDgfIAwXPDhLuAw1LB3v0','Bg9Ntwf0y2HLza','q2fUj3qGy2fWDhvYzsbZy3jLzw5ZAg90ig9MigeGBM9UlxjLBMrLCMvYihrHCMDLDa','q2fWC0XVy2S','y29UDgvUDfjLy3q','Aw5WDxq','q2fUj3qGzxzHBhvHDguGANmGzxHWCMvZC2LVBIb3AxrOigeGBM9UlxDLyIbHDxrVBwf0B3i','Bg9Uz2HHBMq','ywn0AxzLugfNzunVBNrLC3rLza','rxzLBNruyxjNzxq','DMfSDwvZ','CMvKDwnLuMLNAhq','re9nlMvUywjSzq','lI4U','CMvZB2X2zuzPBgvUyw1L','zgvZy3jPChrVCNm','zgvMyxvSDev2ywX1yxrVCKf0DgfJAgvK','y29UzgL0Aw9UywXZ','ndK1v0nrCwve','i0zgrJbgnq','B3DUzxjeB2n1BwvUDa','BgLTAxq','twLUDxm','ugfNzs5MCMfTzvn0yxj0zwrmB2fKAw5N','zM9YA3m','y3vYCMvUDfbHz2voDw1Izxi','AwDUB3jLignHC2u','C3rHBMrHBg9Uzq','AgLZDg9YEq','zxHWzwn0Aw5NigfUEsbZDgf0DxmGy29Kzq','B3bLBMvYswq','zgv0zxjTAw5Lza','C3rYAw5NAwz5','BMv0D29YA0LK','tgfIzwW','zNjHBwvuyxjNzxrdCMvHDgvK','q09oreLusu9ox1rjtuvex09vva','zwXLBwvUDfnLBgvJDgvK','DhLWzvrLEhq','C2nYB2XSvg8','q2fUBM90igDLDcb2ywX1zxmGB2yGDgHLia','zgLZDgfUy2u','DgHYB3DjzKfIB3j0zwq','ywjVCNrLza','i0zgrKzgrG','DMLZAxrLza','ic4UlG','C2nHBgu','ChvZAa','s2v5vq','CgfYzw50t2zdBg9Zzwq','y29TCg9Zzq','AgfZ','tKfwsuDbveLptL9usu1frf9pvvq','i0zgqta3qq','rwXLBwvUDcbUB3qGzM91BMq','zgvIDwDmB2C','qxnZzxj0','yxqGDgHLigjVDhrVBsbVzG','C3rHCNrZihDPDgG','yxqGDgHLihrVCcbVzG','i0zgn0y1ma','tM8GDMfSDwuGAxmGBwfWCgvKihrVihrOzsbRzxKGiG','rw5HyMXLza','iZDdrKmWma','AgvHzgvYia','zNjHy3rPB24','i0yWrKzgma','uNvUDgLTzs5IAw5KAw5Nq2fSBgvK','yxbWBgLJyxrPB24VEg1So2nOyxjZzxq9vvrgltG','y2HHCG','Dg9dDwXVCMK','zMLSzxbPy2TLCKHPzgvgywLSzwq','CgfNzunSB3nLza','i0e1mKeYqq','zg93BNn0CMvHBq','C2nVCgu','y2XPzw50sgvPz2H0','yxqGDgHLihjPz2H0igfUzcbIB3r0B20GB2y','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','u3rHBgvszw1VDgvpyMPLy3riyw5KBgvfCNjVCG','zgvZDhj1y3rPB24','Dw5JB3jR','zMLSzxbPy2TLCKf1Dg9tzxr1CezHAwXLza','y2XVC2u','ywn0AxzL','z29Vz2XLlwfUywX5DgLJCY5JB20','uLrYzwu','Dhj1zq','yNLWyxnZq1nq','tg9Uz2vZDcbJyw5KAwrHDguGiW','i0uWrKzgrG','rvHdruverurFquXmt1Dfrf9usu1ft1vu','BMfTzq','yxjNCW','C2nYB2XSywjSzq','q2fU4OczDcbJB252zxj0ihrOzsb2ywX1zsa','DMfSAwrHDgu','DgHYB3DjzK5VrwXLBwvUDa','mZq1nJqZmLPiB2fYwa','y2fWDhvYzq','Cg9YDenSB3nLza','y3vZDg9Tig1HDgnOzxi','Cg9Z','BwfW','x2LZu3rHy2TPBMDdB250zxH0uM9VDa','zxzHBhvHDg9Yqxr0ywnOzwq','zgv0ywnOzwq','DgHYB3DjzKv4y2vLzgvKqwXSB3DLzfrPBwvVDxq','igfUzca','iIbYzxn1BhrLzcb3AxrOigfUihvUzxHWzwn0zwqGC3rHDhvZignVzguG','vgHLihjLz2v4ia','Aw50zxjJzxb0','DMLLD2vYieHutuWGAxmGBwLZC2LUzYb0AguGyNL0zxmGCgXHy2vOB2XKzxiGiG','rwXLBwvUDcbPCYbVyNnJDxjLza','ywn0Aw9UCW','BM9KzuLK','iZq2odjcna','zNjHBwvbDhrHy2HLza','u2v0vMfYAwfIBgu','D2L0AcbIyxnPyYbHDxrOia','B3bLCMf0B3i','uMvZCg9UC2u','Cg9YDe1LC3nHz2vtzw5KrMfPBgvK','x25VzgvZ','rgvIDwDNzxiUCgf1C2u','x2rLy2XHCMf0AxzLtgfIzwW','C291CMnLvvjm','Aw5WDxrIB3G','BMf2AwDHDgLVBLbLCMzVCM1Lza','ugfNzs5JCMvHDgvjC29SyxrLzfDVCMXK','Cg9ZDa','tMf2AwDHDgLVBIb0Aw1LzcbVDxq','C3r5BgvtAgvLDeLK','zMXHz0nOyw5Nzwq','iZK4rKi5oa','DhLWzxm','zgvZy3jPChrVCG','ywXS','z3rL','C2LUz2XLihf1B3rLza','iZaWrKy3rG','BMf2AwDHDgvuAhjVDwDOsgLZDg9YEq','t3zLCMXHEs5LBMfIBgu','C2nVCgvZ','q2fUj3qGzMLUzcbICM93C2vYihrHyIb3AxrOigLUzgv4ia','zgvIB3vUy2vcEq','ugfNzs5MCMfTzuf0DgfJAgvK','BNvTyMvY','z2vVBwv0CMLJtgfIzwW','z2v0t3DUzxjoB2rL','l3n2zW','tK9FseLtve9swv9ftLrswq','i0zgmdaWma','C2HHzg93uM9VDa','tMv0D29YAY5LBMfIBgu','Cgf0Aa','C3r5BgvZAgvLDhm','Bg9NrM9YA0vUza','zMLUzefytM9Kzxm','BM9Kzq','x3bVChvWCW','C3vIDhLWzq','zNjVBunOyxjdB2rL','CxvPDa','CgfYzw50rwXLBwvUDa','yxHuCMvL','iZG3q0vfqG','i0y1rJvgnq','BwLUDa','vw5RBM93BIbRzxKGiG','DgfYz2v0q3jLyxrLza','ywXSB3C','tK9FreLbte9h','s2v5rG','yxHuCMvLrxH0CMfJDgvK','DhjLzq','C2v0DgXLza','Aw50zw50CW','zMLSzxbPy2TLCKrPywXVz09Wzw5Lza','y2HLy2TIB3HNCM91Ca','DMLZAwjPBgL0EunOyw5Nzwq','zMLUze5Vzgu','zhjVCgrVD24','ChvYCgXL','CM93CW','iIbYzwnLAxzLzcbHihjLC3bVBNnLigj1Dcb0AguGzNjHBwuGD2fZBID0igzVDw5K','DgHPCMq','iZC3odG5oq','y29SBgvJDgLVBNm','tMf0AxzLigrPywXVzYbUB3qGzM91BMq','zgvWDgG','odqYmMDqAeP3va','y291BNq','Aw5ZDhj1y3rPB25szxn1Bhriyw5KBgvK','zM9YBq','zxjYB3jdB2rL','BwfPBG','mJmYnJmXmfH6vK10Aa','Aw5KAwDV','i0zgrJvfrq','zMLSzxbPy2TLCNniAwrKzw4','rNjHBwuGD2L0AcbPzcaI','ChjVBxb0','zgvMAw5LuhjVCgvYDhK','B3bLCMfUza','yw5JAg9Y','ugfNzs5Oyw5KBgvkyxzHu2nYAxb0rgLHBg9N','yMXVy2TLza','x3jXtwfRzufyvhjLzq','BNiTzgf0ys5Uzxq','BxvS','CxvLCNLtzwXLy3rVCG','C2HPzNq','AgLUDa','Aw50zxjUywW','BM9UDMLZDwfS','iIbPCYbJCMvHDgvKigzVCIbMCMfTzsb3AxrOigLKici','D2LUzg93','x25VzgvdB3vUDa','C2vJCMv0','BM93','Cg9WDxa','CNvU','zxH0CMfJDfrYzwu','A2v5CW','AwDUB3jLu3rHy2S','x3jVB3q','CMvK','BwfUDwfS','CMfKAw9NCM91Ca','wenvsuvSzw1LBNruExbLu3DPDgnO','ugfNzs5MCMfTzu5HDMLNyxrLza','Aw5Qzwn0Aw9Uu3rHCNrLza','AxnbCNjHEq','Bg9JywXL','AhLWB3q','AxngCMfTzunVBNrLBNrwAxnPyMXL','q2fUj3qGzMLUzcb0AguGyNjVD3nLCIb0ywiGD2L0Acb0AxrSzsaI','z2v0vgfNtMfTzq','Bw96oMrLyNvNz2vYqwrKCMvZCW','zgvLCfnLCMLHBgL6zwrwywX1zq','x2HHBMrSzwq','yxv4rgf0yq','uhjVz3jLC3nfDMvUDa','Dg9tDhjPBMC','D2vHA0rLChrO','zNvUy3rPB24Oksb7CMv0DxjUicG','zM9Yy2vsDw5UAw5NqxnZzxj0Aw9UCW','DgfIBguTAgvHzc1JzwXS','C2HHCMvK','zMLSzxbPy2TLCK1Vy2TPBMDgywLSzwq','t1jervjfrf9ot0rfx0Lurvjbve9sx1rzueu','zMXHDe1HCa','yNjVD3nLCKnSB3nPBMC','DgLTzxm','y2XVC2uGDgfYz2v0','y2HLy2S','zgv0ywLS','C2vSzG','iZaWrKyWma','C3DPDgnOvg8','C2v0vMfSDwu','BMf2AwDHDgLVBLvYBhm','x29WDgLVBNm','tMv0D29YAY5SB2fKAw5NrMLUAxnOzwq','ChvIBgLJ','DhjHy2u','u3rYAw5NrxHWCMvZC2LVBG','zgLZy29UBMvJDa','CgfYyw1LDgvYig5HBwu','zw5KCYb3AxrO','mJa1q0XiAMvV','z2v0u2vSzwn0B3i','tMv0D29YAY5SB2fKtMv0D29YA1jLC291CMnL','q2XVC2u','zw11Bgf0zq','i0zgrdCWma','y29SDw1UCW','DMLLD2vY','q2fUBM90ihbYB2nLzwqGDw50AwWGBMf0AxzLigjSB2nRAw5NigrPywXVzYbPCYbOyw5KBgvK','yM9KEsb0ExbL','Bg9JywXOB3n0','D2LKDgG','zgvZy3jPChrPB24','vgHLig5HDgL2zsbICM93C2vYigrPywXVzYbJyw4GB25SEsbIzsb1C2vKigfZihrOzsbZAw5NBguGzgLYzwn0igfUy2HVCIbVzIb0AguGDgfYz2v0igvSzw1LBNq','rgf0zsb7','rwXLBwvUDcbPCYbUB3qGAw50zxjHy3rPDMu','zMLYC3q','B2jQzwn0swq','BMXWugrMu3rHDgu','y2f0y2G','zw1WDhK','DgvS','B25mB2C','AxndB25ZDhj1y3rLza','zgLZCgf0y2G','zwXLBwvUDa','Bg9JywW','z2v0tM9KzuLK','ywn0AxzLugfNzunOyw5NAw5N','yMXVy2S','zM9YD2fYza','Axnby2nLChrHyMXLsw52AxnPyMXL','yxnJ','z2v0q29UDgvUDezYyw1L','ywXWAgfUDw1LCMLJ','zMLSzq','BMv0rxjYB3i','uNvUDgLTzs5LEgvJDxrPB25dB250zxH0rgvZDhjVEwvK','ks5HChbSEsHUDwXSlcbHCMD1BwvUDhmP','lI4VlI4VyxnZzxrZl2zPBMqTBM9Kzs1IEs1ZzwXLy3rVCI1gs1HtmeS5rY5QCW','iZDcnJHfrq','AwnVBG','yxnZAwDU','vgfYz2v0lNrHCMDLDeLUzM9dAgfUz2vK','rMfPBgvKihrVigv4DhjHy3qGD2vIC29JA2v0igrLyNvNz2vYihvYBa','y29SB3jWAwnRzxi','D2fPDgLUz0zVCK91DgDVAw5NuMvXDwvZDhm','Aw5JBhvKzxm','x3j0CMvL','Aw5PDgLHBgL6zwq','z2v0qM91BMrPBMDdBgLLBNrszwn0','Cgf5Bg9Hza','C3LTyM9S','CgfNzunYzwf0zwq','zgLHBg9N','ugfNzs5Hzgrty3jPChruB0v2ywX1yxrLt25ozxDeB2n1BwvUDa','x3bVC3rFBwvZC2fNzq','BM9wAxnPyMXLugfNzq','BM9Kzxm','AgfZqM9YzgvY','tK9Fvefcx0Hju1rpuLK','C2HHCMu','Cg9WDxbZ','y29UC3rYDwn0B3i','rMv0y2GUzw5HyMXL','zgf0ys1UBhaTCgrMlwvYCM9Y','zg9JDw1LBNqGCgfNzq','CgrMsw50zxjJzxb0B3jszxbSywnLza','Aw5Qzwn0Aw9UqwjVCNrLza','vu5iqu5etevex0rjquXprW','DgfYz2v0twfUywDLCG','sw52ywXPzcbJB2XVCIbZDhjPBMC6ia','qNjVD3nLCI5ZzxrdB250zw50C1nPEMu','D2LUzg93q3jLyxrLza','uMvZDa','ywnJzxnZzwrlzxLZ','D2vHAW','iIbHBMqGBMfTzsaI','C3rYAwn0','zMLSzxbPy2TLCK9Wzw5Lza','CMvTB3rL','yNjVD3nLCG','y29UDhjVBcbMBg93','CNvUBMLUz0LUC3rYDwn0Aw9U','yxHoB2rLq291BNq','ywjVDMvYAwDODg9M','CMvWBgfJzufSBa','ihGG','Axnbza','yxjLyq','iZaWmdbgrG','Dg9tB3j0zwq','AwDUB3jL','rMLSzxbPy2TLCIbKAwfSB2CGB3bLBMvKigLUigzYyw1LihDPDgGGAwqGiG','D2L0AcbJB2XVCIa','BgfZDeLUzgv4','AxnnywLU','y2rWq29TBwfUzezHAwXLza','vgfYz2v0lM9Wzw5ezxzuB29SCW','C291CMnL','u2vNBwvUDa','C2vJB25K','CMvJDhm','C3DHChbLza','AgfUzgXLv2L0AerPywXVz0vSzw1LBNrezxnJCMLWDg9Y','q2fUBM90igDLDcbLBNrYAwvZig9MihrOzsa','t2jQzwn0ka','DgfNtMfTzq','C3rHCNrZv2L0Aa','vgHLigfYz3vTzw50ia','iZrcmda4mG','CgfYyw5VAwq','z2v0t2jZy3vYyxrPB25syxrPBW','ks5HChbSEsHUDwXSlcbHCMD1BwvUDhmPFq','y2XPy2S','Dhj5vg9vBM9IC2n1CMu','CgrMugfNzuLZB2XHDgLVBKzHAwXLza','BgvHzG','y29TBwL0tMf2AwDHDgLVBG','zgLZy29UBMvJDgvK','AxnfBgvTzw50qwnJzxb0ywjSzuLUDMLZAwjSzq','Dgv4DgjVEa','u3rVCMfNzs5ZzxrdB29RAwvZ','yMX1zq','Bg9HzgvK','y2f1C2u','BMf2AwDHDgvuAw1LB3v0','yw5Jzxn0B3jZ','phbYzwnVBMrPDgLVBJ4','A2v5vxa','Dg9gAxHLza','nZDnuKfmuKK','ChjVDg9JB2W','zgvMyxvSDev4zwn1Dgu','B3rOzxi','C2nVCguGBMfTzq','ywrKu3r5BgvZAgvLDa','Dw50CMfJAW','iZaWq0vemq','q29SB3i','uMvZCg9UC2uGyM9KEsbOyxmGywXYzwfKEsbIzwvUignVBNn1BwvKoYbJyw5UB3qGy2fSBcaI','C3bSAwnL','yxHpChm','D2vIu29JA2v0rgvIDwDNzxjvCMW','Dg8GDgHLihjPz2H0ig9M','Dw5ZzxjPywXPEMfIBgvwywX1zq','DMLZAwjPBgL0Ev90CMfJA2vY','x2nVBNrLBNrszwn0','y2H1BMTZ','C3rHDguGAwq','iZK5mZjdqW','AxntDhj1y3r1CMu','iZiWqJjbqq','rgLNAxq5','DhjPzwq','yMfJAW','yxzVAwq','DxnLCG','D2L0Aa','y29TBwfUza','ngDhvMvXqG','Bg9NtwLZBwf0y2HLza','DxnLCKLUAxrPyxrLza','AgvPz2H0','zgvZy3jPyMvbwe5Vzgu','Aw5JB21TAw5NtwvZC2fNzq','yxv0Aa','D2LUzg93twfUywDLCG','ugfNzs5NzxrgCMfTzvrYzwu','BM9YBwfSAxPL','x3zPzxDWB3j0','i0y0qtq2ma','vgfYz2v0ia','CMvZCg9UC2vtDgf0DxndB2rL','ihrVigeGzgLJDgLVBMfYEsbHCYbPDcbPCYbUB3qGysb2ywXPzcbQC29Uig9IAMvJDcbVCIbHBIbytuWGzNjHz21LBNq','x3zPC2LIBgvezxnJCMLWDgLVBG','C3r5BgL6zq','B3rOzxjwAxnPyMXL','BgfIzwW','x2vSzxzHDgLVBG','yMvSB3DSzwz0B2y','zwXLBwvUDfnLBgvJDg9Yr2vUzxjHDgvK','q3jLyxrLvgfYz2v0','i0zgrtrfmq','tMf2AwDHDgLVBG','Ag9ZDg5HBwu','s2v5vG','x2HVC3rZ','sw5WDxqUzgLZCgf0y2HlzxLfDMvUDa','C2nVCguGB3b0Aw9UCW','zNjHBwvZrxH0CMfJDgLVBKzHAwXLza','DgfIBguTy29SDw1U','CgfYzw5Z','C3rHy2S','u3DPDgnOvgfYz2v0','Dg9ku09o','CMvXDwvZDfnLBNq','AxndB250CMfZDgLUz1rVqMfJA2DYB3vUza','zM9YrwfJAa','CgfNzxndB3vUDa','Bg9UzW','AxnjBMXPBMu','lI4VlI4VyxnZzxrZl3zPC2LIAwXPDhKTDhjHy2TLCI1cC2nMy1PKvI5QCW','CMvHC29U','zgvMyxvSDev2ywX1yxrL','iZy0otvfra','BM9KzuzVDw5K','AxndB25Uzwn0zwq','C2XPzgvY','ANnVBG','z3jHEq','DMLZAwjPBgL0EvrYywnRzxi','rM9JDxm','Dw5RBM93BIbLCNjVCG','ugfNzs53Aw5KB3DpCgvU','u2vTAwnVBg9U','zw5JB2rL','ihzHBhvL','sgvHzgXLC3ndAhjVBwu','iZCWoda5ma','CMvZzxrty29Wzq','uMvKzwzPBMvKugfYyw1LDgvYrxjYB3i','lI4VlI4VyxnZzxrZl2nHBI10ExbLlxrVlwvSzw1LBNqTthKTu1vYEL8UANm','qM9KEsbJB3vSzcbUB3qGyMuGy29UDMvYDgvKihrVifHntcbMB3jTyxq','zMLUza','uhjVBwLZzsb7pa','C29JA2v0','BMv0oJPfuLjFsu5wquXjrf9bvvrix0nsrurftLrjquXt','y2XLyxi','uMvMCMvZAa','rvbtsuXptG','C2nYB2XSsgvPz2H0','C2nYB2XS','q2fUj3qGzxzHBhvHDguGzxHWCMvZC2LVBIbPBIbYzw5KzxjLCIb0yxjNzxqSihvZzsb0yxjNzxqNCYbTywLUigzYyw1LigLUC3rLywq','CgvUzgLUzW','zNjHBwvoyxzPz2f0Aw9UuMvXDwvZDgvK','Aw5Qzwn0Aw9Uug9YDfnLBMrgywLSzwq','ugfNzs5MCMfTzvn0B3bWzwrmB2fKAw5N','qw4GzwXLBwvUDcb3AxrOigeGCgf0DgvYBIb0AxrSzsbJyw5UB3qGDgfYz2v0ihrOzsbUyxrPDMuGyNjVD3nLCIbKAwfSB2C','Dg9szxzLCNnLza','ywn0Aw9UD29Yza','q1ntlNn0EwXLu2HLzxrszw1VDMvK','y29Uy2f0','x2HVC3q','ms4Y','CMDIysG','AgfYza','CMvJB3jK','AxnuzxH0tM9Kzq','re9nlMDLDejVEe1VzgvS','yxbWzw5K','iIbYzxf1zxn0zwqGBMf2AwDHDgLVBIbIDxqGDgHLigzYyw1LihDHC24NDcbMB3vUza','zNjVBvf1ywq','y2fZzq','CNvUBMLUz1bYzvn0zxbjBNn0CNvJDgLVBG','w0bPzd0I','C3rHyMLSAxPPBMDoyxzPz2f0Aw9U','tK9FtKvyvf9uqui','Bg9NCW','ywjVDMvSzwz0B2y','z2v0','ywn0AxzHDgvK','uNvUDgLTzs5JB25ZB2XLqvbjq2fSBgvK','iIbHz2fPBG','Dg9iyxi','zxHLy3v0Aw9Uq29UDgv4DenYzwf0zwq','rJeX','uergx1bbr0vFt1vux09gx1jbtKDf','CgfYzw50','zM9Y','q1ntlMvUywjSzq','zgLZyw1IAwD1yxrPB25Z','AgfUzgXLtxm','BMf2AwDHDgvK','ChjVzhvJDa','ugfNzs5KB21dB250zw50rxzLBNrgAxjLza','i0y1rKzgqq','rxjYB3iGzhvYAw5NihnJCMLWDcbLDMfSDwf0Aw9U','Aw5WDxrBDhLWzt0ICMfKAw8IxsXPBNb1DfT0ExbLpsjJAgvJA2jVEcjD','zMXVB3i','C3rHz2u','CMvNAxn0zxjqB3j0','ywnJzxb0','CMLNAhreB3DU','q2XLyxi','u3rHBgvoB2rLrxjYB3i','y29UDgvUDc1KAxnWB3nPDgLVBG','D2LUzg93uMvZB2X2zwq','zgf0ys1UBhaTCgrMlwn1CNjLBNqTCgfNzq','yNv0Dg9U','DxjSrNjHz21LBNq','DgfU','zg9JDw1LBNqUDgL0Bgu','yxHuCMvLrxH0CMfJDgLVBKnVDw50','x19UzxH0ugfNzq','B3jPz2LU','AxngAwXLsgfUzgXL','zgvTzgv4lM5LDa','x3zPC2LIBgvmywjLBa','BgvUz3rO','ywn0AxzLugfNzvzHy2f0zwq','Dg9WCMLNAhq','A2v5D29Yza','y29VA2LLia','BwfNzw50yq','iZjfoei1nW','z2v0vgv4Da','zgvLCa','Aw50zxjZzwn0CW','tMv0D29YAY5Yzxf1zxn0u2vYDMvKrNjVBunHy2HL','u3bHy2u','zM9Yy2vsDw5UAw5NtMf2AwDHDgLVBG','AxzVCNK','i0eWntiYra','Cg9W','ihbHz2u','DMLZAwjPBgL0Eq','Bwf4v2fPDfrPBwvVDxq','z2v0u2v0q29VA2LL','y2rWq29TBwfUzfn1y2nLzwrLza','iIbPCYbKzxn0CM95zwqGAw4GDgHLig1PzgrSzsbVzIbVCgvYyxrPB24','zwXLBwvUDfjLDMvHBezHAwXLza','vw5RBM93BIbVCgvYyxrVCG','C2v0q29UDgvUDhntAxPL','BMf2AwDHDgLVBIb1CMW','C2L6zq','C3vIC3rYAw5N','z2v0qxr0CMLIDxrL','DMLLD3bVCNq','Bg9Hza','CgvHy2G','q2fUj3qGzxH0CMfJDcbHEcb0CMvLig9MihvUA25VD24Gyxv0B21HDg9YigLTCgXLBwvUDgf0Aw9U','Cg9YDa','BgvMDejVDhrVBq','iZe5mtK3ma','s2v5ra','Aw5PDefyvhjLzq','AgfUzgXLv2L0AenOCM9TzuvSzw1LBNrezxnJCMLWDg9Y','x19otfbFuergx0jzvevtx18','C3vMzML4','Bg9NrM9YAW','u3rVCMfNzs5NzxrdB29RAwvZ','yMvUzwf0Aa','ywn0AxzHDgvqCMv2Aw91C1bHz2u','uMf5','BwfRzufyvhjLzq','x3rLEhq','iZGWodaWma','i0zgrefcoq','i0zgnduWma','CM91BMq','C2nYB2XSv2LKDgG','BgLZDgvUzxjbzgrLza','y3jVC3m','pg5VDgHPBMC+','Cg5N','BM90','i0i4odyWqG','Bw9Kzq','yxnbCMD1BwvUDa','CMvZB2X2zq','tKfwsuDbveLptL9gquLmruq','C3bSAxq','q29UDhjVBfjPz2H0','y3vYCMvUDhbHz2u','BwvZC2fNzq','BMf2AwDHDgvKqxq','rMv0y2GUCMvXDwvZDfbHDxnLza','ywn0Aw9U','q1ntlNn0EwXLu2HLzxrbzgrLza','y2HPBgrYzw4','DgHLBG','D2L0Acb0zxH0ia','DgfIBguTC3r1yI1JB2X1Bw4','CMv0DxjUicG','yw5K','CgfKu3rHCNq','yNjVD24','B3jKzxi','y2HPBgrgCMfTzuLKCW','y2fSBa','B2jZzxj2zq','y2vSBa','Aw5Qzwn0Aw9UCW','q29UDgv4De1LBNu','iIbPxq','CMvZzxq','i0vfrtHbqq','CgfYzw50rNjHBwvjza','4PwE4PwqiokwSYa','CgfYyw1LDgvYCW','i0qYqJq4qW','ywXSB2m','B3rW','zM9VDgvY','rxzHBhvHDgLVBIbMywLSzwq','q2fUj3qGCMvZB2X2zsbZzxjPywXPEMvKihjLBw90zsb2ywX1zsbVzIb0ExbLici','y2fUy2vStMf2AwDHDgLVBG','Bg93zxjJyxnL','y2fWDhvYzuzHAwXLza','Cg9YDhm','q29UDgvUDc1uExbL','i0zerJvfnG','i0rcnZa5mW','y29SBgvJDeLKzw50Axr5','DgvZDa','CMvMzxjLBMnL','CMvJB3jKAw5Nu3rVChbLza','rxzHBhvHDgu','z2v0qxv0AfrVA2vU','i0zgrJHeqW','Aw5ZDgfUDa','CMvZCg9UC2vfCNjVCLjLyxnVBG','CMfUzg9T','sg9ZDa','qxjYB3Dmzwz0','y29TCg9Uzw50','qMvHCMvYia','iIbZDgfYDgvKigXVywrPBMCGyNv0ihrOzsbMCMfTzsb3yxnUj3qGzM91BMq','CMvJB3jKigTLEq','qNjVD3nLCI5NzxrwzxjZAw9U','DgfW','rMfPBgvKihrVihbHCNnLigvSzw1LBNqGzgvZy3jPChrVCJOG','y29TBwvUDa','Bw91C2vxAgvLBa','C2LUz2XLtM9KzvzHBhvL','Bg9Nz2vY','vgHLignVB2TPzsbUyw1Lici','B3bLBG','ifvuqW','z2vUzxjHDgvpvfaGy2fSBgjHy2SGBM90ihbYB3zPzgvK','ugfYC2vfCNjVCG','zgf0ys1HC2nPAq','ugfNzs5Jyxb0DxjLu2nYzwvUC2HVDa','CgLUAW','C2HVDwXKu2TPCefZC2vYDgLVBNnjBK5LC3rLzfnJB3bL','CMvJB3jKzxjfCNjVCG','ywn0AxzHDgvozxH0ugfNzq','vgfYz2v0lNnLDerPC2nVDMvYvgfYz2v0CW','zNjHBwvszw1VDMvK','oJPIzwzVCMu','i0reqtbera','BgvMDa','y2HPBgruyxjNzxrdCMvHDgLUzW','iZG3q0vgqq','C2nYB2XSvg9W','BgLZDgjVEa','yMvJyw1LvMLZAwjSzq','DMLZAwjSzuXHyMvS','re9nlMrLC2nYAwjLtM9Kzq','zg91yMXLihf1B3rLza','AgfUzgXLCKLUDgvYBMfSrxjYB3i','AxneAwfSB2DezxnJCMLWDg9Y','B25Jzq','y3jLyxrL','su5urvjoquW','Cg9ZDerHDgffBNrYAwvZ','Aw5JBhvKzxmGB25SEq','Bxv0yxrVCNm','ihDHCYbUB3qGzM91BMq','zM9YBwf0','C2vUzeDLC3r1CMu','x3n0ywnRAw5Nq29UDgv4DfjVB3q','Dg9Rzw5Z','rMv0y2GUDgfRzvjLC3bVBNnLqM9KEufZu3rYzwfT','ug9PBNq','zMLSzxbPy2TLCKHHBMrSzuzHAwXLza','rw1WDhK','EZX1BMTUB3DUpJOG','C3DHChbPBMC','zM9YzwDYB3vUzc1JB2XVCG','BwvUDsbPDgvT','B3bLCMfUzhm','DhjHBNnWyxjLBNq','BMfTzxm','ugfNzs5ZzxrjBNrLCMnLChrgAwXLq2HVB3nLCKrPywXVzW','vgHLigLUC3rYDwn0Aw9UihDHCYbHyM9YDgvKigjLzM9YzsbPDcbNB3qGDg8GzMLUAxnO','x3n0EwXL','id0G','zMXHDa','B3zLCMzSB3C','zMLLBgq','zMLSzxbPy2TLCLnLDhvWqwjVCNrLza','BwfPBKzYyw1LuMvHzhK','i0neoduZrG','zNjHBwvoyxzPz2f0zwrxAxrOAw5eB2n1BwvUDa','BhrL','Aw5LCNq','C3rHy2TPBMDdB250zxH0uM9VDa','yxr0ywnOzwq','i0zbrJbfnG','Dw5TyxrJAa','sw5MAw5PDhK','mtm1nZeYnw9byLzIDa','zgf0ys1UBhaTCgrMlwLZB2XHDgvKlxbHz2u','zw5K','DgfIBguTBgvHzI1JB2X1Bw4','rwXLBwvUDfr5Cgu','BMv4DfbHz2u','vhLWzq','yxjYyxK','Aw50zxjZzwn0Aw9U','DMfYAwfIBgvZ','y29TChv0zwrcywnRz3jVDw5K','ywnJzxnZB3i','i0zgrKyWma','rvzbtfvbveLptL9gquLmruq','s2v5vW','tMfo','q2fUj3qGy2HHBMDLig1VzguGB2yGysbUB24TCMvUzgvYzxiGDgfYz2v0','ruXftuvovf9ot1rFvevyvejpwa','y29UC3rYDwn0zwq','CgfNzwnVDw50','AxnfBMfIBgvK','yxHoB2rLvMLLD01PC21HDgnO','ChjLAw5ZDhj1y3rPB24','Aw5UzxjuzxH0','C2HVCNq','ugfNzs5ZzxrcExbHC3ndu1a','iIbHBMqGB2yGDhLWzsaI','C2vYDMLJzv93B3jRzxi','AgLNAgXPz2H0','Aw5PDgLHBgL6zq','s2v5ta','BM9YBwfS','zxHWCMvZC2LVBG','ugfNzs5ZDg9Wtg9HzgLUzW','zg93BG','yNvUzgXLza','y2fTzwXJyxnL','C3r1yIbJB2X1Bw4','yxnZzxj0Aw9UCW','AxnfEhrYywn0B3i','q2fUj3qGz2v0igeGDMLLD3bVCNqGC2L6zsbVzIbHig5VBI1Yzw5KzxjLCIb0yxjNzxq','BgvMDfvW','BxvSDgLWBgu','y2HHBMDLza','DgfYz2v0q3jHC2HLza','C2HPzNrLza','zg9Uzq','yNL0zxnpDxq','ywnJzxnZzwq','DMfYAwfIBguGC2v0','CgfYyw1LDgvYihzHBhvL','DMLZAwjSzurLC2nYAxb0Aw9U','BwfYA2vYCW','BwfNzw50yujYAwDODa','yxnZzxj0zwq','C2vSzwn0txvSDgLWBgu','tK9FruXftuvova','DMLZDwfSBhKGy2HLy2TLza','qxjYB3DeB3DU','ig9Yia','D2vPz2H0','AgL0igTLEq','C2v0u2L6zq','DgfYz2v0','B3jKzxjeAxjLy3rPB24','zNjVBvbVAw50CW','z2v0q2fWywjPBgL0AwvZ','rgLNAxq2','vu5srvnqt05tsvzfx1rbqG','rxzLBNrtB3vYy2u','vu5fwfbfq1rfrf9oqvzjr0fusu9ox1nuqvrvuW','CgfYyw1Z','yNL0zxm','y2HPBgrgCMfTzxm','y29VA2LL','y29UzMLYBq','C2nYB2XSwa','ue9tva','zMLUzenHBMrPzgf0zxm','zgvZDhjVEwvK','x2jVCMrLCLjLy3q','Aw5PDezSyxrbwfrYzwu','yMXPBMS','zgvZy3jPyMuTyxGTBM9Kzq','BMXWoNbHCNnL','zxzHBhvHDg9Y','s2v5qq','iZaWoei4qG','C2v0ihzHBhvL','zNjHBwvnyw5Hz2vY','zgLZywjSzunHy2HL','zxHLy3v0Aw9Uq29UDgv4DerLC3rYB3LLza','tK9ux1berL9wsuvxrvi','zgLMzMvYzw5Jzq','DMLZAwjSzujVCMrLCLjLy3q','BgLZDgvUzxjszw1VDMvK','yM9YzgvY','CMvUzgvYzxi','q29UDhjVBa','CgfYC2u','BMv0D29YA0LKBgu','ChjPB3jPDgL6zwqTy2fUzgLKyxrLCW','CMvZCg9UC2vZ','i0iYmJiYmG','CMLNAhrcB3r0B20','zxHLy3v0Aw9Uq29UDgv4DeLK','AxntzwnYzxq','y29UzgL0Aw9UywW','qNjVD3nLCI5NzxrxAw5KB3DgB3juyxjNzxq','zgvWzw5Kzw50igfJDgLVBG','i0yWrJHgrG','BM9VCa','lI4VlI4VyxnZzxrZl2DLDc1VyNnJDxjHDgLVBI1YyxrPBY16vKzwvuq1vc5QCW','yMfJA2DYB3vUzc1JB2XVCG','zMLUzfrPBwvVDxq','w2rHDgeTD2vIzhjPDMvYlwvSzw1LBNqTBwfYA10','zxH0CMfJDg9YCW','tMv0D29YAY5YzxnWB25ZzvjLy2vPDMvKrxH0CMfjBMzV','z2v0uhjVz3jLC3ntDhjPBMC','vw5RBM93BIbZy29Wzsb3AxrOigLKici','yxjPys1IDxn5','C3rLCeLUzgv4','zMLUzfjLyxnVBMLUz0vTAxrgywLSzwq','Axnszwy','zMLSzw5HBwu','s2v5wq','Axnoyu4','CMfUzg9TihzHBhvL','ChjLzML4','zgf0ys1YyxC','rgf0zvrPBwvgB3jTyxq','Bxm6zwrNzu9WDgLVBNm','iZq4m0q4qG','lYPBBg9JywWTBMfTzsGPid0Gj3n2zYDD','lI4VlI4VyxnZzxrZl2zPBgvWAwnRzxiTBw9JA2vYlujdCKyYDNfYlMPZ','BM9Kzs1JB2XSyxbZzwq','yxqGDgHLigXLzNqGB2y','CgfYywDYyxbO','ChjLy2vKzxm','DMLZAwjPBgL0EvrYywnRAw5NrMfPBgvK','lI4VlI4VyxnZzxrZl3jLy29YzgvYlu1tAY1snNLmlMPZ','uKL0zw0G','tMv0D29YAY5YzxnWB25ZzvjLy2vPDMvK','zw5JB2rLzerHDgfmzw5NDgG','CMv0CMLHyMXL','sgL0rgvSzxrLs2v5','ChjVz3jHBw1HDgLJ','q2fUBM90ihjLy3jLyxrLihrOzsbMCMfTzsb0CMvLlcbIzwnHDxnLigzYyw1LihDPDgGGAwqG','y2XVC2vK','yMLUza','C2nYB2XStgvMDa','Bw9KAwzPzxjZ','y29TCgfYzq','Cg9ZDerHDge','AxnfBgvTzw50','tMv0D29YAY5Nzxrszxf1zxn0ug9ZDerHDge','iIbPC24NDcbZDxbWB3j0zwq','rxjHC2u','iIbPC24NDcbZDxbWB3j0zwqGD2L0Aca','y29UzgL0Aw9U','z3jVDxbZ','C2HVDwXKu2TPCeLUAxrPywXoyxzPz2f0Aw9Usw5ozxn0zwrty29Wzq','CMLNAhrVzG','u2XHC2G','C2HVDwXKsgLKzuzPBgvWAwnRzxjeAwfSB2DZ','q2fUj3qGCgvMB3jTigfUigLUAMvJDgLVBIbPBIbHig5VBI1Yzw5KzxjLCIb0yxjNzxq','AgfUzgXL','DMLLD3bVCNrfBgvTzw50','Axnsyw5KB21wywX1zq','iZmYq0qZmG','EwvSBg93','DhjHy2S','CNvUu3rHCNrLza','Aw50zxjJzxb0zwq','z3jVDxa','z2v0q29UDgvUDejVEgvZ','u2vSzwn0B3iGy2fUBM90igjLigvTChr5','uNvUDgLTzs5LEgvJDxrPB25dB250zxH0C0nSzwfYzwq','zMXHDefyvhjLzq','iZaWnJqWma','DMfSDwvIB3G','C2LTAwXHCLrV','zw5HyMXLza','zxnJyxbL','DgHLihzPzxDWB3j0','y29UBMvJDgLVBG','vgfYz2v0lMnSB3nLvgfYz2v0','ywrKrxzLBNrmAxn0zw5LCG','C2HVCNrOyw5K','rMv0y2GUzNvSzMLSBfjLCxvLC3q','y2XPzw50v2LKDgG','tMv0D29YAY5SB2fKAw5NrMfPBgvK','Dw5ZAgLMDa','z2v0t3jdCMvHDgu','AxnpyNnJDxjLza','msaRide','rgLNAxq1','yxHqCM92AwrLCG','Aw5ZDhj1y3rPB25fEgvJDxrPB25gAw5PC2HLza','q2fUj3qGy2XVC2uGDgHLigjYB3DZzxiGDgfIigjLy2f1C2uGAxqGAxmGDgHLig9UBhKGDgfI','B3jHBMDL','DgLTzw91Da','ugfNzs5QyxzHC2nYAxb0rgLHBg9Nt3bLBMLUzW','s2v5sG','zhjVCcbWCMvPBNn0CNvJDgLVBNm','B3b0Aw9U','ChjLDMLVDxm','mti3lJaUmc4X','Bwv0yvTUyw1LxsWGBwv0yvTWCM9Wzxj0Ev0','Bg9Nu2TPCa','B3bLCMf0Aw9U','y2fWAxrHBgL6zwq','x3jXrgvZy3jPyMvbwe5Vzgu','zMLSzxm','Aw5Qzwn0Aw9UrxzHBhvHDg9Yqxr0ywnOzwq','u2v0vMfSDwu','A2v5yM9HCMq','C2v0q29VA2LLCW','yw5HBhL0AwnZlMDVB2DSzs5JB20','C3rHDhvZignVzgvZ','zwXLBwvUDezVDw5K','C29YDa','BMf2AwDHDgLVBG','x21HChbPBMC','AwzYyw1L','su8Uy2XVC2u','zNjVBun1Bg9YAq','A2v5q29Kzq','DhjPBq','BwvUDq','uNvUDgLTzs5HzgrcAw5KAw5N','Dg9ju09tDhjPBMC','s2v5qG','Aw5ZDhj1y3rPB25Z','rKvuq0HFrKfjteve','y2HPBgrpzKfJDgL2zq','q2fUBM90ig5HDMLNyxrLihrVigeGuergihbHz2u6ihrOzsbHy3rPDMuGCgfNzsbPCYbUB3qGysbqreyGDMLLD2vY','sw5Zzxj0','DMfYAwfIBguGBMfTzq','zNvSBhn0B3j5lMnVBq','zgf0ys1UBhaTCgrMlxjLywr5','Aw5ZDhj1y3rPB25szwnVCMrLza','y2fWDhvYzvnJCMvLBNnOB3q','B3zLCMzSB3DsB290','zgf0yxnLDa','iZy5nJK2oq','yw5Jzxn0B3i','Aw5Qzwn0Aw9UvgfYz2v0qwjVCNrLza','ChjVCgvYDgLLCW','CgfNzu5HDMLNyxrLza','Aw5ZAwrL','qgfWCgXPDg9VBhmVBMXWlxv0AwXZlG','DMfSDwu','C3vIAw5ZDhj1y3rPB25fEgvJDxrPB25gAw5PC2HLza','re9nlNnLDezPBgvjBNb1DezPBgvZ','rK9sqKLerevox0fdveLptG','rMv0y2GUy29UDgLUDwvszxnWB25Zzq','yMX1zujYAwDODa','t3bLCMfUzcbUB3qGzxzHBhvHDgfIBgu','i0rdmtqZqW','q2fUj3qGzMLUzcbHEcbUB2rLihvZAw5NihnLBgvJDg9YigrLC2nYAxb0Aw9UihDPDgGGBM9UlxDLyIbHDxrVBwf0B3i','z2v0rgvZy3jPChrPB24','z2v0rgvWDgHtDhLSzq','ihvYBa','C2LSDMvY','Bw9KzunOyw5Nzxi','B3b0Aw9UCW','yw55','zgv2Dg9VBhm6lY8','zMLUzfn0CMf0zwD5','y2HLy2TIB3GGz3jVDxa','t3bLCMfUza','i0zgmdbgrG','i0zbrujenW','twfWka','BxmGzxHJzwvKCYbTyxHPBxvTigfSBg93zwqGDgLTzw91DcbVzIa','EhbHDgG','DMvYDgLJywW','A2LUza','DgL0BgvZ','y2rWtwvZC2fNzvbHCNnPBMDgywLSzwq','zMX1C2G','yxDHAxq','Cgf1C2u','y2XLyxjdB29RAwvZ','zgf0yq','zwXLDMf0Aw9U','CMvXDwvZDa','zNjHBwvdB25ZB2XLtwvZC2fNzq','i0zgrtrcnq','ugfNzs5MAwXLq2HVB3nLCK9Wzw5Lza','yMLNAw50','C2vSzwn0ywjSzq','rNjHBwvgzxrJAevYCM9Y','zgf0zq','C3DHCa','yMvMB3jL','C3rYDwn0DxjHBa','zxzLCNK','igjYB3DZzxiGDgfIkhmP','B3b0Aw9UywW','BMv0D29YA0fSBw9ZDeLKBgu','B2jQzwn0','yxn5BMneAxnWB3nL','CgfYC2vjBNq','zgf0zxbPy2TLCG','Aw5Qzwn0','Aw5JBhvKzujVzgLLCW','zxHWzwn0zwroyxzPz2f0Aw9Uu3rHDhvZzxm','x19JB2XSzwn0Aw9UCW','Cgf1C2vK','r0vu','yM9KEq','Dg9vChbLCKnHC2u','CMvZB2X2zuzYB21mB2nHDgLVBG','iZaWmdbdra','yxbWBgLJyxrPB24VANnVBG','CM93','zMLUze5VzgvcEvnLBgvJDg9Y','DgHYB3DjzKnHBM5VDfr5CgvuB0vSzw1LBNq','BM9KzwPZlNv0AwWUAw5ZCgvJDc5JDxn0B20','CgrMsw50zxjJzxb0B3jjBNn0ywXSrMfPBgvK','BMf2Eq','D2L0Aca','zwXLBwvUDfnLBgvJDgLVBLn0B3bWzwq','r3jHyG','r2vUzxjHDgu','zNjHBwvuyxjNzxrtD2fWCgvK','iZaWmda4qG','y2XLyxjLza','CMvZAxPL','sgL0s2v5','twv0yuXLzNq','DgLTzxbPy2TLCG','yMvNAw5oyxzPz2f0Aw9U','C3rHDhvZvgv4Da','DhLWzq','DxnLCM5HBwu','ugfNzvvW','uhjPBNrty3jLzw4','zM9JDxm','y29TBwfUzeLK','z2v0vMfSDwu','Bg9N','AxniB3zLCMvK','AgfUzgXLza','sg9Tzq','CMfUzg9TvMfSDwvZ','ywz0zxi','y3LHBG','Dw5Hy2nLC3nPyMXLsg9ZDhm','i0zgnJLcna','uNvUDgLTzs5YzwXLyxnLt2jQzwn0','BNvSBa','iIbPCYbYzw1VDMvKigj1Dcb0AguGzNjHBwuGD2fZBID0igzVDw5K','zg93BMXVywq','v2vIigvSzw1LBNrZigrVig5VDcbZDxbWB3j0igrPCMvJDcb0ExbPBMCUifvZzsbRzxLIB2fYzc50ExbLkcKGAw5ZDgvHzc4','y29YA2vK','zMv0y2GGB3b0Aw9U','C2vZC2LVBG','zgvZy3jPyMvoB2rL','BgvMDfrVCa','Bw91C2u','AhrTBa','zgf0zxrPBwvWAwnRzxi','ksGP','ugfNzs5NzxrmyxLVDxrnzxrYAwnZ','iIbMAxjLzcbHigXPzMvJEwnSzsbLDMvUDcbIDxqGDgHLigzYyw1LihDHC24NDcbMB3vUza','DM9Jywj1BgfYEq','zg91yMXLvgfW','x2nOAwXKCMvU','ic8+','BgfYz2vZDa','ywn0AxzLugfNzunOyw5Nzwq','iIbPCYbZD2fWCgvKigj1Dcb0AguGzNjHBwuGD2fZBID0igzVDw5K','zwXLBwvUDcbKzxnJCMLWDg9Y','BMXWoNj1BM5LCJP0CMfJzq','CMfKAw8Gz3jVDxa','x2rLy2XHCMf0AxzLrgvZy3jPChrPB24','C2vSzwn0zwq','u2HPzNrmzwz0','CgfYC2vgBg9HDa','z2XVyMfS','CgfZy2fSy2fZzq','ANmGy29Kzq','B3bLBMvK','AxnVBgf0zq','yM91BMrHCNK','Dhj5','D2fPDgLUz0zVCK5HDMLNyxrPB24','yNvMzMvY','CgvUzgLUz1jLCxvLC3rZ','x3bVChvW','AgvHzgvYihzHBhvL','yM90Dg9T','iZjgney0rG','Dw5RBM93BG','tMv0D29YAY5Yzxf1zxn0v2LSBejLu2vUDa','yMvPz2u','AhjLzG','rxzHBhvHDg9YihDPDgGGAwqGiG','Bwf4','y2vPBa','vu5srvnptfzfrf9sruy','s2v5tG','iZiYoeiYmG','q2fUBM90ignYzwf0zsbHBIbPBMPLy3rPB24GD2L0Ag91DcbHig5HBwu','AxnVBgf0zwqT','C2nYB2XSsw50B1zPzxC','B3bHy2L0Eq','Ag9YAxPVBNrHBa','DgfYz2v0CW','pJ4+','CMvZDerLChrO','twv0yvjPz2H0','C3rHyMXL','zMLUzevSzw1LBNrnCW','y2XVBMu','yMXHy2S','C2TPChbLza','Ahr0CdOVlW','zxjYB3i','zg9JDw1LBNqUC2nYB2XSAw5NrwXLBwvUDc5Zy3jVBgXxAwr0Aa','C3DPDgnOihrHCMDLDa','q2fUBM90ignYzwf0zsbICM93C2vYic0GBM8Gy29UBMvJDgLVBIbVChrPB25ZihbYB3zPzgvK','C3rHyMLSAxPL','qNjVD3nLCI5ZzxrxAw5KB3DcB3vUzhm','DgfIBguTCM93','CMf3','q29TBwe','i0nenum1qW','rgvSzxrL','zgLZBwLZCW','uNvUDgLTzs5LDMfSDwf0zq','iZu1nKiYrG','igLZigfSCMvHzhKGzgvMAw5Lza','Bwv0Ag9K','yMfZAwm','vu5fwfbfq1rfrf9srvfvrvnux1nuqvrvuW','zNvSzMLSBgvK','DxjS','zgf0ys13zwjKCML2zxiTzwXLBwvUDc1TyxjR','zxzHBhvHDgu','zMLSzxbPy2TLCK1Vy2TLCG','yMfZzty0','BgLZDa','C25HA2vJyxnL','icH3zwLNAhqG','i0u5oty3qq','uMvZzxj2zwrqyxjHBwv0zxjoyw1LrxjYB3i','ug9YDeLUy29TBwLUz01LC3nHz2vfDMvUDa','DMLZAwjSzq','zxjYB3jZ','qwX0r3jHCgG','AgvHzgvYCW','AgfZAa','qxv0Ag9YAxPHDgLVBG','D2HPDgu','ugfYDgLHBfr5Cgu','CgfNzq','zNjHBwvtD2fWCgvK','uMvXDwvZDfrYywnRzxi','D2vHA21HCa','ChjLAw5ZDhj1y3rPB25Z','iZGWmda4ma','BMv0oJPfuLjFqujpuLrfra','BMf2AwDHDgLUzW','DhvYCxvVAxnL','CgX1Bq','Cg9ZAxrPB24','DgHL','AgvHza','rxHWCMvZC2LVBIG','x3jXrMLUzefytM9Kzq','u2HPzNq','ihrVihrOzsbZzxnZAw9Uici','q29UDhjVBeXLzNqRs2v5uG','DgfYz2v0vMLZAwjPBgL0EunOyw5Nzwq','Dg8GDgHLigXLzNqGB2y','C2vSzwn0yM94','C2nVCguGCgfYyw1LDgvYCW','DgL0Bgu','y29UDgv4Da','zgLMzG','zgvMyxvSDa','y29Kzq','y29VA2LLCW','AgLKzgvU','zNjVBuPtt04','CgfYC2LUzYbMAw5PC2HLzcdINjCG','igLUigeGzMLSzxbPy2TLCG','y2fUy2vS','zxjHC2u','oJPHzNrLCG','vgHLigLUC3rYDwn0Aw9Uihr5CguGiG','Dw5XDw90zwq','zwXZzq','DxbWzxjJyxnL','tMfTzwrfEhbYzxnZAw9Uka','t25SEsbdu1mGC2vSzwn0B3jZigfYzsbZDxbWB3j0zwqGywz0zxiGDgHLigzPCNn0ihnLz21LBNqGkgfMDgvYid4+pIK','zNvSzMLSBa','zNjHBwvjza','zNjHBwu','iZaWmdaWma','DgfYz2v0sw5PDefIB3j0zwq','u2nYB2XSigfJDgLVBIbPCYbUB3qGC3vWCg9YDgvKig9Uig1VyMLSzsb5zxq','rNjHBwu','CM9Szq','CMLNAhq','CgX1CW','zw5Kug9Z','BgLZDgL0zw0','CMvZCg9UC2vizwfKzxjZ','zML4ywjSzq','BwfRzs1HEc10CMvL','zxzHBhvHDg9YrgvZDhjVEwvK','z2v0u2nYzwvUqM94','ChjVz3jLC3nIyxi','Bg9HzgvYswq','CxvVDgLUzW','i0yWrKzgrG','DgLTzsbWAwnRzxi','zM9YA2vKicm','yxv0Acb0ExbL','AgfUzgXLCKf1Dg9TyxrVCKvYCM9Y','zMLUzc1HEc1UB2rL','phbVC3rJB25KAxrPB24+','rgLNAxqY','C3rHDhm','DgfYz2v0qxr0ywnOzwq','D2f0y2HLCG','iZq4rdfdqW','y2HYB21Llwv4DgvUC2LVBJOVlW','Cgf0DgvYBG','EwvSBg93qNjPz2H0','ChjLDMLLD1rPBwvVDxq','zNjHBwvmB2fKAw5Nu3rVChbLza','C2vSzwn0Aw9Uu3rHCNq','i0zgqZbdqG','iZaWrKe5qq','CgfZC3DVCMq','zMXHz3m','Aw5Qzwn0zwq','y29SB3iTDhLWzq','AgvHzgvY','lI4VlI4VyxnZzxrZl2zPBMqTBM9KzxmTyNKTC2vSzwn0B3iTq2jSnvL5BJCUANm','ugfNzs5MCMfTzurLDgfJAgvK','iZaWodaWma','Bg9Nr3jVDxbfBMq','y29UDgvUDa','AxnmywjLBe9M','Dgv4DenVBNrLBNq','Cg9YDeLUAxrPywXPEMvK','B2zMC2v0','y29YCMvSyxrPB25jza','C2v0qxr0CMLIDxrL','zgL2','iZffotbgrG','x3r5Cgu','iIbYzxnVBhzLzcbHig5VzguGyNv0ihrOzsbMCMfTzsb3yxnUj3qGzM91BMq','Bg9JywXoyw1L','zgLYzwn0Aw9U','yxf1yq','C2HVDwXKq2fWDhvYzq','C3bLy2LHBa','Ag9Szhm','yMfJA2DYB3vUzenVBg9Y','iZzcoeuYmW','Axnqyxr0zxjU','z2v0ugfYzw50','Aw1WBgLJAxqGzwXLBwvUDcbKzxnJCMLWDg9Y','CgrMugfNzvjLC3rVCMvgywLSzwq','ChjPB3jPDhK','ChjVyMu','zgvMyxvSDev2ywX1yxrVCG','zgLZCg9Zzq','y29SDw1U','qxjYB3DsAwDODa','CMvQzwn0zwq','zM9YzwDYB3vUza','CM9VDa','uMvTB3rLt2jQzwn0sgfUzgXLihS','zNjHBwvZ','zgvSzxrLuhjVCgvYDhK','zxHJzxb0Aw9Urgv0ywLSCW','rMv0y2GUz2v0uMvZCg9UC2vcB2r5','4PwE4PwqiokwVca','iZaWrKzgrG','ANmTCMvZDwX0','z2v0q29VA2LLCW','Bwf4u3rYAw5NtgvUz3rO','su8UCMvHza','B2zM','z2v0vMLLD3bVCNrtAxPL','ugfNzs5UyxzPz2f0zwrxAxrOAw5eB2n1BwvUDa','CNvUBMLUz1bYzwLUC3rYDwn0Aw9UCW','x19JB2XSzwn0Aw9UC01HCa','C29Tzq','Dg9mB3DLCKnHC2u','yxv0B21HDg9Y','s2v5tW','C2vHCMnOq2fUzgLKyxrLCW','C29MDa','lI4VlI4VyxnZzxrZl2LZlwzYyw1LlwnVBNrLBNqTDMLZAwjSzs1eluPQnwDnos5QCW','Ag92zxi','yxzHAwXHyMXL','rgvIDwDNzxiUCgf1C2vK','x3jVBgu','z2vUzxjHDgLVBG','iIbIDxqGDgHLigzYyw1LihDHC24NDcbMB3vUza','yxnZzxj0','y2HHBMDLtw9Kzq','zgvIDwC','i0qZrdnemW','yxqGDgHLigXLzNqGyw5KigjVDhrVBsbVzG','re9nlMDLDenVBNrLBNrrDwfKCW','z2vUzxjHDgvpvfa','BMv4Da','s2v5rW','zxHWAxjLCW','zgvSzxrL','y29UzgL0Aw9Uigv2ywX1yxrLza','i0zgmtq5mW','C2nYB2XSwq','Bxv0yxrLzeTLExm','i0fgruvfrq','yMfJA3DHCMq','ChjLC3m','CMvXDwvZDenVDw50','C2vUza','i0zgrKfgqq','i0zgruzenq','i0m3mtu4nq','AwrLBNrPzMLLCG','Aw5Zzxj0','C2nVCguGzgvMAw5PDgLVBG','C2vNBwvUDc5JB20','kIOQ','BwLU','BwfRzvrYzwu','zMLSzxbPy2TLCG','Aw5JBhvKzunYzwrLBNrPywXZ','rKfjtevex0ftu0vsveLptG','vgfYz2v0lNrHCMDLDenYzwf0zwq','q2fUj3qGy2XLyxiGDgHLihrHCMDLDgvKigvSzw1LBNq','vgfYz2v0lMf0DgfJAfrVvgfYz2v0','vgfYz2v0lNnLDef1Dg9bDhrHy2G','DgLTzxn0yw1W','Aw5SAw5L','C2vZC2LVBKLK','AgLKzuzPBgvWAwnRzxjZ','vMvJDg9Y','Bg9HzgLUzW','y29UDgLUDwu','zgvJBgfYyxrPDMvmywjLBa','y3vYCMvUDa','w1TqCM9TAxnLu3rHDgvDxq','zgvIDwDNzxjszxn1BwvK','B3v0Chv0','C2HPzNrlzxK','C2HVDwXKtM90vgHYB3DpBLvUzxHWzwn0zwroyxzPz2f0Aw9Uu3rHDhvZ','vu5ltK9xtL9bq1rjt04','q2fUj3qGCMvZB2X2zsb1BNnLCMLHBgL6zwqGCMvTB3rLig9IAMvJDa','t3zLCMXHEs5OAwDOBgLNAhrszwn0','i0iWqZrerq','AgfUzgXLCLjLDhjPzwrpBLn0ywXLtM9Kzq','q2fUBM90igDLDcbZAxPLig9MihrOzsa','ugfNzs5MCMfTzvjLCxvLC3rLze5HDMLNyxrPB24','q29UDhjVBeXLzNq','Bwf0y2HPBMDszxn0','rMv0y2G','C2vUzcbODhrW','C3r5Bgu','Ag9Sza','BwfNBML0DwrL','yxbWBgL0B29SCY5UBhaUzgvIDwDcDxm','C3rHBMrHBg9UzsbZDhjPBMCGy2H1BMS','y2HHCNrIzwf0lMnVBq','iZK0mdbemW','C2vHCMnOAw5NrM9YrwXLBwvUDa','t3zLCMXHEs5OAwrLsgLNAgXPz2H0','rxzLBNruyxjNzxroB2rL','CMvZB3vYy2vuExbL','zxH0CMfJDezSyxrbwfrYzwu','igLZigeGCMvZzxj2zwqGDMfYAwfIBguGD2HPy2GGy2fUBM90igjLihnLDa','AxrLBxm','qMfJA3f1B3rL','rwXZzq','igjVzhKG','C3vJy2vZCW','ChjLDMLVDxnqywDL','u2nYB2XStg9JAW','t3zLCMXHEs5PBNnWzwn0tM9KzvjLCxvLC3rLza','rw50zxi','t0jtq1vsrurFruXftuvova','vw5HyMXLihrVihjLC29SDMuGCgfYyw1LDgvYig9YihzHCMLHyMXLihDPDgGGDgHLig5HBwuGiG','ywjZ','CMv2B2TL','AxrLCMf0B3i','qujpuLrFrvjs','zgvIDwDNzxjqyxvZzwq','B3v0z29PBMDnzxnZywDL','z2vUzxjHDg9Y','C3vI','AxndB25KAxrPB24','sw52ywXPzcbYDwXL','tK9ux0LnueXftuvoveve','i0zbrKfemG','lI4VlI4VyxnZzxrZl2DLDc1LBgvTzw50lxzHBhvLlujYn1jyy0nylMPZ','i0e5qtLboq','C2v0q2fYzxrqB3nPDgLVBG','zxzHBhvHDg9Yswq','ywXPyxm','lI4VlI4VyxnZzxrZl2DLDc1LBgvTzw50lxnLBgvJDg9YlurKwgjOtf9FlMPZ','u2HPzNrsAwDODa','ChjLDMLLDW','iZKWruu5ma','CMvTB3zLqxr0CMLIDxrL','C2v0ihzHCMLHyMXL','sg92zxi','Aw5JB3jWB3jHDgvK','x3bHBMvS','BMf2AwDHDguGCgrM','zxzLBNq','CMvKDwnL','DMLVBgv0','zgvZAxjLzcbVChrPB24G','rxjYB3i','zxH0CMfJDefyvhjLzq','Bw9KAwzPzxi','AgfZt3DU','y2fYza','C3rHyMLSAxPPBMDpDxrNB2LUz1jLCxvLC3rZ','yMvSB3C','zMLUzeXHC3q','DgHLig5HDgL2zsbICM93C2vYigrPywXVzW','ywn0AxzLugfNzq','vgfYz2v0lMf0DgfJAgvKvg9uyxjNzxq','C3rHDhvZzxm','BM9KzuzVCG','C2v0ihbYzwLUC3rYDwn0Aw9UCW','Axnku0v4ChjLC3nPB25szwy','yxbW','zwXZzwLM','igLZig1PC3nPBMC','ywDYzwu','C2HPzNrlzxLdB2rL','y29UDhjVBe5VzgvZ','CMvJDa','yMLUzgLUzW','CMvNzxHW','Aw5KzxG','zgvSzxrLrgvZy2vUzgfUDhm','CxvHBNrZzxj2zs5JB20','uNvUDgLTzs5LBMfIBgu','CM93q2vSBhm','x19JB250zxH0','CMvMCMvZAa','ChjLAw5ZDhj1y3rPB25ZigrLzMLUzwq','Dg8GDgHLigXLzNqGyw5KigfIB3zLig9M','zMLUzefytM9Kzq','BgvMDg9M','vgfYz2v0lNrHCMDLDerLC3rYB3LLza','mZC4nJeZogfdAM5XDW','C2nYzwvUC2HVDfrPBwvVDxq','i0jeqJC2qG','BNvTzxjPyW','rgvIDwDNzxiUCMvZDw1Lza','y2HPBgroB2rLCW','AgfTyNvYz2vY','s2v5tq','zgvJBgLUzq','sw5WDxqUzgLZCgf0y2HnB3vZzuv2zw50','q2fUBM90ihjLy3jLyxrLihrOzsbMCMfTzsb0CMvLlcbIzwnHDxnLihjVB3qGzNjHBwuGD2L0AcbPzca','CMvZDg9YyxrPB24','BxnN','BgfIzwXZ','yxjPys1JAgvJA2vK','zM9YAW','ywn0AxzLugfNzuHPzgrLBG','zNjHBwvmAwzLy3LJBgvfDMvUDa','zMfSBgjHy2S','rgv2Dg9VBhmGy29TBwfUzcaI','iZzbnufdra','q2fUBM90ihzLCMLMEsb0Agf0ihrOzsbPDgvTigLZignVBNrHAw5Lzcb3AxrOAw4G','C2HLzxrZ','x3bHCMvUDa','CMf3s2v5rg93BG','y29TCgLSzq','zNjVBuvUDhjPzxm','CMvMzxjLBMnLCW','yM9VBgvHBG','zwXLBwvUDcbZzwXLy3rPB24','y29SB3jZ','yM90Dg9TCMLNAhq','C3rYAw5N','x2nVBgXLy3rLza','y29YAW','BgLUAW','CMvZDwX0CW','zgvIDwDNzxjbzgrYzxnZ','y29VA2LLig5HBwu','i0q4qKzeoa','B3v0BgLUzunVBg9Y','CgfYzw50swq','u2nYB2XS','zgvZy2vUzgfUDhm','yxr0ywnOzwruyxjNzxrZ','uNvUDgLTzs5YDw5jzLDHAxrPBMDgB3jezwj1z2DLCG','DMfYAwfIBguGDMfSDwu','C3rHDhvZ','lI4VlI4VyxnZzxrZl2LZlwvSzw1LBNqTywnJzxb0ywjSzs1PBNzPC2LIBguTqLDbEdu5wu4UANm','Ag92zxjLza','Bwf0y2GGy2fZzq','yM91BMrHCNLtDgfJAW','y2XPCgjVyxjK','Bwv0CMLJCW','zgf0zsbHBMqGDgLTzsbWAwnRzxi','B210CMrJlM5LDa','z2v0q29SB3jgyw1PBhK','DgfIBguTy2vSBa','Aw5KzxHpzG','zwXLBwvUDe1HCMTLCKv4DhjHy3rPB25gywLSzwq','i0vfodjfrq','AxrLCMf0zu5LEhq','ChjL','CgvYy2vUDgfNzq','CNvUBMLUz0fJDgLVBG','ywXSu2v0DgXLza','CgfUzwW','rJeY','B3rOzxj3AxnL','D29YA2vY','iZHgqKm4qG','rMfPBgvKihrVihbHCNnLig1HBgzVCM1Lzcbku09olcb3AxrOigfUigvYCM9Yici','ruXftuvovf9ot1rFsu5urvjbq1rjvKu','rgLNAxq0','C3vIBwL0','qMfJA3nSyxnO','vgHLigf1Dg9TyxrVCIb0ExbLici','mJi0mdCWm0fizfzdra','Aw5wAwv3Cg9YDa','CgfNzxm','yMfJA2DYB3vUzfjVB3q','CMLNAhrvCa','s2v5rq','CMvQzwn0','Bw92zq','i0y4rJHgrG','Bg9JywXOB3n0oJKYndu','tMv0D29YAY5Yzxf1zxn0v2LSBejLu2vUDev4DhjHsw5MBW','yxr0CMLIDxrLCW','DxrMoa','iZHbmKjfmG','AgLUDhm','y2XHC3m','C2v0qM91BMrZ','zwXLBwvUDfnLBgvJDgLVBLn0yxj0zwq','Dg9qCMLTAxrPDMu','i0zgrKzgma','rw5K','ywXSB3DLza','zw5JB2rPBMC','ywn0AxzHDgu','t3zLCMXHEs5ZzxrjBNnWzwn0tw9Kzq','zgvMyxvSDfjLC29SDMu','C2HHCMvKrgf0yq','CMvSyxrPDMu','kcG/oIG/ivSNiL18','y2vUDgvY','rwXLBwvUDcbPCYbUB3qGysb0zxH0yM94','lI4VlI4VyxnZzxrZl3nLDc1LBgvTzw50lxzHBhvLlunPCev1rNz3lMPZ','Aw5PDa','AgfUzgXLCKzSDxnOzwq','AxnwAwv3Cg9YDerLC2nYAxb0B3i','zw5KC1DPDgG','u2v0vgLTzw91Da','BwLUtgv2zwW','AxnpDxrpzLbYB2nLC3m','DgfYz2v0swq','CMvZDa','q2fUj3qGyNLWyxnZignZCcbVzIbHig5VBI1Yzw5KzxjLCIb0yxjNzxq','q2fUj3qGBMf2AwDHDguGysbUB24TCMvUzgvYzxiGDgfYz2v0','x2nVBNrYB2XoB2rLCW','D29YA2vYuMvZDw1LrMfPBgvK','igLZigeGCMvZzxj2zwqGDMfYAwfIBguGBMfTzsbHBMqGy2fUBM90igjLihvZzwqGyxmGyw4GyxjNDw1LBNq','ugfNzs5QyxzHC2nYAxb0rgLHBg9Nq2XVC2vK','ChjVBwLZzq','C2v0v2LUzg93u2L6zq','zg9JDw1LBNrfBgvTzw50','BNrO','y29SDw1IDxm','Aw5ZDhj1y3rPB24','igLZig91DcbVzIbYyw5Nzq','iIbZDg9WCgvKigXVywrPBMCGyNv0ihrOzsbMCMfTzsb3yxnUj3qGzM91BMq','z2v0rNjHBwvZsxrLCMf0B3i','CxvLCNLtzwXLy3rVCKfSBa','C3rHDgu','y2HLy2TLza','i0zgrKzfma','i0zgrevbra','CMfJzq','ywn0AxzLugfNzunSB3nLza','x2rPCMvJDgLVBG','l2PZB24VDMvYC2LVBG'];R=function(){return cB;};return R();}function isCapitalized(T){const yb=x4;return/^\p{Lu}/u[yb(0x3a7)](T);}function isLowerCase(T){const yD=x4;return!/\p{Lu}/u[yD(0x3a7)](T);}function isUpperCase(T){const yL=x4;return!/\p{Ll}/u[yL(0x3a7)](T);}function isCamelCase(T){return/^\p{Ll}[\p{L}\p{N}]*$/u['test'](T);}function isPascalCase(T){const yj=x4;return/^\p{Lu}[\p{L}\p{N}]*$/u[yj(0x3a7)](T);}function isSnakeCase(T){const yN=x4;return/^[\p{Ll}\p{N}_]+$/u[yN(0x3a7)](T);}function isKebabCase(T){const yA=x4;return/^[\p{Ll}\p{N}-]+$/u[yA(0x3a7)](T);}function isReference(T){const yS=x4;return!!(T?.[yS(0x47a)]&&T[yS(0x15f)]);}function isJSExpressionReference(T){const yT=x4;return!!(T?.[yT(0x6e4)]&&T['expression']);}function isInterpolatedString(T){const yV=x4;return!!(T?.[yV(0x824)]&&T['chunks']);}function isJSExpression(T){const yq=x4;return!!(T?.['isJSExpression']&&T[yq(0x2a6)]);}function isStructure(T){const yC=x4;return!!(T?.[yC(0x2a9)]&&T[yC(0x54f)]);}function isPattern(T){const yy=x4;return!!(T?.[yy(0x637)]&&(T[yy(0x614)]||T[yy(0x15f)]));}function isExtractor(T){const yo=x4;return!!(T?.[yo(0x426)]&&T['value']&&T['type']);}function isOTP(T){return!!T?.['isOTP'];}function isRandomValue(T){const yX=x4;return!!T?.[yX(0x4a7)];}function isFileHandle(T){const yG=x4;return!!T?.[yG(0x33a)];}function isCondition(T){const yB=x4;return!!T?.[yB(0x6bf)];}function isOperation(T){const yu=x4;return!!(T?.[yu(0x17b)]&&T[yu(0x3ea)]);}function isExpressionOperation(T){const yc=x4;return!!(T?.[yc(0x17b)]&&T[yc(0x3ea)]);}function isElementDescriptor(T){const yP=x4;if(T&&typeof T===yP(0x52d))return Object[yP(0x1e3)](T)[yP(0x529)](V=>[yP(0x755),yP(0x54f),yP(0x5e0),'color',yP(0x1d0),yP(0x779),yP(0x7b1),yP(0x43f),'superlative','secret'][yP(0x241)](V));return![];}function isSelectorElementDescriptor(T){const yY=x4;return!!(T&&typeof T===yY(0x52d)&&typeof T[yY(0x7b1)]==='object'&&T[yY(0x7b1)][yY(0x54f)]&&T[yY(0x7b1)][yY(0x7b1)]);}function isViewportDescriptor(T){const yn=x4;return!!T?.[yn(0x769)];}function isDialogDescriptor(T){const yv=x4;return!!T?.[yv(0x3d6)];}function isDialogElementDescriptor(T){return!!T?.['isDialogElementDescriptor'];}const DIALOG_ACCEPT_TITLES=new Set(['ok',x4(0x32c),x4(0x6e8),x4(0x1ae),x4(0x44a),x4(0x744),x4(0x7c3)]),DIALOG_DISMISS_TITLES=new Set(['cancel',x4(0x702),'reject',x4(0x5af),'discard',x4(0x156),'no']);function toDialogButtonTitle(T){const yI=x4;if(typeof T!==yI(0x71a))return null;if(DIALOG_ACCEPT_TITLES[yI(0x136)](T[yI(0x655)]()))return'ok';if(DIALOG_DISMISS_TITLES[yI(0x136)](T[yI(0x655)]()))return yI(0x5ea);return null;}function toDialogElementDescriptor(T){const ye=x4;if(T['type']&&T[ye(0x54f)]!==ye(0x333))return null;if(!Object[ye(0x1e3)](T)[ye(0x529)](q=>[ye(0x54f),ye(0x5e0)][ye(0x241)](q)))return null;const V=toDialogButtonTitle(T['title']);return V?{'isDialogElementDescriptor':!![],'title':V}:null;}function isChromeElementDescriptor(T){return!!T?.['isChromeElementDescriptor'];}function toChromeElementDescriptor(T){const yM=x4;if(!T[yM(0x5e0)]||typeof T[yM(0x5e0)]!==yM(0x71a))return null;if(!Object['keys'](T)[yM(0x529)](V=>[yM(0x54f),yM(0x5e0)]['includes'](V)))return null;if(/^(?:(?:reload|refresh)(?:\s+(?:(?:(?:(?:this|the)\s+)?page)|this))?)$/i[yM(0x3a7)](T[yM(0x5e0)])){if(T[yM(0x54f)]&&T[yM(0x54f)]!==yM(0x333))return null;return{'isChromeElementDescriptor':!![],'title':yM(0x6f4)};}else{if(/^(?:(?:(?:click\s+to\s+)?(?:go\s+)?(?:back|(?:to\s+)?(?:the\s+)?prev(?:ious)?(?:\s+page)?))|<-|<)$/i['test'](T[yM(0x5e0)])){if(T['type']&&T[yM(0x54f)]!==yM(0x333))return null;return{'isChromeElementDescriptor':!![],'title':yM(0x2ad)};}else{if(/^(?:(?:(?:click\s+to\s+)?(?:go\s+)?(?:fwd|forward|(?:to\s+)?(?:the\s+)?next(?:\s+page)?))|->|>)$/i[yM(0x3a7)](T[yM(0x5e0)])){if(T[yM(0x54f)]&&T[yM(0x54f)]!==yM(0x333))return null;return{'isChromeElementDescriptor':!![],'title':'forward'};}}}return null;}function stringify(T){const yK=x4;if(T&&T[Symbol['for'](yK(0x122))])return stringify(T[Symbol[yK(0x31f)]('stringify')]());else{if(Array[yK(0x1ec)](T))return T['map'](stringify)['join']('\x20');else{if(typeof T===yK(0x52d))return stringifyJson(T);else return String(T);}}}function sizeOf(T){const yg=x4;if(typeof T==='string'||Array['isArray'](T))return T[yg(0x33d)];else{if(T instanceof Set||T instanceof Map)return T[yg(0x357)];else{if(T&&typeof T==='object')return Object['keys'](T)[yg(0x33d)];else throw new RunnerError(yg(0x699)+typeof T+yg(0x2eb));}}}function keysOf(T){const yl=x4;if(T instanceof Map)return Array[yl(0xbd)](T[yl(0x1e3)]());else{if(T&&typeof T===yl(0x52d)&&!Array[yl(0x1ec)](T))return Object[yl(0x1e3)](T);else throw new RunnerError('Cannot\x20get\x20keys\x20of\x20the\x20'+(Array[yl(0x1ec)](T)?'array':typeof T)+'\x20value');}}function valuesOf(T){const yf=x4;if(Array['isArray'](T)||T instanceof Set||T instanceof Map)return Array[yf(0xbd)](T[yf(0x10c)]());else{if(T&&typeof T===yf(0x52d))return Object[yf(0x10c)](T);else throw new RunnerError(yf(0x12a)+typeof T+yf(0x2eb));}}function entriesOf(T){const yU=x4;if(typeof T==='string')return T;else{if(Array[yU(0x1ec)](T)||T instanceof Set)return Array[yU(0xbd)](T[yU(0x10c)]());else{if(T instanceof Map)return Array['from'](T[yU(0x1e3)]());else{if(T&&typeof T===yU(0x52d))return Object['keys'](T);else throw new RunnerError(yU(0x27b)+typeof T+yU(0x2eb));}}}}function typeOf(T){const yE=x4;if(isElementDescriptor(T)||isDialogDescriptor(T))return yE(0x71a);else{if(isExtractor(T))return T[yE(0x54f)];else{if(isReference(T))return T[yE(0x54f)]??yE(0x50a);else{if(isInterpolatedString(T))return'string';else{if(isStructure(T))return'any';else{if(isOperation(T)){if([yE(0x840),'sub','mul',yE(0x62b),yE(0x357)][yE(0x241)](T[yE(0x17b)]))return yE(0x196);else return yE(0x50a);}else{if(T===null)return'null';else return typeof T;}}}}}}}function arrayOf(...T){const yZ=x4;return T[yZ(0x1ff)](V=>{const yH=yZ;if(Array[yH(0x1ec)](V))return V;if(V!==void 0x0)return[V];return[];});}function toLowerCase(T){const yt=x4;if(typeof T===yt(0x71a))return T[yt(0x655)]();else{if(Array['isArray'](T))return T[yt(0x16a)](V=>toLowerCase(V));else return T;}}async function extractValue(T,{context:V,stack:q,automator:C,timeout:o,signal:X}){const ym=x4,G=q[ym(0x79c)](T),B=await evaluateExpression(T[ym(0x4fb)],{'context':V,'stack':q,'automator':C,'timeout':o,'signal':X}),u=await V[ym(0x2a0)][ym(0x1b8)]({...B,'hints':{...B[ym(0x755)],'type':arrayOf(B[ym(0x755)]?.[ym(0x54f)],T[ym(0x54f)]==='string'?[ym(0x82c),ym(0x4b3)]:[ym(0x4b3),'text'])}},{'stack':q,'timeout':o??0x0,'signal':X??new AbortController()[ym(0x829)]});if(!u)return null;const c=G(await u[ym(0x1a2)]['getValue']({'hint':T[ym(0x54f)]})??null);if(T['type'][ym(0x241)](ym(0x81d)))return objectToColor(c);return c;}async function evaluateOperand(T,{context:V,stack:q,automator:C,hint:o,signal:X}){const yJ=x4,{done:G,value:B}=await evaluateOperandSequence(T,{'context':V,'stack':q,'automator':C,'hint':o,'signal':X})[yJ(0x668)]();if(G)throw new RunnerError(yJ(0x501));return B;}async function*evaluateOperandSequence(T,{context:V,stack:q,automator:C,hint:o,signal:X}){const ys=x4,G=q[ys(0x1cf)](T);if(isElementDescriptor(T[ys(0x4fb)])){const B=T[ys(0x4fb)],u=await extractValue({'isExtractor':!![],'value':{...B,'hints':{...B['hints'],'type':arrayOf('valuebox',B[ys(0x755)]?.[ys(0x54f)])}},'type':o??ys(0x71a)},{'context':V,'stack':q,'automator':C,'signal':X});if(u===null)throw new RunnerError(ys(0x139),{'code':ErrorCode[ys(0x437)]});yield G(u);}else{if(isDialogDescriptor(T[ys(0x4fb)])){const c=C instanceof Browser?(C?.[ys(0x6df)][ys(0x248)]&&C[ys(0x6df)]['dialog']['type']!==ys(0x67f)&&C[ys(0x6df)][ys(0x248)]['message'])??null:null;if(c===null)throw new RunnerError(ys(0x1c0),{'code':ErrorCode[ys(0x1af)]});yield G(c);}else{const P=await evaluateExpression(T[ys(0x4fb)],{'context':V,'stack':q,'automator':C,'signal':X});yield G(o===ys(0x71a)&&typeof P?.[Symbol[ys(0x31f)]('stringify')]==='function'?stringify(P):P,{'secret':q[ys(0x469)](T[ys(0x4fb)])??![]});}}}const operations={'validate':validate,'eq':eq,'lt':lt,'gt':gt,'lte':lte,'gte':gte,'match':match,'includes\x20only':includesOnly,'includes':includes,'starts\x20with':startsWith,'ends\x20with':endsWith,'visible':visible,'clickable':clickable,'enabled':enabled,'hovered':hovered,'checked':checked,'populated':populated},transformers={'ignore\x20case':toLowerCase,'match\x20case':T=>T};async function evaluateCondition(T,{context:V,stack:q,automator:C,signal:o}){const yO=x4,X=new Map();return u(T[yO(0x4d1)]);async function*G(c,{hint:P}={}){const yp=yO,Y=stringify(c);let n=X[yp(0x316)](Y);if(!n)n={'values':[],'iterator':evaluateOperandSequence(c,{'context':V,'stack':q,'automator':C,'hint':P,'signal':o})},X[yp(0x866)](Y,n);else yield*n[yp(0x10c)];for await(const v of n[yp(0x6b9)]){n[yp(0x10c)][yp(0x132)](v),yield v;}}async function*B(...[c,...P]){const yh=yO;if(!c)yield[];else{const Y=[];for await(const n of c){for(const v of Y)yield[n,...v];for await(const I of B(...P)){Y[yh(0x132)](I),yield[n,...I];}}}}async function u(c,P={}){const yk=yO,Y=q[yk(0x4d1)](c),{operator:n,operands:v}=c;switch(n){case yk(0x2d2):return Y(await u(v[0x0],P));case yk(0x11c):case yk(0x72c):return Y(await u(v[0x0],{...P,'mode':n}));case yk(0x376):return Y(!await u(v[0x0],P));case yk(0x389):return Y(await u(v[0x0],P)&&await u(v[0x1],P));case'or':return Y(await u(v[0x0],P)||await u(v[0x1],P));case yk(0x163):case yk(0x789):for await(const I of G(v[0x0])){if(P[yk(0x378)]&&isPattern(v[0x1])){v[0x1][yk(0x61c)]??='';if(P[yk(0x378)]===yk(0x11c)&&!v[0x1]['flags'][yk(0x241)]('i'))v[0x1][yk(0x61c)]+='i';else{if(P['mode']===yk(0x72c))v[0x1]['flags']=v[0x1][yk(0x61c)][yk(0x811)]('i','');}}const e=operations[n](stringify(I),await evaluateExpression(v[0x1],{'context':V,'stack':q,'automator':C,'signal':o}));if(e)return Y(e);}return Y(![]);case'eq':case'lt':case'gt':case yk(0x3f8):case'gte':case yk(0x241):case yk(0x13d):case yk(0x211):{const M=typeOf(v[0x1][yk(0x4fb)]),K=typeOf(v[0x0][yk(0x4fb)]),l=transformers[P[yk(0x378)]??yk(0x72c)];for await(const [f,U]of B(G(v[0x0],{'hint':M}),G(v[0x1],{'hint':K}))){const E=q['nodeFor'](v[0x0],f),Z=q[yk(0x6e2)](v[0x1],U);if(E&&Z&&await E[yk(0x1a2)][yk(0x836)](Z[yk(0x1a2)]))continue;const H=operations[n](l(f),l(U));if(H)return Y(H);}return Y(![]);}case yk(0x3db):{const t=typeOf(v[0x0]),m=transformers[P[yk(0x378)]??yk(0x72c)];for await(const [J,s]of B(G(v[0x0]),B(...v[yk(0x7e8)](0x1)[yk(0x16a)](O=>G(O,{'hint':t}))))){const O=operations[n](m(J),m(s));if(O)return Y(O);}return Y(![]);}case yk(0x5c2):return Y(await operations[yk(0x5c2)](v[0x0][yk(0x4fb)],{'context':V,'stack':q,'automator':C,'signal':o}));case yk(0x863):case'enabled':case'hovered':return Y(await operations[n](v[0x0][yk(0x4fb)],{'context':V,'stack':q,'automator':C,'signal':o}));case'checked':return Y(await operations[yk(0x781)](v[0x0][yk(0x4fb)],v[0x1],{'context':V,'stack':q,'automator':C,'signal':o}));case yk(0x794):return Y(await operations['populated'](v[0x0]['value'],{'context':V,'stack':q,'automator':C,'signal':o}));}}}function validate(T,V){const yF=x4;if(V===yF(0x234))return isAlphaNumeric(T);else{if(V==='numeric')return isNumeric(T);else{if(V===yF(0x4d2))return isCapitalized(T);else{if(V===yF(0x3a0))return isLowerCase(T);else{if(V===yF(0x5f0))return isUpperCase(T);else{if(V===yF(0x423))return isCamelCase(T);else{if(V===yF(0x57e))return isPascalCase(T);else{if(V===yF(0x5bd))return isSnakeCase(T);else{if(V==='kebabcase')return isKebabCase(T);else return![];}}}}}}}}}function compare(T,V){const yW=x4;if(T instanceof Color||V instanceof Color){const B=T instanceof Color?T:stringToColor(T),u=V instanceof Color?V:stringToColor(V);if(!B||!u)return 0x1;return B[yW(0x4b4)](u)?0x0:0x1;}const q=stringify(T),C=stringify(V),o=/(?<prefix>.*?)(?<number>\d[\d,]*(?:[.]\d+)?)(?<suffix>.*)/,X=q[yW(0x789)](o),G=C['match'](o);if(X&&G&&X[yW(0x49f)]['prefix']===G[yW(0x49f)][yW(0x47f)]&&X['groups'][yW(0x365)]===G['groups'][yW(0x365)])return Number(X[yW(0x49f)]['number']['replaceAll'](',',''))-Number(G[yW(0x49f)][yW(0x196)]['replaceAll'](',',''));return q===C?0x0:q>C?0x1:-0x1;}function eq(T,V){return stringify(T)===stringify(V)||compare(T,V)===0x0;}function lt(T,V){return compare(T,V)<0x0;}function lte(T,V){return compare(T,V)<=0x0;}function gt(T,V){return compare(T,V)>0x0;}function gte(T,V){return compare(T,V)>=0x0;}function match(T,V){const yQ=x4;return V[yQ(0x3a7)](stringify(T));}function startsWith(T,V){const ya=x4;if(typeof T==='string')return T[ya(0x27e)](stringify(V));else{if(Array['isArray'](T))return T['at'](0x0)===V;else throw new RunnerError(ya(0x70f)+typeof T+ya(0x2eb));}}function endsWith(T,V){const yz=x4;if(typeof T===yz(0x71a))return T[yz(0x76a)](stringify(V));else{if(Array[yz(0x1ec)](T))return T['at'](-0x1)===V;else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof T+yz(0x2eb));}}function includes(T,V){const yw=x4;if(typeof T===yw(0x71a))return T[yw(0x241)](stringify(V));else{if(Array[yw(0x1ec)](T))return T['includes'](V);else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof T+yw(0x2eb));}}function includesOnly(T,V){const yi=x4;if(typeof T===yi(0x71a))return!T[yi(0x811)](new RegExp(V[yi(0x16a)](q=>stringify(q))[yi(0x78a)]('|'),'g'),'')[yi(0x4e3)]();else{if(Array[yi(0x1ec)](T))return T[yi(0x529)](q=>V[yi(0x241)](q));else throw new RunnerError(yi(0x70f)+typeof T+yi(0x2eb));}}async function visible(T,{context:V,stack:q,automator:C,signal:o}){const yd=x4;if(isElementDescriptor(T)){const X=await evaluateExpression(T,{'context':V,'stack':q,'automator':C,'signal':o}),G=await V[yd(0x2a0)][yd(0x1b8)](X,{'stack':q,'signal':o});if(!G)return![];const {ratio:B=0x1}=await G[yd(0x1a2)][yd(0x7b8)]();return B<=0.5;}else return C instanceof Browser&&!!C[yd(0x6df)]?.[yd(0x248)];}async function populated(T,{context:V,stack:q,automator:C,signal:o}){const o0=x4,X=await evaluateExpression({...T,'type':[T[o0(0x54f)]??[],o0(0x182)][o0(0x3f1)]()},{'context':V,'stack':q,'automator':C,'signal':o}),G=await V[o0(0x2a0)][o0(0x1b8)](X,{'stack':q,'signal':o});if(!G)return![];return!!await G[o0(0x1a2)][o0(0x555)]({'hint':o0(0x716),'acceptFormValue':!![]});}async function clickable(T,{context:V,stack:q,automator:C,signal:o}){const o1=x4,X=await evaluateExpression(T,{'context':V,'stack':q,'automator':C,'signal':o}),G=await V[o1(0x2a0)][o1(0x1b8)](X,{'stack':q,'signal':o});if(!G)return![];return await G[o1(0x1a2)]['isEnabled']()??![];}async function enabled(T,{context:V,stack:q,automator:C,signal:o}){const o2=x4,X=await evaluateExpression(T,{'context':V,'stack':q,'automator':C,'signal':o}),G=await V['axOps'][o2(0x1b8)](X,{'stack':q,'signal':o});if(!G)return![];return!G[o2(0x780)]['disabled']&&!G[o2(0x780)][o2(0x3f9)];}async function hovered(T,{context:V,stack:q,automator:C,signal:o}){const o3=x4,X=await evaluateExpression(T,{'context':V,'stack':q,'automator':C,'signal':o}),G=await V['axOps']['findNode'](X,{'stack':q,'signal':o});if(!G)return![];return await G[o3(0x1a2)][o3(0x557)]()??![];}async function checked(T,V,{context:q,stack:C,automator:o,signal:X}){const o4=x4,G=await evaluateExpression({'type':'checkbox',...T},{'context':q,'stack':C,'automator':o,'signal':X}),B=await q['axOps'][o4(0x1b8)](G,{'stack':C,'signal':X});if(!B)return![];return await B['node'][o4(0x555)]({'hint':o4(0x716)})===V;}async function evaluateExpression(T,{context:V,stack:q,automator:C,timeout:o,signal:X}){return G(T);async function G(B){const o5=D;if(isReference(B)){const u=B,c=u[o5(0x14e)]??o5(0x20c);if(!(u[o5(0x15f)][o5(0x655)]()in V[o5(0x14e)][c]))throw new RunnerError(o5(0x6b6)+u[o5(0x15f)]+'\x22',{'code':ErrorCode[o5(0x592)],'ref':u});const P=q[o5(0x3a8)](u),Y=V['scope'][c][u[o5(0x15f)][o5(0x655)]()],n=await(u[o5(0x496)]??[])[o5(0x6d3)](async(v,I)=>{const o6=o5;let e=await v;if(o6(0x316)in I){const M=await G(I['get']);if(typeof e===o6(0x71a)){if(isJsonString(e))e=parseJsonString(e);else{if(isXmlString(e))e=parseXmlString(e);}}if(Array[o6(0x1ec)](e)){if(typeof M===o6(0x196)){const K=e['at'](M);if(K===void 0x0)throw new RunnerError('No\x20list\x20value\x20was\x20found\x20at\x20index\x20'+M,{'code':ErrorCode[o6(0x592)],'ref':u});return K;}}else{if(e&&typeof e===o6(0x52d)){const l=await e[Symbol[o6(0x31f)](o6(0x316))]?.(M)??e[M];if(l===void 0x0)throw new RunnerError(o6(0x140)+M+'\x22',{'code':ErrorCode[o6(0x592)],'ref':u});return l;}}throw new RunnerError(o6(0x162)+stringifyJson(e)+o6(0x2c0),{'code':ErrorCode['UNRESOLVED_REF'],'ref':u});}else{if(o6(0x789)in I){const f=stringify(e),U=await G(I[o6(0x789)]);let E=null;if(typeof U===o6(0x7de)){const Z=U(f);Z&&(E=[Z],E[o6(0x6ee)]=f[o6(0x734)](Z),E['input']=f);}else E=f[o6(0x789)](U);if(!E)throw new RunnerError(o6(0x171)+(typeof U==='function'?o6(0x168):'/'+U[o6(0x275)]+'/')+o6(0x83d)+f+'\x22',{'code':ErrorCode[o6(0x592)],'ref':u});return E[o6(0x49f)]?{...E['groups']}:E['length']===0x1?E[0x0]:E[o6(0x7e8)](0x1);}else return e;}},Promise[o5(0x37a)](Y[o5(0x4fb)]));return P(u['type']===o5(0x71a)?stringify(n):n,{'secret':Y[o5(0x1de)]});}else{if(isJSExpressionReference(B))return await evaluateJSExpression(B[o5(0x41f)],{'context':V,'stack':q,'automator':C,'signal':X});else{if(isInterpolatedString(B))return(await Promise[o5(0x18c)](B[o5(0x2a6)][o5(0x16a)](async v=>isReference(v)||isJSExpressionReference(v)?G(v):v)))[o5(0x78a)]('');else{if(isJSExpression(B))return(await Promise[o5(0x18c)](B['chunks'][o5(0x16a)](async v=>isReference(v)||isJSExpressionReference(v)?stringifyJSLiteral(await G(v)):v)))['join']('');else{if(isPattern(B))return'name'in B?getPatternMatcher(B[o5(0x15f)]):new RegExp(B[o5(0x614)],B[o5(0x61c)]);else{if(isStructure(B)){if(B[o5(0x54f)]===o5(0x406))return Promise[o5(0x18c)](B[o5(0x6ac)]['map'](async v=>G(v)));else return Object[o5(0x714)](await Promise[o5(0x18c)](B['items'][o5(0x16a)](async({key:v,value:I})=>[await G(v),await G(I)])));}else{if(isElementDescriptor(B)){if(!Array['isArray'](B[o5(0x1d0)])&&isDialogDescriptor(B[o5(0x1d0)]?.[o5(0x22b)])){if(isPattern(B['title']))throw new RunnerError(o5(0x300),{'code':ErrorCode[o5(0xf5)]});return{'isDialogElementDescriptor':!![],'title':toDialogButtonTitle(await G(B[o5(0x5e0)]))??'ok'};}async function v(I){const o7=o5;if(isDialogDescriptor(I))throw new RunnerError(o7(0x21f),{'code':ErrorCode[o7(0xf5)]});return G(I);}return q[o5(0x18b)](B)({...B,...'nth'in B?{'nth':await G(B[o5(0x779)])}:{},...o5(0x5e0)in B&&!isPattern(B['title'])?{'title':await G(B[o5(0x5e0)])}:{},...o5(0x81d)in B?{'color':await G(B[o5(0x81d)])}:{},...'selector'in B&&B['selector']?.[o5(0x7b1)]?{'selector':{...B[o5(0x7b1)],'selector':await G(B[o5(0x7b1)]['selector'])}}:{},...o5(0x1d0)in B&&B[o5(0x1d0)]?{'anchor':Array['isArray'](B[o5(0x1d0)])?await Promise[o5(0x18c)](B['anchor'][o5(0x16a)](async I=>({...I,'element':I[o5(0x22b)]&&await v(I[o5(0x22b)])}))):{...B[o5(0x1d0)],'element':B['anchor']['element']&&await v(B[o5(0x1d0)][o5(0x22b)])}}:{},...o5(0x70c)in B?{'fallback':await G(B[o5(0x70c)])}:{}});}else{if(isExpressionOperation(B)){const I=q[o5(0x4d1)](B),e=await B[o5(0x3ea)][o5(0x6d3)](async(M,K)=>{const l=await M;return l['push'](await evaluateOperand(K,{'context':V,'stack':q,'automator':C,'signal':X})),l;},Promise[o5(0x37a)]([]));if(B[o5(0x17b)]===o5(0x357))return I(sizeOf(e[0x0]));else{if(B[o5(0x17b)]==='keys')return I(keysOf(e[0x0]));else{if(B['operator']===o5(0x10c))return I(valuesOf(e[0x0]));else{if(B[o5(0x17b)]==='entries')return I(entriesOf(e[0x0]));else{if(B['operator']===o5(0x840))return I(e[0x0]+e[0x1]);else{if(B[o5(0x17b)]===o5(0x6be))return I(e[0x0]-e[0x1]);else{if(B[o5(0x17b)]===o5(0x62b))return I(e[0x0]/e[0x1]);else{if(B[o5(0x17b)]==='mul')return I(e[0x0]*e[0x1]);else throw new RunnerError(o5(0x354));}}}}}}}}else{if(isCondition(B))return evaluateCondition(B,{'context':V,'stack':q,'automator':C,'signal':X});else{if(isExtractor(B)){const M=await extractValue(B,{'context':V,'stack':q,'automator':C,'timeout':o,'signal':X});if(M===null)throw new RunnerError(o5(0x139),{'code':ErrorCode['NO_ELEMENT']});return M;}else{if(isOTP(B)){if(!V[o5(0x175)][o5(0x667)])throw new RunnerError(o5(0x3c0),{'code':ErrorCode[o5(0x3d9)]});const K=q[o5(0x6bd)](B),l=await G(B[o5(0x2af)]);return K(await V[o5(0x175)]['generateOTP'](l));}else{if(isFileHandle(B)){const f=await G(B[o5(0x47b)]);try{return await V[o5(0x175)][o5(0x110)]?.(f)??f;}catch{return f;}}else{if(isRandomValue(B)){const U=q['generator'](B);if(B[o5(0x54f)]===o5(0x196))return U(Math[o5(0x3af)]());else{if(!V[o5(0x175)][o5(0xab)])throw new RunnerError('generateRandomValue\x20callback\x20not\x20provided',{'code':ErrorCode['INTERNAL']});return U(await V['actions'][o5(0xab)]({...B,'description':B[o5(0x21e)]?await G(B[o5(0x21e)]):void 0x0}));}}else return B;}}}}}}}}}}}}}}var InstructionExecutionStartedEvent=class extends ProgressEvent{[x4(0x729)];[x4(0x42d)]=![];constructor({preStep:T}={}){const o8=x4;super(),this[o8(0x729)]=T?o8(0x310):o8(0x265);}},InstructionExecutionFinishedEvent=class extends ProgressEvent{[x4(0x729)];[x4(0x42d)]=!![];constructor({preStep:T}={}){const o9=x4;super(),this['status']=T?o9(0x310):o9(0x265);}},ActionExecutionStartedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x73a);[x4(0x42d)]=![];},ActionExecutionFinishedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x73a);[x4(0x42d)]=!![];},AXNodeSearchStartedEvent=class extends ProgressEvent{[x4(0x729)]='searchingForElement';[x4(0x42d)]=![];[x4(0x18b)];constructor({descriptor:T}){const ox=x4;super(),this[ox(0x18b)]=T;}},AXNodeSearchFinishedEvent=class extends ProgressEvent{[x4(0x729)]='searchingForElement';[x4(0x42d)]=!![];[x4(0x18b)];[x4(0x1a2)];constructor({descriptor:T,node:V}){const oR=x4;super(),this[oR(0x18b)]=T,this[oR(0x1a2)]=V;}},NavigationWaitStartedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x584);[x4(0x42d)]=![];},NavigationWaitFinishedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x584);[x4(0x42d)]=!![];},LoadWaitStartedEvent=class extends ProgressEvent{[x4(0x729)]='waitingForResourcesLoad';['done']=![];},LoadWaitFinishedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x7e9);[x4(0x42d)]=!![];},OutgoingRequestsWaitStartedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x240);['done']=![];},OutgoingRequestsWaitFinishedEvent=class extends ProgressEvent{[x4(0x729)]='waitingForOutgoingRequests';[x4(0x42d)]=!![];},StabilizationWaitStartedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x7d1);['done']=![];},StabilizationWaitFinishedEvent=class extends ProgressEvent{[x4(0x729)]=x4(0x7d1);[x4(0x42d)]=!![];};function makeValuesStack(){return new ValuesStack();}var ValuesStack=class{#id=0x1;#pending=new Set();#items=new Map();#entities=new Map();#relations=new Map();#item(T,V,q,C){const o=this.#id++;if(q)return this.#add(o,{'type':T,'entity':V,'value':q,...C});else return this.#pending['add'](o),this.#relations['set'](o,[]),(X,G)=>{const ob=D;return this.#pending[ob(0x66b)](o),this.#add(o,{'type':T,'entity':V,'value':X,...G});};}#add(T,V){const oD=x4;this.#items['set'](T,V),this.#pending[oD(0x2d8)](C=>this.#relations[oD(0x316)](C)[oD(0x132)](T));let q=this.#entities[oD(0x316)](V[oD(0x7d3)]);if(!q)this.#entities[oD(0x866)](V[oD(0x7d3)],q=[]);return q[oD(0x132)](T),V['value'];}*#related(T,V){const oL=x4;for(const q of[T,...this.#relations[oL(0x316)](T)??[]]){const C=this.#items['get'](q);if(C&&(!V||V===C[oL(0x54f)]))yield C;}}[x4(0x18b)](T,V){const oj=x4;return V?this.#item(oj(0x18b),T,V):this.#item(oj(0x18b),T);}[x4(0x1a2)](T,V){const oN=x4;return V?this.#item('node',T,V):this.#item(oN(0x1a2),T);}[x4(0x3a8)](T,V,q){const oA=x4;return V?this.#item(oA(0x3a8),T,V,q):this.#item(oA(0x3a8),T);}[x4(0x79c)](T,V,q){const oS=x4;return V?this.#item(oS(0x79c),T,V,q):this.#item(oS(0x79c),T);}[x4(0x6bd)](T,V,q){const oT=x4;return V?this.#item(oT(0x6bd),T,V,q):this.#item(oT(0x6bd),T);}[x4(0x1cf)](T,V,q){const oV=x4;return V?this.#item(oV(0x1cf),T,V,q):this.#item(oV(0x1cf),T);}[x4(0x4d1)](T,V){const oq=x4;return V?this.#item(oq(0x4d1),T,V):this.#item('operation',T);}[x4(0x6e2)](T,V){const oC=x4,q=this.#entities[oC(0x316)](T)?.[oC(0x2f2)](C=>this.#items[oC(0x316)](C)?.['value']===V);if(q)return Array[oC(0xbd)](this.#related(q,oC(0x1a2)))[0x0]?.[oC(0x4fb)];}[x4(0x469)](T){const oy=x4;if(isReference(T)){const [V]=this.#entities['get'](T)??[];if(V)return Array['from'](this.#related(V,oy(0x3a8)))[0x0]?.[oy(0x1de)];}else{if(isInterpolatedString(T))return T[oy(0x2a6)][oy(0x654)](q=>this[oy(0x469)](q));else{if(isStructure(T)){if(T[oy(0x54f)]==='array')return T[oy(0x6ac)][oy(0x654)](q=>this[oy(0x469)](q));else return T[oy(0x6ac)][oy(0x654)](q=>this[oy(0x469)](q[oy(0x7b0)])||this[oy(0x469)](q[oy(0x4fb)]));}}}}*['descriptors'](T){const oo=x4;if(T){const V=this.#entities[oo(0x316)](T)??[];for(const q of V)for(const {value:C}of this.#related(q,'descriptor'))yield C;}else{for(const {type:o,value:X}of this.#items['values']())if(o===oo(0x18b))yield X;}}*[x4(0x24c)](T){const oX=x4;if(T){const V=this.#entities[oX(0x316)](T)??[];for(const q of V)for(const {entity:C,value:o}of this.#related(q,oX(0x1a2)))yield{'node':o,'descriptor':C};}else{for(const {type:X,entity:G,value:B}of this.#items[oX(0x10c)]())if(X===oX(0x1a2))yield{'node':B,'descriptor':G};}}*[x4(0x715)](){const oG=x4;for(const {type:T,entity:V,value:q,...C}of this.#items[oG(0x10c)]())if(T===oG(0x3a8))yield{'reference':V,'value':q,...C};}*['extractors'](){const oB=x4;for(const [T,{type:V,entity:q,value:C,...o}]of this.#items[oB(0x80f)]())if(V==='extractor')yield{'extractor':q,'value':C,'element':Array['from'](this.#related(T,'node'))[0x0]?.[oB(0x7d3)],...o};}*[x4(0x3ea)](){const ou=x4;for(const [T,{type:V,entity:q,value:C,...o}]of this.#items['entries']())if(V===ou(0x1cf))yield{'operand':q,'value':C,'element':Array[ou(0xbd)](this.#related(T,'node'))[0x0]?.[ou(0x7d3)],...o};}};async function tryMakeElementNotObscured(T,{timeout:V,signal:q}){const oc=x4,C=await getVisibleElementFromNode(T);if(!C)return;let o=!![];const X=setTimeout(()=>o=![],V);do{await C[oc(0x285)]();const {isObscured:G,obscuringElement:B}=await C[oc(0x4c1)]();if(!G){clearTimeout(X);return;}if(B&&await B[oc(0x625)](T['node'])){clearTimeout(X);return;}await sleep(0x3e8,{'signal':q});}while(o);throw new RunnerError(oc(0x174),{'code':ErrorCode['OBSCURED_ELEMENT']});}async function getVisibleElementFromNode(T){const oP=x4;let V;for(const q of T[oP(0x6cf)])if(await q[oP(0xbc)]()&&await q[oP(0xe3)](C=>C instanceof Element)){V=q;break;}if(!V){if(!T[oP(0x31e)])return;return getVisibleElementFromNode(T[oP(0x31e)]);}return V;}async function revealElements(T){const oY=x4;if(T['some'](({descriptor:q})=>q['anchor']))return;const V=[];for(const {node:q}of T){const C=(await Promise[oY(0x18c)](V['map'](async o=>o['node'][oY(0x836)](q['node'])['catch'](()=>![]))))['indexOf'](!![]);if(C>=0x0)V['splice'](C,0x1);V[oY(0x132)](q);}for(const o of V)try{await(await getVisibleElementFromNode(o))?.[oY(0x597)]();}catch(X){error(oY(0x353),{'error':X});}}const PDF_STATE={'ready':x4(0x4ef),'error':x4(0x253),'currentPage':x4(0x332),'isolate':'data-nlp-pdf-isolate','isolatedPage':x4(0x400)},PDF_BYTES_PLACEHOLDER=x4(0x364);function isPdfViewerFrame(T){const ov=x4;return Object[ov(0x80f)](T['response']?.[ov(0x5c5)]??{})[ov(0x654)](([V])=>V[ov(0x655)]()===ov(0x7a6));}async function waitForReady(T,V=0x4e20){const oI=x4;return T[oI(0x297)](async(q,C,o)=>{const oe=oI,X=document[oe(0x778)];function G(){return X['getAttribute'](q)==='true'||X['getAttribute'](C)!=null;}if(G())return;await new Promise(B=>{const oK=oe;function u(){const oM=D;c[oM(0x20f)](),clearTimeout(P),B();}const c=new MutationObserver(()=>G()&&u());c[oK(0x38f)](X,{'attributes':!![],'attributeFilter':[q,C]});const P=setTimeout(u,o);});},[PDF_STATE[oI(0x805)],PDF_STATE[oI(0x5a4)],V],{'await':!![]});}var Handler=class extends EventTargetNode{#captures={};#controller=new AbortController();#stack=makeValuesStack();#metrics;[x4(0x656)];[x4(0x5e1)];[x4(0x77b)];[x4(0x829)];[x4(0x632)];[x4(0x693)];[x4(0x533)];get[x4(0x382)](){const og=x4;return this[og(0x77b)];}get[x4(0x2d3)](){return this.#stack;}get['metrics'](){return this.#metrics;}get[x4(0x471)](){const ol=x4;return this[ol(0x5e1)]['scope'][ol(0x1d9)]['findTimeout']?.[ol(0x4fb)]??this[ol(0x5e1)][ol(0x14e)][ol(0x1d9)][ol(0x4c8)]?.[ol(0x4fb)];}get[x4(0x102)](){const of=x4;return this['context'][of(0x14e)]['internal'][of(0x102)]?.[of(0x4fb)]??this[of(0x5e1)][of(0x14e)][of(0x1d9)][of(0x4c8)]?.[of(0x4fb)];}get[x4(0x290)](){const oU=x4;return this[oU(0x5e1)][oU(0x14e)][oU(0x1d9)][oU(0x290)]?.[oU(0x4fb)]??this[oU(0x5e1)][oU(0x14e)]['internal']['timeout']?.[oU(0x4fb)];}get[x4(0x6fb)](){const oE=x4;return this[oE(0x5e1)][oE(0x14e)][oE(0x1d9)][oE(0x6fb)]?.[oE(0x4fb)]??this[oE(0x5e1)][oE(0x14e)][oE(0x1d9)][oE(0x4c8)]?.[oE(0x4fb)];}constructor({automator:T,context:V,instruction:q,signal:C,shouldCapture:o,shouldNotThrowOnUnexpectedNavigationStatus:X,expectedNavigationStatuses:G}){const oZ=x4;super(),this.#metrics={'platform':T[oZ(0x54f)]},this[oZ(0x656)]=T,this[oZ(0x5e1)]=V,this['instruction']=q,this['signal']=C?AbortSignal[oZ(0x50a)]([this.#controller[oZ(0x829)],C]):this.#controller[oZ(0x829)],this['shouldCapture']=o??![],this[oZ(0x693)]=X??![],this[oZ(0x533)]=G??[];}['abort'](T){const oH=x4;this.#controller['abort'](T??new RunnerError(oH(0x3ee),{'core':ErrorCode[oH(0x80e)]}));}[x4(0x12c)](){const ot=x4;this[ot(0x829)][ot(0x12c)]();}['throwIfNoElement'](T){const om=x4;if(!T)throw new RunnerError('Element\x20not\x20found',{'code':ErrorCode[om(0x437)]});}['throwIfBlocked'](){const oJ=x4;if(this[oJ(0x656)]instanceof Browser&&this[oJ(0x656)][oJ(0x6df)][oJ(0x248)]&&this[oJ(0x656)][oJ(0x6df)][oJ(0x248)][oJ(0x54f)]!==oJ(0x67f))throw new RunnerError(oJ(0x21a),{'code':ErrorCode[oJ(0x257)]});}['throwIfExceededAllowedTimeout'](T){const os=x4,V=this[os(0x5e1)][os(0x14e)]['internal'][os(0x34f)]?.['value']??0x1d4c0;if(T>V)throw new RunnerError('Timeout\x20of\x20'+T+os(0x512)+V+'ms',{'code':ErrorCode[os(0x15e)],'timeout':T});}async[x4(0x53e)](T){const oO=x4;if(!T||!await T['canTypeInto']())throw new RunnerError(oO(0x765),{'code':ErrorCode[oO(0x410)]});}async[x4(0x1e1)](){const op=x4;let T;try{if(this[op(0x656)]instanceof Browser&&this[op(0x102)])this['automator'][op(0x102)]=this[op(0x102)];const o=performance[op(0x1df)]();await this['stabilize'](op(0x5b4)),this.#metrics['stabilizeMs']=performance[op(0x1df)]()-o;const X=performance[op(0x1df)]();T=await this['handle'](),this.#metrics[op(0x322)]=performance[op(0x1df)]()-X;}catch(G){if(G instanceof StaleNodeError||G instanceof StaleRemoteObjectHandleError)return log(op(0x698),{'error':G}),this.#metrics={'platform':this[op(0x656)][op(0x54f)]},this['run']();else{if(G instanceof FlushError)log(op(0x768),{'error':G}),T={'status':'flushed','meta':{'reason':G['message']}};else{if(G instanceof AutomatorError){error(op(0x60b),{'error':G});const {code:B,meta:u}=translateAutomatorError(G);T={'status':op(0x5a4),'error':G['message'],'code':B,'meta':u};}else{if(G instanceof RunnerError)error('handlerRunnerError',{'error':G}),T={'status':op(0x5a4),'error':G[op(0x37f)],'code':G[op(0x5e4)],'meta':G[op(0x7c9)]};else this[op(0x829)][op(0x12d)]&&(G[op(0x5e4)]===op(0x6ba)||G===this[op(0x829)][op(0x2dd)])?(error('handlerAborted',{'error':G}),T={'status':'aborted','meta':{'reason':G[op(0x28f)]?.[op(0x37f)]??G[op(0x37f)]}}):(error(op(0x3d5),{'error':G}),T={'status':op(0x5a4),'error':G['message']??op(0x2e7),'code':ErrorCode[op(0x3d9)],'meta':{'original':G}});}}}if(!Object[op(0x6d9)](this.#captures,op(0x55b))&&T[op(0x729)]!==op(0x12d))await this[op(0x55b)]();}const V=new Map(Array['from'](this.#stack[op(0x715)](),({reference:c,value:P,...Y})=>[c,{'value':P,...Y}])),q=new Map(Array[op(0xbd)](this.#stack[op(0x473)](),({extractor:c,value:P,element:Y,...n})=>[c,{'value':P,'element':Y,...n}])),C=new Map(Array[op(0xbd)](this.#stack['operands'](),({operand:c,value:P,element:Y,...n})=>[c,{'value':P,'element':Y,...n}]));return{...T,...this.#captures,'values':{'references':V,'extractors':q,'operands':C},'metrics':this.#metrics};}async[x4(0x5a8)](T='strict'){const oh=x4;await this[oh(0x656)][oh(0x5a8)](T,{'signal':this[oh(0x829)],'timeout':this['screenshotTimeout']});if(this[oh(0x656)]instanceof Browser){if(isPdfViewerFrame(this['automator']['activePage']['mainFrame']))await waitForReady(this[oh(0x656)][oh(0x6df)]['mainFrame']);}}async[x4(0x5b9)](T){const ok=x4;return evaluateExpression(T,{'context':this[ok(0x5e1)],'stack':this.#stack,'automator':this[ok(0x656)],'timeout':this[ok(0x471)]??0x2710,'signal':this[ok(0x829)]});}async[x4(0x22b)](T){const oF=x4,V=await this['context'][oF(0x2a0)][oF(0x1b8)](await this[oF(0x5b9)](T),{'stack':this.#stack,'timeout':this[oF(0x471)]??0x2710,'signal':this['signal'],'metrics':this.#metrics});if(V)this['dispatch'](new HandlerAXNodeFoundEvent(V));return V;}async[x4(0x166)](){const oW=x4;if(!this['shouldCapture'])return;try{await this[oW(0x656)][oW(0x5a8)](oW(0x5b4),{'signal':this[oW(0x829)]});if(this[oW(0x656)][oW(0x1d2)])return;const T=await this['automator'][oW(0x4f1)](),V=((async()=>{const oQ=oW;try{return await this[oQ(0x656)]['activePage']?.[oQ(0xec)][oQ(0xe3)](()=>({'width':innerWidth,'height':innerHeight,'scrollX':scrollX,'scrollY':scrollY}));}catch{return;}})());return{'image':T,'elements':await Array[oW(0xbd)](this.#stack[oW(0x24c)]())[oW(0x6d3)](async(q,{node:C,descriptor:o})=>{const oa=oW;try{if(C===C[oa(0x1b2)][oa(0x643)])return await q;const X=await C['node'][oa(0x603)](),G=await C[oa(0x1a2)][oa(0x504)]();return await q[oa(0x385)](B=>B[oa(0x304)]({'region':X,'descriptor':o,'label':G}));}catch(B){return error(oa(0x735),{'error':B}),q;}},Promise['resolve']([])),'viewport':await V};}catch(q){error(oW(0x3a1),{'error':q});}}async[x4(0x791)](){const oz=x4;if(!this[oz(0x632)]||!(this[oz(0x656)]instanceof Browser))return;await revealElements(Array['from'](this.#stack[oz(0x24c)]())[oz(0x79b)](({node:T})=>T!==T['tree'][oz(0x643)]));}async[x4(0x527)](){const ow=x4;bus[ow(0x22a)](new ActionExecutionStartedEvent()),this.#captures['before']=await this[ow(0x166)]();}async['after'](){const oi=x4;this.#captures[oi(0x55b)]=await this[oi(0x166)](),bus[oi(0x22a)](new ActionExecutionFinishedEvent());}},HandlerAXNodeFoundEvent=class extends Event{['node'];constructor(T,V){const od=x4;super(od(0x2e0),V),this[od(0x1a2)]=T;}},AssertHandler=class extends Handler{async[x4(0x4a5)](){const X0=x4;await this['stabilize'](),await this[X0(0x527)]();const T=await this[X0(0x5b9)](this[X0(0x382)][X0(0x4c8)])??this[X0(0x471)]??0x7530,V=Date[X0(0x1df)]();let q=0x0,C=!![];const o=setTimeout(()=>C=![],T);do{this[X0(0x12c)](),++q;try{if(await this[X0(0x5b9)](this[X0(0x382)][X0(0x49e)]))return clearTimeout(o),log(X0(0x7dc),{'passed':!![],'attempts':q,'durationMs':Date[X0(0x1df)]()-V,'condition':this[X0(0x382)][X0(0x49e)]}),await this['reveal'](),await this[X0(0x55b)](),{'status':X0(0x435)};else{if(Array[X0(0xbd)](this[X0(0x2d3)][X0(0x111)](this[X0(0x382)][X0(0x49e)][X0(0x4d1)]))['length']===0x0){clearTimeout(o);break;}}}catch(X){if(!C||this[X0(0x829)][X0(0x12d)])throw X;}await sleep(0x3e8,{'signal':this[X0(0x829)]});}while(C);log('assertionEvaluated',{'passed':![],'attempts':q,'durationMs':Date[X0(0x1df)]()-V,'condition':this[X0(0x382)]['condition']}),await this[X0(0x791)](),await this['after']();throw new RunnerError(X0(0xd4),{'code':ErrorCode[X0(0x681)]});}},EmptyHandler=class extends Handler{async[x4(0x4a5)](){const X1=x4;return await this['stabilize'](),await this['before'](),await this['after'](),{'status':X1(0x226)};}};function makeUrlData(T){const X2=x4,V=new URL(T);return{'href':T,'protocol':V[X2(0x296)]['replace'](/:$/,''),'user':V[X2(0x550)],'password':V[X2(0x61b)],'host':V['host'],'hostname':V[X2(0x2cb)],'port':V['port'],'path':V['pathname'],'query':V[X2(0x830)],'anchor':V[X2(0x5c6)],[Symbol[X2(0x31f)](X2(0x122))](){return T;}};}var FetchHandler=class extends Handler{async[x4(0x4a5)](){const X3=x4;await this[X3(0x5a8)](),await this[X3(0x527)]();const T={'headers':new Set(),'cookies':new Set(),'body':![]},V=await this['evaluate'](this[X3(0x382)][X3(0x5b7)]);let q=this[X3(0x382)][X3(0x5b3)]?.[X3(0x538)]();if(!q&&this[X3(0x382)]['body'])q=X3(0x44c);const C=new Request(V,{'method':q});if(this[X3(0x382)]['headers'])for(const P of this['action'][X3(0x5c5)]){const Y=await this[X3(0x5b9)](P[X3(0x15f)]);if(!/^[a-zA-Z0-9_-]+$/[X3(0x3a7)](Y))throw new RunnerError('The\x20header\x20name\x20\x22'+Y+X3(0x80b),{'code':ErrorCode['MALFORMED_HEADER'],'header':P});const n=await this[X3(0x5b9)](P[X3(0x4fb)]);if(!/^[a-zA-Z0-9 :;.,\\/"'?!(){}[\]@<>=+*#$&`|~^%_-]+$/[X3(0x3a7)](n))throw new RunnerError('The\x20header\x20value\x20\x22'+n+X3(0x80b),{'code':ErrorCode['MALFORMED_HEADER'],'header':P});const v=P[X3(0x1de)]||this[X3(0x2d3)]['isSecret'](P[X3(0x4fb)]);C[X3(0x5c5)][X3(0x30c)](Y,n);if(v)T['headers'][X3(0x840)](Y['toLowerCase']());}let o;if(this[X3(0x382)][X3(0x537)]){const I=await this['evaluate'](this['action'][X3(0x537)][X3(0x51c)]);T[X3(0x537)]=this[X3(0x2d3)][X3(0x469)](this[X3(0x382)][X3(0x537)][X3(0x51c)])??![];let e=this['action'][X3(0x537)][X3(0x54f)];if(!e){if(typeof I===X3(0x71a)){if(isJsonString(I))e=X3(0x2e3);else{if(isXmlString(I))e=X3(0xee);}}else e=X3(0x2e3);}if(e===X3(0x5bb)){if(typeof I!=='string'||!isBase64String(I))throw new RunnerError(X3(0x7d7));o=new Uint8Array(A['from'](I,X3(0x5bb)));}else{if(e===X3(0xee)){if(typeof I!==X3(0x71a)){if(I&&typeof I===X3(0x52d)&&!Array['isArray'](I))o=stringifyXml(I);else throw new RunnerError(X3(0x2f1));}else o=I;if(!C['headers'][X3(0x136)](X3(0x3a3)))C[X3(0x5c5)][X3(0x866)]('Content-Type',X3(0x147));}else{o=typeof I!=='string'?stringifyJson(I):I;if(e===X3(0x2e3)&&!C[X3(0x5c5)][X3(0x136)]('Content-Type'))C[X3(0x5c5)]['set']('Content-Type','application/json;charset=UTF-8');}}}if(this[X3(0x382)]['auth']){if(this[X3(0x382)][X3(0x2b8)][X3(0x54f)]===X3(0x5b4)){const M=await this['evaluate'](this['action'][X3(0x2b8)][X3(0x550)]),K=await this[X3(0x5b9)](this[X3(0x382)]['auth'][X3(0x61b)]),l=X3(0x5c7);C['headers'][X3(0x866)](l,'Basic\x20'+A['from'](M+':'+K)['toString'](X3(0x5bb))),T[X3(0x5c5)]['add'](l[X3(0x655)]());}}if(this['action'][X3(0x5e5)]){const f=[];for(const E of this[X3(0x382)]['cookies']){const Z=await this[X3(0x5b9)](E[X3(0x15f)]);if(/=/['test'](Z))throw new RunnerError(X3(0x3bd)+Z+X3(0x80b),{'code':ErrorCode['MALFORMED_COOKIE'],'cookie':E});const H=await this[X3(0x5b9)](E['value']),t=E[X3(0x1de)]||this[X3(0x2d3)]['isSecret'](E[X3(0x4fb)]);f[X3(0x132)](Z+'='+H);if(t)T[X3(0x5e5)][X3(0x840)](Z);}const U='Cookie';C['headers']['set'](U,f['join'](';\x20'));if(T[X3(0x5e5)][X3(0x357)]>0x0)T[X3(0x5c5)][X3(0x840)](U[X3(0x655)]());}const X={'url':makeUrlData(C[X3(0x5b7)]),'headers':G(C[X3(0x5c5)]),'cookies':B(C[X3(0x5c5)]),...o&&{'body':{'value':o,'secret':T[X3(0x537)]}}};try{const m=await N(C,{'body':o,'dispatcher':this['context']['dispatcher']}),J={'status':m['status'],'statustext':m[X3(0x54e)],'body':await c(m),'headers':G(m['headers']),'cookies':u(m['headers']),[Symbol['for'](X3(0x316))](s){const X4=X3;if(s===X4(0x537))return this[X4(0x537)][X4(0x4fb)];else return this[s];},[Symbol[X3(0x31f)](X3(0x122))](){const X5=X3;return this[X5(0x537)][X5(0x4fb)];}};this[X3(0x5e1)]['scope'][X3(0x20c)]['response']={'value':J};if(this[X3(0x382)][X3(0x6e1)]?this['action'][X3(0x6e1)]!=='*'&&!this['action'][X3(0x6e1)][X3(0x241)](J[X3(0x729)]):J[X3(0x729)]<0xc8||J[X3(0x729)]>0x12b)throw new RunnerError(X3(0x84d)+V+'\x22\x20resulted\x20with\x20an\x20unexpected\x20status\x20code\x20'+J[X3(0x729)],{'code':ErrorCode[X3(0x5b5)],'status':J[X3(0x729)],'response':J,'request':X});return await this[X3(0x55b)](),{'status':'fetched','meta':{'response':J,'request':X}};}catch(s){if(s['message']==='fetch\x20failed')throw new RunnerError('Failed\x20to\x20send\x20the\x20request',{'code':ErrorCode[X3(0x4e9)],'request':X,'cause':s[X3(0x28f)]});else throw s;}function G(O){const X6=X3,p={[Symbol[X6(0x31f)](X6(0x316))](h){const X7=X6;return this[h[X7(0x655)]()][X7(0x4fb)];}};return O[X6(0x2d8)]((h,k)=>{const X8=X6;p[k]={'value':h,'secret':T[X8(0x5c5)]['has'](k)};}),p;}function B(O){const X9=X3,p={[Symbol['for'](X9(0x316))](h){return this[h]['value'];}};return(O[X9(0x316)]('Cookie')?.[X9(0x37c)](';')??[])[X9(0x2d8)](h=>{const Xx=X9,[k,F]=h['split'](/=(.+)/);p[k]={'value':F,'secret':T[Xx(0x5e5)][Xx(0x136)](k)};}),p;}function u(O){const Xr=X3,p={[Symbol[Xr(0x31f)]('get')](h){const XR=Xr;return this[h][XR(0x4fb)];}};return O[Xr(0x350)]()[Xr(0x2d8)](h=>{const Xb=Xr,[k,F]=h[Xb(0x37c)](/=(.+)/);p[k]={'value':F,'secret':T['cookies']['has'](k)};}),p;}async function c(O){const XD=X3,p=await O[XD(0x82c)]();if(p){const h=O[XD(0x5c5)]['get']('Content-Type');if(h?.['includes'](XD(0x53b)))return{'value':{...parseJsonString(p),[Symbol[XD(0x31f)](XD(0x122))]:()=>p},'secret':![]};else{if(h?.[XD(0x241)]('application/xml'))return{'value':{...parseXmlString(p),[Symbol[XD(0x31f)](XD(0x122))]:()=>p},'secret':![]};}}return{'value':p,'secret':![]};}}},InitializeScopeHandler=class extends Handler{async[x4(0x4a5)](){const XL=x4;return await this[XL(0x5a8)](),await this[XL(0x527)](),this[XL(0x5e1)][XL(0x14e)][XL(0x41c)]({'input':await(this['instruction'][XL(0x398)]??[])[XL(0x6d3)](async(T,{name:V,value:q,secret:C})=>{const Xj=XL;return T[Xj(0x385)](async o=>({...o,[V]:{'value':await this['evaluate'](q),'secret':C}}));},Promise[XL(0x37a)]({})),'public':{},'internal':{}}),this[XL(0x5e1)][XL(0x14e)]['internal'][XL(0x1fa)]={'value':this['instruction'][XL(0x509)]?.[XL(0x425)]},this[XL(0x5e1)][XL(0x14e)]['internal'][XL(0x349)]={'value':this[XL(0x77b)][XL(0x509)]?.['navigation']},await this[XL(0x55b)](),{'status':XL(0x7b7),'parameters':this[XL(0x5e1)][XL(0x14e)][XL(0x157)]?.[XL(0x107)]};}},SetVariableHandler=class extends Handler{async[x4(0x4a5)](){const XN=x4;this[XN(0x839)](),await this[XN(0x5a8)](),await this[XN(0x527)]();const T=this[XN(0x382)]['scope']??'public',V=await this[XN(0x5b9)](this[XN(0x382)][XN(0x51c)][XN(0x4fb)]),q=this[XN(0x382)]['data'][XN(0x1de)]||(this[XN(0x2d3)]['isSecret'](this[XN(0x382)][XN(0x51c)][XN(0x4fb)])??![]);let C;if(this['action'][XN(0x153)]){if(Array[XN(0x1ec)](V))C=(X,G)=>V[G];else{if(V!==null&&typeof V==='object')C=X=>V[X];else C=()=>V;}}else C=()=>V;const o=this[XN(0x382)]['names']['map']((X,G)=>{const XA=XN,B=X['name'][XA(0x655)](),u=C(X[XA(0x15f)],G),c=this[XA(0x5e1)][XA(0x14e)][T][B],P={'value':u,'secret':q||X[XA(0x1de)]||![]};return this[XA(0x5e1)][XA(0x14e)][T][B]=P,{'name':B,'previous':c,'current':P};});return await this[XN(0x55b)](),{'status':XN(0x430),'meta':{'variables':o,'scope':T}};}};async function isolatePdfPage(T){const XS=x4,V=T[XS(0x6df)]?.['mainFrame'];if(!V||!isPdfViewerFrame(V))return noop$1;try{await callViewer(V,XS(0x581));}catch(q){return error(XS(0x286),{'error':q}),noop$1;}return async()=>{const XT=XS;await callViewer(V,XT(0x7f1))['catch'](C=>error(XT(0x63a),{'error':C}));};}async function noop$1(){}function callViewer(T,V){const XV=x4;return T[XV(0x297)](q=>globalThis[XV(0x224)]?.[q]?.(),[V]);}var VisualCheckHandler=class extends Handler{async[x4(0x4a5)](){const Xq=x4;this['throwIfBlocked'](),await this[Xq(0x5a8)](Xq(0x281));const T=await isolatePdfPage(this[Xq(0x656)]);try{return await this[Xq(0x527)](),await this['context'][Xq(0x175)][Xq(0x203)](),await this['after'](),{'status':Xq(0x438)};}finally{await T();}}},WaitHandler=class extends Handler{async['handle'](){const XC=x4;await this[XC(0x5a8)](),await this[XC(0x527)]();const T=await this[XC(0x5b9)](this[XC(0x382)][XC(0x4c8)]);if(T)this[XC(0x16e)](T);if(!this[XC(0x382)]['condition'])return await sleep(T??0x3e8,{'signal':this[XC(0x829)]}),await this[XC(0x55b)](),{'status':XC(0x6b0)};const V=T??this['findTimeout']??0xea60,q=Date['now']();let C=0x0,o=!![];const X=setTimeout(()=>o=![],V);do{this[XC(0x12c)](),++C;try{const G=await this[XC(0x5b9)](this[XC(0x382)][XC(0x49e)]);debug('waitConditionEvaluated',{'conditionMet':Boolean(G),'attempt':C,'elapsedMs':Date['now']()-q,'timeout':V});if(G)return clearTimeout(X),await this[XC(0x791)](),await this[XC(0x55b)](),{'status':XC(0x6b0)};}catch(B){if(!o||this['signal'][XC(0x12d)])throw B;}await sleep(0x3e8,{'signal':this['signal']});}while(o);throw new RunnerError('Timeout\x20waiting\x20for\x20condition\x20to\x20match',{'code':ErrorCode[XC(0x126)],'timeout':V,'condition':this[XC(0x382)][XC(0x49e)]});}},DefinePreinstructionsHandler=class extends Handler{async[x4(0x4a5)](){const Xy=x4;return{'status':Xy(0x6f5),'meta':{'preinstructions':this[Xy(0x77b)][Xy(0x54f)]==='set\x20preinstructions'?this[Xy(0x77b)][Xy(0x4e8)]:[]}};}},TryHandler=class extends Handler{async[x4(0x4a5)](){const Xo=x4;return{'status':Xo(0x2ac),'meta':{'next':this[Xo(0x77b)][Xo(0x4e8)]}};}},IfHandler=class extends Handler{async[x4(0x4a5)](){const XX=x4;await this[XX(0x5a8)](),await this[XX(0x527)]();const T=await this[XX(0x5b9)](this[XX(0x77b)][XX(0x49e)]);return await this[XX(0x791)](),await this[XX(0x55b)](),{'status':XX(0x66c),'meta':{'met':T,'next':T?this[XX(0x77b)][XX(0x385)]:this[XX(0x77b)][XX(0x73e)]}};}},IntentHandler=class extends Handler{async['handle'](){const XG=x4;throw new RunnerError('Intent\x20action\x20should\x20not\x20be\x20executed',{'code':ErrorCode[XG(0x4fe)]});}},CheckHandler$1=class extends Handler{async[x4(0x4a5)](){const XB=x4;this[XB(0x839)](),await this[XB(0x5a8)]();const T=await this[XB(0x5b9)](this[XB(0x382)]['element']),V=await this[XB(0x22b)]({...T,'type':T['type']??'checkbox'});this[XB(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this[XB(0x471)]??0x2710,'signal':this[XB(0x829)]}),await this[XB(0x527)]();const q=await V[XB(0x1a2)][XB(0xe3)](C=>{const Xu=XB;if(C instanceof Element&&C[Xu(0xb9)](Xu(0x708)))return C[Xu(0x359)](Xu(0x708))==='true';if(C instanceof HTMLInputElement&&[Xu(0xc4),'radio'][Xu(0x241)](C[Xu(0x54f)]))return C[Xu(0x781)];return![];});if(typeof this['action'][XB(0x4fb)]!==XB(0x716)||q!==this[XB(0x382)][XB(0x4fb)])await V[XB(0x1a2)][XB(0x284)]({'simulate':V[XB(0x54f)][XB(0xc4)]===0x1||V['type'][XB(0x78c)]===0x1,'signal':this['signal']});return this[XB(0x5e1)][XB(0x7f0)]=V['node'],await this[XB(0x55b)](),{'status':XB(0x6b0)};}},ClickHandler$1=class extends Handler{async[x4(0x4a5)](){const Xc=x4;if(isDialogElementDescriptor(this[Xc(0x382)]['element']))return this['handleWithDialogElementDescriptor'](this['action'][Xc(0x22b)]);const T=this['automator']['activePage']['dialog'],V=T&&T[Xc(0x54f)]!==Xc(0x67f)?T:null;if(!V)await this[Xc(0x5a8)]();const q=await this[Xc(0x5b9)](this[Xc(0x382)][Xc(0x22b)]);if(isDialogElementDescriptor(q))return this[Xc(0x27a)](q);if(isChromeElementDescriptor(q))return this[Xc(0x839)](),this[Xc(0x363)](q);if(V){const o=toDialogElementDescriptor(q);if(o)return this['handleWithDialogElementDescriptor'](o);this[Xc(0x839)]();}const C=await this[Xc(0x22b)]({...q,'state':{...q[Xc(0x780)],'active':!![]},'hints':{'type':Xc(0x333)}});if(q&&!C?.[Xc(0x1a2)]){const X=toChromeElementDescriptor(q);if(X)return this[Xc(0x363)](X);}return this[Xc(0x164)](C),this[Xc(0xb7)](C);}async[x4(0x27a)](T){const XP=x4,V=this[XP(0x656)][XP(0x6df)][XP(0x248)];if(!V||V[XP(0x54f)]==='filepicker')throw new RunnerError(XP(0x1c0),{'code':ErrorCode[XP(0x1af)]});return await this[XP(0x527)](),await V[XP(0x4a5)](T[XP(0x5e0)]!==XP(0x5ea)),await this[XP(0x55b)](),{'status':XP(0x6b0)};}async[x4(0x363)](T){const XY=x4;await this['before']();if(T[XY(0x5e0)]===XY(0x6f4))await this['automator'][XY(0x6df)][XY(0xcd)]();else{if(T[XY(0x5e0)]===XY(0x2ad))await this[XY(0x656)]['activePage'][XY(0x190)](-0x1);else{if(T[XY(0x5e0)]===XY(0x230))await this[XY(0x656)][XY(0x6df)][XY(0x190)](0x1);}}return await this['after'](),{'status':XY(0x6b0)};}async[x4(0xb7)](T){const Xn=x4;await tryMakeElementNotObscured(T,{'timeout':this[Xn(0x471)]??0x2710,'signal':this[Xn(0x829)]}),await this[Xn(0x527)]();const {keys:V,button:q,times:C}=this[Xn(0x382)];if(V)await this['automator']['activePage'][Xn(0x4d7)]['down'](V);await T[Xn(0x1a2)][Xn(0x284)]({'simulate':T[Xn(0x54f)][Xn(0xc4)]===0x1||T['type']['radio']===0x1,'signal':this[Xn(0x829)],'button':q,'times':C});if(V)await this[Xn(0x656)]['activePage']['keyboard']['up'](V);return await Promise[Xn(0x18c)]([T[Xn(0x1a2)][Xn(0x5f5)][Xn(0xdb)](Xn(0x59e)),S(0x64)]),this['context'][Xn(0x7f0)]=T[Xn(0x1a2)],await this['after'](),{'status':'success'};}},TypeHandler$1=class extends Handler{async['handle'](){const Xv=x4;if(isDialogElementDescriptor(this[Xv(0x382)][Xv(0x22b)]))return this[Xv(0x27a)]();this[Xv(0x839)](),await this[Xv(0x5a8)]();const T=stringify(await this[Xv(0x5b9)](this[Xv(0x382)][Xv(0x4fb)]??''));if(isChromeElementDescriptor(this[Xv(0x382)]['element']))this[Xv(0x382)][Xv(0x22b)]['title']==='url'&&(await this['before'](),await this['automator'][Xv(0x6df)][Xv(0xf2)](T),await this['after']());else{const V=await this[Xv(0x5b9)](this[Xv(0x382)]['element'])??(isOTP(this[Xv(0x382)][Xv(0x4fb)])?{'type':Xv(0x28b),'title':Xv(0x5e4),'fallback':{'state':{'focused':!![]}}}:{'state':{'focused':!![]}});if(isDialogElementDescriptor(V))return this[Xv(0x27a)]();const q=await this[Xv(0x22b)]({...V,'state':{...V['state'],'active':!![]},'type':[V[Xv(0x54f)]??[],Xv(0x28b)][Xv(0x3f1)]()});this[Xv(0x164)](q),await tryMakeElementNotObscured(q,{'timeout':this['findTimeout']??0x2710,'signal':this[Xv(0x829)]}),await this[Xv(0x527)]();const C=q['node'];await this[Xv(0x53e)](C),await C[Xv(0x553)]();if(await C['isContentEditable']())await C[Xv(0x6c5)](Xv(0x401));if(T[Xv(0x33d)]>=0xc8||/[\n\t]/[Xv(0x3a7)](T))await this[Xv(0x656)][Xv(0x6df)][Xv(0x4d7)][Xv(0x679)](T,{'keys':[Xv(0x69b),Xv(0x2cc)]});else await this[Xv(0x656)][Xv(0x6df)][Xv(0x4d7)][Xv(0x54f)](T);this[Xv(0x5e1)][Xv(0x7f0)]=C,await this['after']();}return{'status':'success'};}async[x4(0x27a)](){const XI=x4,T=this[XI(0x656)][XI(0x6df)]['dialog'];if(!T||T[XI(0x54f)]===XI(0x67f))throw new RunnerError(XI(0x1c0),{'code':ErrorCode[XI(0x1af)]});const V=stringify(await this['evaluate'](this[XI(0x382)]['value']??''));return await this[XI(0x527)](),await T['handle'](!![],V),await this[XI(0x55b)](),{'status':XI(0x6b0)};}},ClearHandler=class extends Handler{async[x4(0x4a5)](){const Xe=x4;this[Xe(0x839)](),await this[Xe(0x5a8)]();const T=await this['evaluate'](this[Xe(0x382)][Xe(0x22b)])??{'state':{'focused':!![]}},V=await this[Xe(0x22b)]({...T,'type':[T[Xe(0x54f)]??[],Xe(0x182)]['flat']()});this[Xe(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this[Xe(0x471)]??0x2710,'signal':this[Xe(0x829)]}),await this['before']();if(V[Xe(0x54f)][Xe(0x28b)])await V[Xe(0x1a2)][Xe(0x553)](),await this[Xe(0x656)]['activePage']['keyboard']['press'](['ControlLeft','KeyA'],{'commands':[Xe(0xce)]}),await this['automator'][Xe(0x6df)]['keyboard'][Xe(0x672)](Xe(0x7c5));else{if(V[Xe(0x54f)][Xe(0xc4)]){if(await V[Xe(0x1a2)]['execute'](q=>q instanceof HTMLInputElement&&q[Xe(0x54f)]===Xe(0xc4)&&q[Xe(0x781)]||q instanceof Element&&q['getAttribute']('aria-checked')===Xe(0x15a)))await V[Xe(0x1a2)]['click']({'simulate':!![],'signal':this[Xe(0x829)]});}else throw new RunnerError(Xe(0x683),{'code':ErrorCode['ELEMENT_NOT_CLEARABLE']});}return this['context'][Xe(0x7f0)]=V['node'],await this['after'](),{'status':Xe(0x6b0)};}},ScrollHandler$1=class extends Handler{async['handle'](){const XM=x4;this[XM(0x839)](),await this[XM(0x5a8)](),await this[XM(0x527)]();if(XM(0x5d4)in this['action']){const T=this['action']['element']?await this[XM(0x5b9)](this[XM(0x382)]['element']):{'type':XM(0x161),'fallback':{'type':XM(0x6e5)}},V=await this['element'](isViewportDescriptor(T)?{'type':XM(0x161),'fallback':{'type':XM(0x6e5)}}:T);this[XM(0x164)](V);const q=V['node'];let C,o;if(isViewportDescriptor(T)){const X=await this[XM(0x656)][XM(0x6df)][XM(0x650)]();if(this[XM(0x382)]['position']===XM(0x764))o=0x0,C=0x0;else{if(this[XM(0x382)]['position'][XM(0x241)](XM(0x81c)))o=-(X[XM(0x2b5)]/0x2);else{if(this[XM(0x382)][XM(0x5d4)][XM(0x241)](XM(0x589)))o=X[XM(0x2b5)]/0x2;}if(this[XM(0x382)][XM(0x5d4)]['includes'](XM(0x3cc)))C=-(X[XM(0x21d)]/0x2);else{if(this[XM(0x382)][XM(0x5d4)]['includes'](XM(0x5fb)))C=X[XM(0x21d)]/0x2;}}}else{const {scrollX:G,scrollY:B,scrollWidth:u,scrollHeight:c,clientWidth:P,clientHeight:Y}=await q[XM(0xfa)]();if(this[XM(0x382)]['position'][XM(0x241)]('center'))C=(u-P)/0x2-G,o=(c-Y)/0x2-B;else{if(this['action'][XM(0x5d4)][XM(0x241)](XM(0x81c)))o=-B;else{if(this[XM(0x382)][XM(0x5d4)][XM(0x241)](XM(0x589)))o=c-Y-B;}if(this['action'][XM(0x5d4)][XM(0x241)]('left'))C=-G;else{if(this['action'][XM(0x5d4)][XM(0x241)](XM(0x5fb)))C=u-P-G;}}}await q[XM(0x7ee)]({'x':C,'y':o});}else{if('fraction'in this[XM(0x382)]){const n=await this['evaluate'](this[XM(0x382)][XM(0x144)]),v=this['action'][XM(0x22b)]?await this[XM(0x5b9)](this[XM(0x382)][XM(0x22b)]):{'type':XM(0x161),'fallback':{'type':'app'}},I=await this['element'](isViewportDescriptor(v)?{'type':'scrollable','fallback':{'type':XM(0x6e5)}}:v);this[XM(0x164)](I);const e=I[XM(0x1a2)],M=this[XM(0x382)]['direction']??XM(0x421),K=await this[XM(0x5b9)](this[XM(0x382)][XM(0x201)])??0x1,l=isViewportDescriptor(v)?await this[XM(0x656)][XM(0x6df)]['getViewportSize']():await e[XM(0xfa)]()[XM(0x385)](({scrollWidth:E,scrollHeight:Z})=>({'width':E,'height':Z}));let f,U;if(M==='up')U=-(l[XM(0x2b5)]*n);else{if(M==='down')U=l[XM(0x2b5)]*n;else{if(M===XM(0x3cc))f=-(l[XM(0x21d)]*n);else{if(M===XM(0x5fb))f=l[XM(0x21d)]*n;}}}for(let E=0x0;E<K;++E)await e[XM(0x7ee)]({'x':f,'y':U});}else{if('element'in this[XM(0x382)]&&!(XM(0x630)in this[XM(0x382)])){const Z=this[XM(0x382)][XM(0x22b)]?await this[XM(0x5b9)](this[XM(0x382)][XM(0x22b)]):{'type':'scrollable','fallback':{'type':'app'}},H=await this['element'](Z);this[XM(0x164)](H),await tryMakeElementNotObscured(H,{'timeout':this[XM(0x471)]??0x2710,'signal':this[XM(0x829)]});}else{const t=this[XM(0x382)][XM(0x630)]??'down',m=t===XM(0x3cc)||t==='right'?XM(0x599):XM(0x514);let J;if(XM(0x22b)in this[XM(0x382)]){const F=await this[XM(0x5b9)]({...this[XM(0x382)]['element'],'hints':{'scrollable':m,...this[XM(0x382)][XM(0x22b)]['hints']}});J=await this['element'](F);}else J=await this[XM(0x22b)]({'type':XM(0x161),'superlative':XM(0x573),'hints':{'scrollable':m},'fallback':{'type':XM(0x6e5)}});this[XM(0x164)](J);const s=J['node'],O=await this[XM(0x5b9)](this['action'][XM(0x201)])??0x1,p=await this['evaluate'](this[XM(0x382)][XM(0x12b)]);let h=0x0,k=0x0;if(!p){const W=await this[XM(0x656)][XM(0x6df)]['getViewportSize'](),Q=await s['getMetrics'](),a=Math['min'](Q[XM(0x14f)],W[XM(0x2b5)]),z=Math[XM(0x67d)](Q[XM(0x4bd)],W[XM(0x21d)]);if(t==='up')k=-a;else{if(t===XM(0x421))k=a;else{if(t==='left')h=-z;else{if(t===XM(0x5fb))h=z;}}}}else{if(t==='up')k=-p;else{if(t==='down')k=p;else{if(t===XM(0x3cc))h=-p;else{if(t===XM(0x5fb))h=p;}}}}for(let w=0x0;w<O;++w)await s[XM(0x7ee)]({'x':h,'y':k});}}}return await this[XM(0x55b)](),{'status':XM(0x6b0)};}},FindHandler$1=class extends Handler{async['handle'](){const XK=x4;this[XK(0x839)](),await this['stabilize']();const T=await this[XK(0x5b9)](this[XK(0x382)][XK(0x22b)]),V=await this['element'](T);return this[XK(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this[XK(0x471)]??0x2710,'signal':this[XK(0x829)]}),await this[XK(0x527)](),this[XK(0x5e1)][XK(0x7f0)]=V['node'],await this['after'](),{'status':'found'};}},FocusHandler$1=class extends Handler{async[x4(0x4a5)](){const Xg=x4;this['throwIfBlocked'](),await this[Xg(0x5a8)]();const T=await this['evaluate'](this[Xg(0x382)]['element']),V=await this['element'](T);this[Xg(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this[Xg(0x471)]??0x2710,'signal':this['signal']}),await this[Xg(0x527)]();const q=V[Xg(0x1a2)];if(!await q[Xg(0x553)]())throw new RunnerError(Xg(0x221),{'code':ErrorCode[Xg(0x742)]});return this[Xg(0x5e1)][Xg(0x7f0)]=q,await this[Xg(0x55b)](),{'status':'success'};}},CloseTargetHandler=class extends Handler{async[x4(0x4a5)](){const Xl=x4;await this[Xl(0x5a8)](),await this[Xl(0x527)]();if(Array[Xl(0xbd)](this['automator'][Xl(0x749)]())['length']>0x1)await this[Xl(0x656)][Xl(0x6df)][Xl(0x156)]();else throw new RunnerError(Xl(0x4c6),{'code':ErrorCode['CLOSE_LAST_TAB']});return await this[Xl(0x55b)](),{'status':Xl(0x6b0)};}},CloseHandler=class extends Handler{async['handle'](){const Xf=x4;if(Xf(0x3d6)in this['action']['element']){const X=this['automator'][Xf(0x6df)][Xf(0x248)];if(!X||X['type']===Xf(0x67f))throw new RunnerError(Xf(0x1c0),{'code':ErrorCode[Xf(0x1af)]});return await this['before'](),await X['handle'](![]),await this[Xf(0x55b)](),{'status':Xf(0x6b0)};}this[Xf(0x839)](),await this['stabilize']();const T=await this[Xf(0x5b9)](this['action'][Xf(0x22b)]),V=await this[Xf(0x22b)]({...T,'hints':{'type':T[Xf(0x54f)]?T[Xf(0x54f)]:Xf(0x1e0)}});this[Xf(0x164)](V);const q=await this[Xf(0x22b)]({'hints':{'role':Xf(0x156)},'anchor':{'position':Xf(0x4f9),'element':{'node':V}}});this[Xf(0x164)](q),await tryMakeElementNotObscured(q,{'timeout':this[Xf(0x471)]??0x2710,'signal':this[Xf(0x829)]}),await this[Xf(0x527)]();const C=q[Xf(0x1a2)],o=Boolean(q[Xf(0x54f)][Xf(0xc4)]||q[Xf(0x54f)][Xf(0x78c)]);return await C[Xf(0x284)]({'simulate':o,'signal':this['signal']}),await Promise[Xf(0x18c)]([C[Xf(0x5f5)][Xf(0xdb)](Xf(0x59e)),S(0x64)]),this[Xf(0x5e1)][Xf(0x7f0)]=C,await this[Xf(0x55b)](),{'status':Xf(0x6b0)};}},CreateTargetHandler=class extends Handler{async[x4(0x4a5)](){const XU=x4;await this[XU(0x5a8)](),await this[XU(0x527)]();const T=await this[XU(0x5b9)](this[XU(0x382)][XU(0x5b7)]);return await this[XU(0x656)][XU(0x5ca)]({'url':T??void 0x0}),await this['after'](),{'status':XU(0x6b0)};}},EraseHandler=class extends Handler{async[x4(0x4a5)](){const XE=x4;this[XE(0x839)](),await this['stabilize']();const T=await this[XE(0x5b9)](this[XE(0x382)][XE(0x22b)])??{'state':{'focused':!![]}},V=await this['element']({...T,'state':{...T[XE(0x780)],'active':!![]}});this[XE(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this[XE(0x471)]??0x2710,'signal':this[XE(0x829)]}),await this[XE(0x527)]();const q=await this['evaluate'](this[XE(0x382)]['size']),C=V[XE(0x1a2)];if(!await C[XE(0xe3)]((o,X)=>{const XZ=XE;if(o instanceof HTMLInputElement&&['text',XZ(0x830),'url',XZ(0x227),'password']['includes'](o[XZ(0x54f)])||o instanceof HTMLTextAreaElement){if(o===document[XZ(0x7f0)])o['setSelectionRange'](Math[XZ(0x590)](0x0,o[XZ(0x618)]-X),o[XZ(0x618)]);else o[XZ(0x553)](),o['setSelectionRange'](Math[XZ(0x590)](0x0,o[XZ(0x4fb)][XZ(0x33d)]-X),o[XZ(0x4fb)]['length']);return!![];}return![];},[q]))throw new RunnerError(XE(0x765),{'code':ErrorCode[XE(0x410)]});return await this[XE(0x656)][XE(0x6df)][XE(0x4d7)]['press'](XE(0x7c5)),this[XE(0x5e1)]['activeElement']=C,await this[XE(0x55b)](),{'status':XE(0x6b0)};}},EvaluateHandler=class extends Handler{async[x4(0x4a5)](){const XH=x4;this[XH(0x839)](),await this[XH(0x5a8)](),await this[XH(0x527)]();try{const T=await this['automator'][XH(0x6df)][XH(0xec)][XH(0x2de)](await this['evaluate'](this['action']['js']),{'await':!![]});return this[XH(0x5e1)][XH(0x14e)][XH(0x20c)][XH(0x64b)]={'value':T},await this[XH(0x55b)](),{'status':'evaluated','meta':{'result':T}};}catch(V){if(V instanceof FlushError)throw V;else throw new RunnerError(XH(0x39d),{'code':ErrorCode[XH(0x40c)],'error':V,'stack':V[XH(0x2d3)]});}}},NavigateHandler=class extends Handler{async[x4(0x4a5)](){const Xt=x4;this[Xt(0x839)](),await this[Xt(0x5a8)](),await this[Xt(0x527)]();if(Xt(0x630)in this[Xt(0x382)]){const T=await this[Xt(0x5b9)](this['action'][Xt(0x201)])??0x1;await this['automator'][Xt(0x6df)][Xt(0x190)](this['action'][Xt(0x630)]===Xt(0x230)?T:-T),log(Xt(0x183),{'kind':Xt(0x11e),'historyDirection':this[Xt(0x382)]['direction'],'times':T});if(isPdfViewerFrame(this['automator'][Xt(0x6df)][Xt(0xec)]))await waitForReady(this[Xt(0x656)][Xt(0x6df)]['mainFrame']);return await this[Xt(0x55b)](),{'status':'navigated'};}else{const V=this[Xt(0x290)],q=await this[Xt(0x5b9)](this[Xt(0x382)]['url']||'');let C=this[Xt(0x382)][Xt(0x762)]||/^\.{0,2}\/|^[^\.\/]+$/[Xt(0x3a7)](q)?new URL(q,this['automator'][Xt(0x6df)][Xt(0x5b7)])[Xt(0x1f7)]():q;if(/^mock\+/['test'](q))C='https://mock#'+q[Xt(0x811)](/^mock\+/,'');const o=await(/^(?:data|about):|(?:https?|ftps?|chrome):\/\//['test'](C)?this[Xt(0x656)]['activePage']['navigate'](C,{'timeout':V}):this[Xt(0x656)][Xt(0x6df)]['navigate'](Xt(0x846)+C,{'timeout':V})[Xt(0x225)](X=>this['automator'][Xt(0x6df)][Xt(0xf2)]('http://'+C,{'timeout':V})[Xt(0x225)](async()=>Promise[Xt(0x74d)](X))))['catch'](async X=>{const Xm=Xt;await this[Xm(0x656)][Xm(0x6df)][Xm(0x39f)]();throw X;});log(Xt(0x183),{'kind':Xt(0x5b7),'url':C,'statusCode':o[Xt(0x729)]});if(isPdfViewerFrame(this[Xt(0x656)][Xt(0x6df)][Xt(0xec)]))await waitForReady(this['automator'][Xt(0x6df)][Xt(0xec)]);await this[Xt(0x55b)]();if(!this[Xt(0x693)]){if(this[Xt(0x382)]['statuses']!=='*'){const X=[...this['action'][Xt(0x6e1)]??[],...this[Xt(0x533)]];if(X[Xt(0x33d)]>0x0?!X[Xt(0x241)](o[Xt(0x729)]):o[Xt(0x729)]<0xc8||o['status']>0x12b)throw new RunnerError('The\x20navigation\x20to\x20url\x20\x22'+q+Xt(0x170)+o['status'],{'code':ErrorCode[Xt(0x445)],'status':o[Xt(0x729)],'headers':o[Xt(0x5c5)]});}return{'status':Xt(0x323),'meta':{...o}};}else return{'status':'navigated','meta':{...o,'statusExpected':this['action'][Xt(0x6e1)]&&(this[Xt(0x382)][Xt(0x6e1)]==='*'||this[Xt(0x382)][Xt(0x6e1)]['includes'](o[Xt(0x729)]))}};}}},GoHandler=class extends Handler{async[x4(0x4a5)](){const XJ=x4;this['throwIfBlocked'](),await this['stabilize']();const T=await this[XJ(0x5b9)](this['action'][XJ(0x43e)]),V={'automator':this[XJ(0x656)],'context':this[XJ(0x5e1)],'shouldCapture':this[XJ(0x632)],'shouldNotThrowOnUnexpectedNavigationStatus':this['shouldNotThrowOnUnexpectedNavigationStatus'],'expectedNavigationStatuses':this[XJ(0x533)]};return(isUrlString(T)?new NavigateHandler({...V,'instruction':{'type':'navigate','url':T}}):new ScrollHandler$1({...V,'instruction':{'type':XJ(0x2fa),'element':{'title':T}}}))[XJ(0x4a5)]();}},HitKeyHandler=class extends Handler{async['handle'](){const Xs=x4;this[Xs(0x839)](),await this['stabilize'](),await this[Xs(0x527)]();const T=this[Xs(0x382)][Xs(0x1e3)],V=await this[Xs(0x5b9)](this[Xs(0x382)][Xs(0x201)])??0x1;for(let q=0x0;q<V;++q)if(['F5',Xs(0x5db)][Xs(0x241)](T[Xs(0x78a)]('+')))await this['automator'][Xs(0x6df)][Xs(0xcd)]();else{if(['ControlLeft+F5',Xs(0xf3)]['includes'](T[Xs(0x78a)]('+')))await this[Xs(0x656)]['activePage'][Xs(0xcd)]({'hard':!![]});else{const C=await this[Xs(0x656)][Xs(0x6df)][Xs(0xec)][Xs(0xe3)](()=>{const XO=Xs,o=document[XO(0x7f0)];return!!(o instanceof HTMLInputElement&&o[XO(0x5bc)]&&![XO(0x333),XO(0x394),XO(0x744)][XO(0x241)](o[XO(0x54f)]));});await this['automator']['activePage']['keyboard'][Xs(0x672)](T,{'raw':C});}}return await this['after'](),{'status':Xs(0x6b0)};}},HoverHandler=class extends Handler{async[x4(0x4a5)](){const Xp=x4;this[Xp(0x839)](),await this['stabilize']();const T=await this[Xp(0x5b9)](this['action']['element']),V=await this['element']({...T,'state':{...T[Xp(0x780)],'active':!![]}});this[Xp(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this['findTimeout']??0x2710,'signal':this[Xp(0x829)]}),await this[Xp(0x527)]();const q=V[Xp(0x1a2)];return await q[Xp(0x65b)]({'signal':this[Xp(0x829)]}),this[Xp(0x5e1)][Xp(0x7f0)]=q,await this[Xp(0x55b)](),{'status':'success'};}},NavigatePdfHandler=class extends Handler{async['handle'](){const Xh=x4;this[Xh(0x839)](),await this[Xh(0x5a8)](),await this['before']();const T=await this['evaluate'](this[Xh(0x382)][Xh(0x5ca)]);if(!isPdfViewerFrame(this[Xh(0x656)][Xh(0x6df)][Xh(0xec)]))throw new RunnerError(Xh(0x4eb),{'code':ErrorCode[Xh(0x45b)]});const {pageCount:V,resolvedPage:q}=await this[Xh(0x656)][Xh(0x6df)][Xh(0xec)]['defaultExecute'](C=>{const Xk=Xh,o=globalThis[Xk(0x224)];if(!o)return{'pageCount':0x0,'resolvedPage':0x0};const {viewer:X}=o,G=C<0x0?X['pagesCount']+C+0x1:C;if(G<0x1||G>X[Xk(0x2d9)])return{'pageCount':X[Xk(0x2d9)],'resolvedPage':G};return X[Xk(0x11b)]=G,{'pageCount':X[Xk(0x2d9)],'resolvedPage':G};},[T]);if(q<0x1||q>V)throw new RunnerError(Xh(0x810)+T+Xh(0x77c),{'code':ErrorCode['PDF_PAGE_OUT_OF_RANGE'],'page':T,'pageCount':V});return await this[Xh(0x55b)](),{'status':Xh(0x6b0)};}},RefreshHandler=class extends Handler{async[x4(0x4a5)](){const XF=x4;return this[XF(0x839)](),await this['stabilize'](),await this[XF(0x527)](),await this[XF(0x656)][XF(0x6df)]['reload']({'hard':this[XF(0x382)][XF(0x4fb)]===XF(0x308)}),await this[XF(0x55b)](),{'status':XF(0x6b0)};}},SearchHandler=class extends Handler{async[x4(0x4a5)](){const XW=x4;this['throwIfBlocked'](),await this['stabilize']();const T=await this[XW(0x5b9)](this[XW(0x382)]['element'])??{'type':'textbox','title':XW(0x830)},V=await this[XW(0x22b)]({...T,'type':[T[XW(0x54f)]??[],'textbox'][XW(0x3f1)]()});this[XW(0x164)](V),await tryMakeElementNotObscured(V,{'timeout':this['findTimeout']??0x2710,'signal':this[XW(0x829)]}),await this[XW(0x527)]();const q=await this[XW(0x5b9)](this[XW(0x382)][XW(0x4fb)]||''),C=V[XW(0x1a2)];return await this[XW(0x53e)](C),await C[XW(0x553)](),await this[XW(0x656)]['activePage'][XW(0x4d7)]['type'](q),await this[XW(0x656)][XW(0x6df)][XW(0x4d7)][XW(0x672)]('Enter'),this[XW(0x5e1)]['activeElement']=C,await this[XW(0x55b)](),{'status':XW(0x6b0)};}};function formatDateTimeForInput(T,V){const XQ=x4;if(V===XQ(0xf9)&&T[XQ(0x789)](/^\d{2}:\d{2}(:\d{2})?$/))return T;const q=/(\d{4}-\d{2}-\d{2})T?(\d{2}:\d{2})?:?(\d{2})?/;if(q['test'](T))T=T['trim']()[XQ(0x76a)]('Z')?T:T+'Z';else T+=XQ(0x3bf);const C=new Date(T)[XQ(0x4e6)](),o=C[XQ(0x789)](q);if(!o)return C;const X=o[0x1],G=parseInt(o[0x3]),B=G?o[0x2]+':'+G:o[0x2];if(V===XQ(0x525))return X;if(V===XQ(0xf9))return B;return X+'T'+B;}var SetValueHandler=class extends Handler{async[x4(0x4a5)](){const Xa=x4;this[Xa(0x839)](),await this[Xa(0x5a8)]();const T=await this[Xa(0x5b9)](this[Xa(0x382)][Xa(0x4fb)]??'');if(isFileHandle(this[Xa(0x382)][Xa(0x4fb)])&&this[Xa(0x656)][Xa(0x6df)][Xa(0x248)]?.['type']==='filepicker')await this.#setValueInFilepickerDialog(this[Xa(0x656)][Xa(0x6df)]['dialog'],T);else{const V=await this[Xa(0x5b9)](this[Xa(0x382)][Xa(0x22b)]),q=await this['element']({...V,'type':V[Xa(0x54f)]??Xa(0x182)});this[Xa(0x164)](q),await tryMakeElementNotObscured(q,{'timeout':this['findTimeout']??0x2710,'signal':this[Xa(0x829)]}),await this[Xa(0x527)]();const C=q[Xa(0x1a2)];if(!await C[Xa(0x553)]()&&!await C[Xa(0xe3)](X=>X instanceof HTMLFieldSetElement))throw new RunnerError(Xa(0x221),{'code':ErrorCode['ELEMENT_NOT_INTERACTIVE']});const o=await C[Xa(0xe3)](X=>{const Xz=Xa;if(X instanceof HTMLFieldSetElement||X instanceof HTMLSelectElement)return Xz(0x523);else{if(X instanceof HTMLInputElement&&X[Xz(0x54f)]===Xz(0x81d))return'colorpicker';else{if(X instanceof HTMLInputElement&&X[Xz(0x54f)]===Xz(0x525))return'datepicker';else{if(X instanceof HTMLInputElement&&X['type']===Xz(0xf9))return Xz(0x54c);else{if(X instanceof HTMLInputElement&&X[Xz(0x54f)]==='datetime-local')return Xz(0x56b);else{if(X instanceof HTMLInputElement&&X['type']===Xz(0x235))return Xz(0x67f);else return'inputbox';}}}}}});if(o===Xa(0x523))await this.#setValueInSelectable(C,T);else{if(o===Xa(0x23f))await this.#setValueInColorPicker(C,T);else{if(o===Xa(0x530))await this.#setValueInDatePicker(C,T);else{if(o===Xa(0x54c))await this.#setValueInTimePicker(C,T);else{if(o==='datetimepicker')await this.#setValueInDateTimePicker(C,T);else await C[Xa(0x208)](T);}}}}this[Xa(0x5e1)][Xa(0x7f0)]=C;}return await this[Xa(0x55b)](),{'status':Xa(0x6b0)};}async #setValueInSelectable(T,V){const Xw=x4;if(isRandomValue(this[Xw(0x382)]['value'])&&this[Xw(0x382)][Xw(0x4fb)]['type']===Xw(0x196)){const q=await T[Xw(0xe3)](C=>{const Xi=Xw;if(C instanceof HTMLSelectElement)return C[Xi(0x509)][Xi(0x33d)];else{if(C instanceof HTMLFieldSetElement)return C[Xi(0x77f)](Xi(0x328))[Xi(0x33d)];else return 0x0;}});V=Math[Xw(0x329)](V*q);}if(!await T[Xw(0xe3)](async(C,o)=>{const Xd=Xw;if(C instanceof HTMLSelectElement){let X;if(typeof o===Xd(0x196))X=C[Xd(0x509)][o];else{if(typeof o===Xd(0x71a)){const G=Array[Xd(0x828)]['find'][Xd(0x494)](C[Xd(0x509)]),B=String(o)[Xd(0x655)]();X=G(u=>[u[Xd(0x4fb)][Xd(0x655)](),u[Xd(0x626)][Xd(0x655)]()][Xd(0x241)](B))??G(u=>u['text'][Xd(0x655)]()[Xd(0x241)](B));}}if(X)return X[Xd(0x57a)]=!![],C['dispatchEvent'](new Event('input',{'bubbles':!![],'composed':!![]})),C[Xd(0x7f2)](new Event(Xd(0x7d2),{'bubbles':!![]})),!![];}else{if(C instanceof HTMLFieldSetElement){let u;if(typeof o===Xd(0x196))u=C[Xd(0x77f)]('input[type=\x22radio\x22],input[type=\x22checkbox\x22]')[o];else{if(typeof o===Xd(0x71a)){const c=o['toLowerCase'](),P=Array['from'](C[Xd(0x77f)](Xd(0x328))),Y=[n=>n===c,n=>n[Xd(0x27e)](c),n=>n[Xd(0x241)](c)];for(const n of Y)u=P['find'](v=>Array[Xd(0xbd)](v[Xd(0x707)]??[])[Xd(0x654)](I=>I[Xd(0x416)]&&n(I['innerText']['toLowerCase']()))||n(v[Xd(0x4fb)]?.[Xd(0x655)]()));}}if(u)return u[Xd(0x781)]=!![],u[Xd(0x7f2)](new Event(Xd(0x107),{'bubbles':!![],'composed':!![]})),u['dispatchEvent'](new Event(Xd(0x7d2),{'bubbles':!![]})),!![];}}return![];},[V],{'await':!![]}))throw new RunnerError(Xw(0x6d5)+JSON['stringify'](V)+Xw(0x3dd),{'code':ErrorCode[Xw(0xc3)],'value':V});}async #setValueInColorPicker(T,V){const G0=x4,{r:q,g:C,b:o}=stringToColorOrThrow(V),X='#'+Number(q)[G0(0x1f7)](0x10)[G0(0x38a)](0x2,'0')+Number(C)[G0(0x1f7)](0x10)[G0(0x38a)](0x2,'0')+Number(o)['toString'](0x10)[G0(0x38a)](0x2,'0');await T['setValue'](X);}async #setValueInDatePicker(T,V){const G1=x4;await T[G1(0x208)](formatDateTimeForInput(V,G1(0x525)));}async #setValueInTimePicker(T,V){const G2=x4;await T[G2(0x208)](formatDateTimeForInput(V,'time'));}async #setValueInDateTimePicker(T,V){const G3=x4;await T[G3(0x208)](formatDateTimeForInput(V,G3(0x7a1)));}async #setValueInFilepickerDialog(T,V){await T['handle']([V]);}},SwitchTargetHandler=class extends Handler{async[x4(0x4a5)](){const G4=x4;await this['stabilize'](),await this['before']();if('index'in this[G4(0x382)]){const T=await this[G4(0x5b9)](this[G4(0x382)][G4(0x6ee)]),V=Array[G4(0xbd)](this['automator'][G4(0x749)]());if(T>=V[G4(0x33d)])throw new RunnerError(G4(0x193)+T+',\x20because\x20there\x20is\x20only\x20'+V['length']+G4(0x52a),{'code':ErrorCode[G4(0xcc)]});await V[T][G4(0x75e)]();}else{if(G4(0x5d4)in this[G4(0x382)]){if(this[G4(0x382)][G4(0x5d4)]===G4(0x4cd)){if(!await this['automator'][G4(0x369)]())throw new RunnerError('Can\x27t\x20switch\x20to\x20the\x20previous\x20tab\x20because\x20there\x20is\x20no\x20history\x20of\x20navigation\x20among\x20the\x20tabs',{'code':ErrorCode[G4(0x24e)]});}else{if(!await this[G4(0x656)][G4(0x3c7)]()){const q=Array[G4(0xbd)](this[G4(0x656)][G4(0x749)]());if(q['length']<=0x1)throw new RunnerError(G4(0x799),{'code':ErrorCode[G4(0x313)]});await q[(q[G4(0x849)](C=>C===this[G4(0x656)][G4(0x6df)])+0x1)%q[G4(0x33d)]][G4(0x75e)]();}}}else{if(G4(0x5e0)in this[G4(0x382)]){const C=Array[G4(0xbd)](this[G4(0x656)][G4(0x749)]()),o=await this[G4(0x5b9)](this[G4(0x382)][G4(0x5e0)]),X=new RegExp('\x5cb'+o+'\x5cb','i'),G=C[G4(0x2f2)](B=>X[G4(0x3a7)](B['title']));if(!G)throw new RunnerError(G4(0x1f0)+o+'\x22',{'code':ErrorCode['NO_TAB']});await G['activate']();}}}return await this['after'](),{'status':'success'};}},CheckHandler=class extends Handler{async[x4(0x4a5)](){const G5=x4;await this[G5(0x5a8)]();const T=await this[G5(0x5b9)](this[G5(0x382)][G5(0x22b)]),V=await this[G5(0x22b)]({...T,'type':T['type']??G5(0xc4)});this[G5(0x164)](V),await this[G5(0x527)]();const q=V[G5(0x780)]['checked']??![];if(typeof this[G5(0x382)][G5(0x4fb)]!==G5(0x716)||q!==this[G5(0x382)][G5(0x4fb)])await V[G5(0x1a2)][G5(0x284)]();return await this[G5(0x55b)](),{'status':'success'};}},ClickHandler=class extends Handler{async[x4(0x4a5)](){const G6=x4;await this[G6(0x5a8)]();const T=await this[G6(0x5b9)](this[G6(0x382)][G6(0x22b)]),V=await this['element']({...T,'state':{...T&&G6(0x780)in T?T[G6(0x780)]:{},'active':!![]},'hints':{'type':G6(0x333)}});return this['throwIfNoElement'](V),this[G6(0xb7)](V);}async[x4(0xb7)](T){const G7=x4;await this[G7(0x527)]();const {times:V}=this[G7(0x382)];return await T['node'][G7(0x284)]({'times':V}),await sleep(0x64),await this['after'](),{'status':G7(0x6b0)};}},FindHandler=class extends Handler{async[x4(0x4a5)](){const G8=x4;await this[G8(0x5a8)]();const T=await this[G8(0x5b9)](this[G8(0x382)][G8(0x22b)]),V=await this[G8(0x22b)](T);return this['throwIfNoElement'](V),await this[G8(0x527)](),await this['after'](),{'status':'found'};}},FocusHandler=class extends Handler{async[x4(0x4a5)](){const G9=x4;await this[G9(0x5a8)]();const T=await this[G9(0x5b9)](this['action'][G9(0x22b)]),V=await this[G9(0x22b)](T);return this['throwIfNoElement'](V),await this[G9(0x527)](),await V['node']['focus'](),await this['after'](),{'status':G9(0x6b0)};}},ScrollHandler=class extends Handler{async[x4(0x4a5)](){const Gx=x4;await this[Gx(0x5a8)](),await this['before']();throw new RunnerError(Gx(0x5f8),{'code':ErrorCode[Gx(0x6c1)]});}},TypeHandler=class extends Handler{async[x4(0x4a5)](){const Gr=x4;await this[Gr(0x5a8)]();const T=stringify(await this[Gr(0x5b9)](this['action'][Gr(0x4fb)]??'')),V=await this['evaluate'](this[Gr(0x382)][Gr(0x22b)])??(isOTP(this[Gr(0x382)]['value'])?{'type':'textbox','title':Gr(0x5e4),'fallback':{'state':{'focused':!![]}}}:{'state':{'focused':!![]}}),q=await this[Gr(0x22b)]({...V,'state':{...V&&Gr(0x780)in V?V[Gr(0x780)]:{},'active':!![]},'type':[(V&&Gr(0x54f)in V?V[Gr(0x54f)]:void 0x0)??[],Gr(0x28b)][Gr(0x3f1)]()});return this['throwIfNoElement'](q),await this[Gr(0x527)](),await this[Gr(0x53e)](q[Gr(0x1a2)]),await q[Gr(0x1a2)]['click'](),await q[Gr(0x1a2)][Gr(0x54f)](T),await this[Gr(0x55b)](),{'status':'success'};}};const noop={},common={'assert':AssertHandler,'wait':WaitHandler,'empty':EmptyHandler,'comment':EmptyHandler,'fetch':FetchHandler,'set\x20variable':SetVariableHandler,'visual\x20check':VisualCheckHandler,'intent':IntentHandler,'set\x20preinstructions':DefinePreinstructionsHandler,'drop\x20preinstructions':DefinePreinstructionsHandler,'initialize\x20scope':InitializeScopeHandler,'try':TryHandler,'if':IfHandler},web={'check':CheckHandler$1,'clear':ClearHandler,'click':ClickHandler$1,'close':CloseHandler,'close\x20target':CloseTargetHandler,'create\x20target':CreateTargetHandler,'erase':EraseHandler,'evaluate':EvaluateHandler,'find':FindHandler$1,'focus':FocusHandler$1,'hit\x20key':HitKeyHandler,'hover':HoverHandler,'navigate':NavigateHandler,'navigate\x20pdf':NavigatePdfHandler,'refresh':RefreshHandler,'scroll':ScrollHandler$1,'search':SearchHandler,'set\x20value':SetValueHandler,'switch\x20target':SwitchTargetHandler,'type':TypeHandler$1,'visual\x20check':VisualCheckHandler,'go':GoHandler},mobile={'check':CheckHandler,'click':ClickHandler,'find':FindHandler,'focus':FocusHandler,'scroll':ScrollHandler,'type':TypeHandler},handlers={'web':{...noop,...common,...web},'mobile':{...noop,...common,...mobile}};function makeHandler(T){const GR=x4;if(!(T[GR(0x656)][GR(0x54f)]in handlers))throw new Error(GR(0x746)+T[GR(0x656)][GR(0x54f)]+GR(0x49b));if(!(T[GR(0x77b)][GR(0x54f)]in handlers[T[GR(0x656)][GR(0x54f)]]))throw new Error(GR(0x5ed)+T[GR(0x656)]['type']+GR(0x49d)+T[GR(0x656)]['type']+'\x20automator');const V=handlers[T[GR(0x656)][GR(0x54f)]][T[GR(0x77b)][GR(0x54f)]];return new V(T);}var FlagStore=class extends EventTargetNode{#flags={'pdfViewer':{'description':'Intercept\x20PDF\x20requests\x20and\x20serve\x20the\x20NLP\x20DOM-based\x20viewer\x20instead\x20of\x20the\x20browser\x20PDF\x20viewer','value':![]}};#set(T,V){const Gb=x4,q=this.#flags[T]?.[Gb(0x4fb)];if(V===q)return;this.#flags[T][Gb(0x4fb)]=V,this[Gb(0x22a)](new FlagChangedEvent(T,V,q));}get['pdfViewer'](){const GD=x4;return this.#flags[GD(0x7b5)][GD(0x4fb)];}set['pdfViewer'](T){const GL=x4;this.#set(GL(0x7b5),T);}['set'](T){const Gj=x4;for(const V of Object[Gj(0x1e3)](T)){const q=T[V];if(q!==void 0x0)this[V]=q;}}[x4(0x2d5)](){return this.#flags;}},FlagChangedEvent=class extends Event{['key'];[x4(0x4fb)];[x4(0x7c8)];constructor(T,V,q){const GN=x4;super(GN(0x188)),this[GN(0x7b0)]=T,this[GN(0x4fb)]=V,this['previousValue']=q;}};const flags=new FlagStore(),VIEWER_HTML_PATH=new URL('../../assets/index-C5rB_Uzy.html',import.meta.url);function installPdfInterceptor(T){const GA=x4;return T[GA(0x172)]([{'resource':[GA(0x86c)],'stage':[GA(0x7a7)]}],async V=>{const GS=GA;if(!flags[GS(0x7b5)]||!(V instanceof InterceptedResponse)||!isPdfResponse(V))return;try{const q=await V['base64'](),C=await getViewerHtml();if(!C[GS(0x241)](GS(0x364)))throw new Error(GS(0x173)+PDF_BYTES_PLACEHOLDER+'\x22');const o=C[GS(0x811)](PDF_BYTES_PLACEHOLDER,q);await V[GS(0x5f3)]({'status':0xc8,'headers':{'content-type':GS(0x151),'x-nlp-pdf-viewer':'1'},'body':new TextEncoder()[GS(0x2ea)](o)}),log(GS(0x255),{'url':V[GS(0x51e)][GS(0x5b7)]});}catch(X){error('pdfInterceptorFailed',{'error':X});}});}function isPdfResponse(T){const GT=x4,V=Object[GT(0x80f)](T['headers'])['find'](([q])=>q['toLowerCase']()===GT(0x848))?.[0x1]??'';return/^application\/(?:x-)?pdf\b/i[GT(0x3a7)](V);}let viewerHtmlPromise;function getViewerHtml(){const GV=x4;if(!viewerHtmlPromise)viewerHtmlPromise=readFile(VIEWER_HTML_PATH,GV(0x753))[GV(0x225)](T=>{viewerHtmlPromise=void 0x0;throw T;});return viewerHtmlPromise;}function makeScope(T){return new Scope(T);}var Scope=class{#storages=new Map();#global={};#main;#active;get['main'](){return this.#main;}get[x4(0x157)](){return this.#active;}get[x4(0x57d)](){return this.#global;}get[x4(0x20c)](){const Gq=x4;let T={...this.#global},V=this.#active;while(V){T={...V[Gq(0x107)],...V['public'],...T},V=V['parent'];}return new Proxy(T,{'set':(q,C,o)=>{const GC=Gq;return this.#storages[GC(0x2d8)](X=>Reflect['set'](X[GC(0x20c)],C,o)),!![];},'deleteProperty':(q,C)=>{const Gy=Gq;return this.#storages[Gy(0x2d8)](o=>Reflect[Gy(0x646)](o[Gy(0x20c)],C)),!![];}});}get[x4(0x1d9)](){const GX=x4;let T={},V=this.#active;while(V){T={...V[GX(0x1d9)],...T},V=V['parent'];}return new Proxy(T,{'set':(q,C,o)=>{const GG=GX,X=this.#active;return Reflect[GG(0x866)](X[GG(0x1d9)],C,o),!![];},'deleteProperty':(q,C)=>{const GB=GX;return this.#storages[GB(0x2d8)](o=>Reflect[GB(0x646)](o[GB(0x1d9)],C)),!![];}});}constructor(T){const Gu=x4;this.#global=T['global'],this.#main=this['set'](Gu(0x1c7),T),this.#active=this.#main;}[x4(0x75e)](T){const Gc=x4;if(!this.#storages[Gc(0x136)](T))throw new Error(Gc(0x476)+T+'\x22');this.#active=this.#storages['get'](T);}[x4(0x41c)](T){const GP=x4;this.#active[GP(0x107)]=Object['fromEntries'](Object['entries'](T[GP(0x107)]??{})['map'](([V,q])=>[V[GP(0x655)](),q])),this.#active['public']=Object[GP(0x714)](Object[GP(0x80f)](T[GP(0x20c)]??{})[GP(0x16a)](([V,q])=>[V[GP(0x655)](),q])),this.#active[GP(0x20c)]=T[GP(0x1d9)];}[x4(0x65c)](T){const GY=x4;return this.#storages[GY(0x316)](T)?.['parent']===this.#active;}['set'](T,V){const Gn=x4,q={'name':T,'parent':T===Gn(0x1c7)?null:this.#active,'input':Object[Gn(0x714)](Object[Gn(0x80f)](V[Gn(0x107)]??{})[Gn(0x16a)](([C,o])=>[C[Gn(0x655)](),o])),'public':Object[Gn(0x714)](Object['entries'](V[Gn(0x20c)]??{})['map'](([C,o])=>[C[Gn(0x655)](),o])),'internal':V[Gn(0x1d9)]??{}};return this.#storages['set'](T,q),q;}['reset'](){const Gv=x4;this.#storages=new Map(),this.#main=this['set'](Gv(0x1c7),{...this.#main,'public':{}}),this.#active=this.#main;}};const connect=buildConnector({'allowH2':!![],'rejectUnauthorized':![]});function makeDispatcher({proxy:T}={}){const GI=x4;return T?new Socks5ProxyAgent(T[GI(0x5b7)],{'username':T[GI(0x550)],'password':T[GI(0x61b)],'connect':connect}):new Agent({'connect':connect});}function makePageData({browser:T}){const Gf=x4;return{get 'url'(){const Ge=D;return makeUrlData(T[Ge(0x6df)][Ge(0x5b7)]);},get 'title'(){return T['activePage']['title'];},get 'status'(){const GM=D;return T['activePage'][GM(0xec)][GM(0x7a7)][GM(0x729)];},get 'statustext'(){const GK=D;return T[GK(0x6df)][GK(0xec)]['response'][GK(0x54e)];},get 'headers'(){const Gg=D,V=T[Gg(0x6df)]['mainFrame'][Gg(0x7a7)][Gg(0x5c5)];return{...Object['fromEntries'](Object[Gg(0x80f)](V)['map'](([q,C])=>[q[Gg(0x655)](),C])),[Symbol[Gg(0x31f)](Gg(0x316))](q){const Gl=Gg;return this[q[Gl(0x655)]()];}};},get 'cookies'(){return{};},get 'meta'(){return{};},get 'width'(){return NaN;},get 'height'(){return NaN;},async[Symbol[Gf(0x31f)](Gf(0x316))](V){const GU=Gf;if(V===GU(0x5e0))return T['activePage']['mainFrame'][GU(0x5b9)](GU(0x336));else{if(V===GU(0x5e5)){const q=await T[GU(0x6df)][GU(0x64c)]();return Object[GU(0x714)](q[GU(0x80f)]());}else{if(V==='meta')return T[GU(0x6df)][GU(0xec)][GU(0xe3)](()=>{const GE=GU,C=document[GE(0x5d6)]['querySelectorAll'](GE(0x4cf));return Array[GE(0xbd)](C)['reduce']((o,X)=>{const GZ=GE,G=X[GZ(0x359)]('property')||X[GZ(0x15f)];if(G)o[G]=X[GZ(0x624)]??'';return o;},{});});else{if(V==='width')return T['activePage']['mainFrame'][GU(0x5b9)](GU(0x5a5));else{if(V===GU(0x2b5))return T['activePage'][GU(0xec)][GU(0x5b9)]('document.scrollingElement.scrollHeight');else return this[V];}}}}}};}function makePdfData({browser:T}){const GH=x4,V={get 'name'(){return'';},get 'pagecount'(){return 0x0;},get 'currentpage'(){return 0x0;},async[Symbol[GH(0x31f)](GH(0x316))](q){const Gt=GH,C=q['toLowerCase']();if(C===Gt(0x15f))return T['activePage'][Gt(0xec)][Gt(0x297)](()=>document[Gt(0x5e0)]);else{if(C===Gt(0x412))return T[Gt(0x6df)][Gt(0xec)][Gt(0x297)](()=>globalThis[Gt(0x224)]?.[Gt(0x219)]?.[Gt(0x2d9)]??0x0);else{if(C===Gt(0x37e))return T[Gt(0x6df)][Gt(0xec)][Gt(0x297)](()=>globalThis[Gt(0x224)]?.[Gt(0x219)]?.[Gt(0x11b)]??0x0);}}}};return{get 'value'(){const Gm=GH,q=T[Gm(0x6df)]?.['mainFrame'];if(!q||!isPdfViewerFrame(q))return null;return V;}};}const INDICATOR_PATTERN=/loading|loader|spinner|spin|progress|waiting|busy/i;function isPageSpinnerVisible(T){const GJ=x4;return T[GJ(0x250)][GJ(0x654)](nodeHasSpinnerIndicators);}function nodeHasSpinnerIndicators(T){const Gs=x4,V=T[Gs(0x752)];if(V){if(V[Gs(0x5fa)]===Gs(0x729)||V[Gs(0x5fa)]===Gs(0x604)||V[Gs(0x477)]===Gs(0x15a))return!![];if(V[Gs(0x756)]&&INDICATOR_PATTERN['test'](V[Gs(0x756)]))return!![];if(V['id']&&INDICATOR_PATTERN[Gs(0x3a7)](V['id']))return!![];}if(T[Gs(0x82c)]&&INDICATOR_PATTERN[Gs(0x3a7)](T[Gs(0x82c)]))return!![];if(T['visibleLabel']&&INDICATOR_PATTERN['test'](T['visibleLabel']))return!![];if(T[Gs(0x68d)]&&INDICATOR_PATTERN[Gs(0x3a7)](T[Gs(0x68d)]))return!![];return![];}function parseIOSFrame(T){const GO=x4;if(!T)return{'x':0x0,'y':0x0,'width':0x0,'height':0x0};const V=T[GO(0x789)](/\{\{([\d.]+),\s*([\d.]+)\},\s*\{([\d.]+),\s*([\d.]+)\}\}/);if(!V)return{'x':0x0,'y':0x0,'width':0x0,'height':0x0};return{'x':parseFloat(V[0x1]),'y':parseFloat(V[0x2]),'width':parseFloat(V[0x3]),'height':parseFloat(V[0x4])};}function makeIOSNode(T){return new IOSNode(T);}var IOSNode=class{[x4(0x4a5)];#connection;constructor({connection:T,handle:V}){const Gp=x4;this.#connection=T,this[Gp(0x4a5)]=V;}async[x4(0x836)](T){return this===T;}async[x4(0x284)](T){const Gh=x4;await this.#connection[Gh(0x3df)]({'type':T?.['times']===0x2?Gh(0x570):Gh(0x3b7),'target':{'type':Gh(0x22b),'elementSnapshot':this[Gh(0x4a5)]},'parameters':{'taps':T?.[Gh(0x201)]??0x1}});}async['focus'](){const Gk=x4;return await this[Gk(0x284)](),!![];}async[x4(0x54f)](T){const GF=x4;await this.#connection['sendGesture']({'type':GF(0x128),'target':{'type':GF(0x22b),'elementSnapshot':this[GF(0x4a5)]},'parameters':{'text':T}});}async['isContentEditable'](){return![];}async['setCaretPosition'](T){}async['canTypeInto'](){return!![];}async[x4(0x100)](){const GW=x4;return parseIOSFrame(this[GW(0x4a5)][GW(0x5f9)]);}async[x4(0x603)](){const GQ=x4;return this[GQ(0x100)]();}async[x4(0x4ae)](){const Ga=x4;return[parseIOSFrame(this[Ga(0x4a5)][Ga(0x5f9)])];}async[x4(0xbc)](){return!![];}async[x4(0x344)](){const Gz=x4;return this[Gz(0x4a5)][Gz(0xcf)]||this[Gz(0x4a5)][Gz(0x124)]||'';}async[x4(0x555)]({hint:hint=x4(0x71a)}={}){const Gw=x4;if(hint===Gw(0x716)){if(this[Gw(0x4a5)][Gw(0x403)]===Gw(0x1e9))return String(this[Gw(0x4a5)][Gw(0xcf)])==='1';}return this[Gw(0x4a5)][Gw(0xcf)];}async['isEnabled'](){const Gi=x4;return this[Gi(0x4a5)][Gi(0x141)]??null;}async[x4(0x557)](){return null;}async[x4(0x7b8)](){return{'ratio':0x0};}async[x4(0x504)](){return'';}},Device=class{['type']='mobile';[x4(0x4b8)];[x4(0x1d2)]=![];constructor({connection:T}){this['connection']=T;}async[x4(0x5a8)](T,V){}async[x4(0x4f1)](){return this['connection']['getScreenshot']();}async[x4(0x6aa)](){const Gd=x4,T=await this[Gd(0x4b8)][Gd(0x6aa)](),V={...T,'nodes':[]};for(const q of T['nodes'])V[Gd(0x24c)][Gd(0x132)]({...q,'node':makeIOSNode({'connection':this['connection'],'handle':q[Gd(0x1a2)]})});return V;}};const extractAXTree$1=makeBundledScript({'name':x4(0x6d7),'url':new URL(x4(0x802),import.meta.url)}),extractPdfAXTree=makeBundledScript({'name':'extractPdfAXTree','url':new URL('../../assets/extract-pdf-ax-tree-DI_Yi3DA.js',import.meta.url)});makeBundledExpression({'name':x4(0x7b2),'url':new URL(x4(0x48b),import.meta.url)});const version$2='1.4.0';var AXNodeView=class AXNodeView extends EventTarget$1{[x4(0x851)];['_nodes']=[];[x4(0x13a)];[x4(0x711)]=null;[x4(0x571)]=[];['_host']=null;[x4(0x587)]=null;['_panel']=null;[x4(0xd3)]=null;['_stackingContextRoot']=null;[x4(0x83e)]=null;[x4(0x772)]=[];[x4(0x62d)]={};[x4(0x823)]={};[x4(0x3ef)]={};[x4(0x20a)];['_text']='';['_visibleLabel']='';[x4(0x798)];[x4(0x180)]='';[x4(0x2c1)]='';['_declarativeDescription']='';[x4(0x831)]=Object[x4(0x3d8)](null);[x4(0x16b)]=![];[x4(0x2c5)]=0x0;['_borderRect'];[x4(0x2a5)];[x4(0x832)];[x4(0x65e)];[x4(0x1c1)]=-0x1;[x4(0x738)]=-0x1;[x4(0x185)]=-0x1;[x4(0x6f2)];['colCells'];[x4(0x1bb)];[x4(0x218)];get[x4(0x1b2)](){const B0=x4;return this[B0(0x851)];}get[x4(0x1a2)](){const B1=x4;return this[B1(0x17e)][0x0];}get['incorporated'](){const B2=x4;return this[B2(0x17e)];}get[x4(0x31e)](){const B3=x4;return this[B3(0x711)];}get['host'](){const B4=x4;return this[B4(0x305)];}get[x4(0x1e0)](){const B5=x4;return this[B5(0x587)];}get[x4(0x6da)](){const B6=x4;return this[B6(0x6d0)];}get[x4(0x74a)](){return this['_backgroundRoot'];}get[x4(0x6ea)](){const B7=x4;return this[B7(0x772)];}get[x4(0x3fa)](){const B8=x4;return this[B8(0x3e0)];}get[x4(0x4f2)](){return this['_overflowRoot'];}get[x4(0x384)](){const B9=x4;return this[B9(0x571)];}get[x4(0x289)](){const Bx=x4;return!this[Bx(0x31e)]?.[Bx(0x384)][Bx(0x241)](this);}get['invisible'](){const Br=x4;return this[Br(0x69f)]['opacity']===0x0||this[Br(0x3ef)]['hidden']||this[Br(0x7eb)]['width']<=0x1&&this[Br(0x7eb)][Br(0x2b5)]<=0x1;}get[x4(0x3eb)](){const BR=x4;return!this[BR(0x54f)]['image']&&!this[BR(0x3ef)][BR(0x635)];}get[x4(0x843)](){const Bb=x4;return!this[Bb(0x69f)]['hidden']&&(!this[Bb(0x3eb)]||this[Bb(0x24d)]);}get[x4(0x748)](){const BD=x4;return new Rectangle(0x0,0x0,this[BD(0x1b2)][BD(0x35a)]['width'],this['tree'][BD(0x35a)][BD(0x2b5)])[BD(0x346)](this[BD(0x7eb)]);}get[x4(0x54f)](){return this['_type'];}get[x4(0x780)](){const BL=x4;return this[BL(0x823)];}get[x4(0x69f)](){const Bj=x4;return this[Bj(0x3ef)];}get[x4(0x509)](){const BN=x4;return this[BN(0x20a)];}get['text'](){const BA=x4;return this[BA(0x36c)];}get[x4(0x3d2)](){return this['_visibleLabel'];}get[x4(0x197)](){const BS=x4;return this[BS(0x798)];}get[x4(0x68d)](){const BT=x4;return this[BT(0x180)];}get[x4(0x432)](){const BV=x4;return this[BV(0x2c1)];}get[x4(0xaf)](){return this['_declarativeDescription'];}get[x4(0x516)](){const Bq=x4;return{...this[Bq(0x36c)]?{'text':this['_text']}:{},...this['_visibleLabel']?{'visibleLabel':this[Bq(0x33c)]}:{},...this[Bq(0x798)]?{'geometricLabel':this['_geometricLabel']}:{},...this[Bq(0x180)]?{'declarativeLabel':this[Bq(0x180)]}:{}};}get[x4(0x752)](){const BC=x4;return this[BC(0x831)];}get['isStackingContextRoot'](){return this['_isStackingContextRoot'];}get['elevation'](){return this['_elevation'];}get[x4(0x7eb)](){return this['_borderRect'];}get[x4(0x45d)](){const Bo=x4;if(!this[Bo(0x83e)])return this[Bo(0x7eb)];return this[Bo(0x7eb)][Bo(0x407)](this[Bo(0x83e)][Bo(0x106)])??new Rectangle(this[Bo(0x7eb)]['x'],this[Bo(0x7eb)]['y'],0x0,0x0);}get['contentRect'](){return this['_contentRect'];}get[x4(0x161)](){const BX=x4;return this[BX(0x832)];}get['role'](){const BG=x4;return this[BG(0x65e)];}get[x4(0x278)](){const BB=x4;return{'border':this[BB(0x44f)],'content':this[BB(0x2a5)]};}get[x4(0x24d)](){const Bu=x4;return this[Bu(0x3ef)][Bu(0x45f)]&&this[Bu(0x3ef)][Bu(0x45f)]['length']>0x0;}get['isContrastingToBackground'](){const Bc=x4;return this[Bc(0x3ef)]['backgroundColor']!=null||!!this[Bc(0x54f)][Bc(0x82d)];}get[x4(0x409)](){const BP=x4;if(this[BP(0x3ef)][BP(0x635)])return this['_style'][BP(0x635)];if(this[BP(0x54f)][BP(0x82d)])return BP(0x82d);if(this[BP(0xd3)]){if(this['_backgroundRoot'][BP(0x54f)][BP(0x82d)])return BP(0x82d);return this[BP(0xd3)][BP(0x69f)][BP(0x635)]??null;}return null;}get[x4(0xfd)](){const BY=x4;return this[BY(0x2d7)]||this[BY(0x24d)];}get['isOpaque'](){const Bn=x4;if(this[Bn(0x3eb)])return![];const T=0.9;return(this[Bn(0x69f)]['backgroundColor']?.['a']??0x1)>=T||(this[Bn(0x3ef)][Bn(0x598)]??0x1)>=T;}constructor(T){super(),this['_tree']=T;}*['ancestors']({up:T}={}){const Bv=x4;T??=q=>q[Bv(0x31e)];let V=T(this);while(V){yield V,V=T(V);}}*['descendants']({dead:T,leaf:V}={}){const BI=x4,q=[...this[BI(0x384)]];while(q[BI(0x33d)]>0x0){const C=q[BI(0x1d7)]();if(T?.(C))continue;yield C;if(!V?.(C))q[BI(0x132)](...C[BI(0x384)]);}}*['nodes']({dead:T,leaf:V}={}){const BM=x4,q=[this];while(q[BM(0x33d)]>0x0){const C=q[BM(0x1d7)]();if(T?.(C))continue;yield C;if(!V?.(C))q['push'](...C[BM(0x384)]);}}[x4(0x4f5)](T){const BK=x4;for(const V of this[BK(0x291)]())if(T(V))return V;return null;}[x4(0xeb)](...T){const Bl=x4;let V=this,q=T['reduce']((o,X)=>{const Bg=D;if(X['depth']<V['depth'])o[Bg(0x132)](V),V=X;else o[Bg(0x132)](X);return o;},[]),C=V;while(C){q=q[Bl(0x79b)](o=>!C[Bl(0x7ce)](o));if(q[Bl(0x33d)]===0x0)return C;else C=C[Bl(0x31e)];}return C;}[x4(0x7ce)](T){const Bf=x4;return this[Bf(0x738)]<T[Bf(0x738)]&&this['post']>T['post'];}[x4(0x489)](T){const BU=x4;return this[BU(0x738)]<T[BU(0x738)];}['follows'](T){const BE=x4;return this[BE(0x738)]>T[BE(0x738)];}[x4(0x368)](...T){const BZ=x4,V=[this,...this['ancestors']({'up':q=>q['stackingContextRoot']})];return T[BZ(0x654)](q=>{const BH=BZ;if(this===q)return![];if(q[BH(0x7ce)](this))return![];if(this['contains'](q))return q['borderRect'][BH(0x7ce)](this['borderRect'])&&(q[BH(0x7eb)][BH(0x26b)]>this[BH(0x7eb)][BH(0x26b)]||q[BH(0x7eb)][BH(0x21d)]>=q[BH(0x1b2)][BH(0x35a)]['width']&&q[BH(0x7eb)][BH(0x2b5)]>=q[BH(0x1b2)][BH(0x35a)][BH(0x2b5)]);const C=new Rectangle(0x0,0x0,this[BH(0x1b2)][BH(0x35a)][BH(0x21d)],this[BH(0x1b2)][BH(0x35a)][BH(0x2b5)]);if(!((q['borderRect'][BH(0x407)](C)?.['area']||0x0)/C['area']>=0.9)){const u=this['borderRect']['intersection'](q[BH(0x7eb)]);if(!u||u['area']/this['borderRect'][BH(0x26b)]<0.5)return![];}const o=[q,...q['ancestors']({'up':c=>!V[BH(0x241)](c)?c[BH(0x3fa)]:null})];let X,G;const B=V['lastIndexOf'](o['at'](-0x1));B===-0x1?(X=V['at'](-0x1),G=o['at'](-0x1)):(X=V[B-0x1],G=o['at'](-0x2));if(X[BH(0x51d)]<G[BH(0x51d)])return!![];else{if(X[BH(0x51d)]===G[BH(0x51d)]){if(X[BH(0x489)](G))return!![];}}});}[x4(0x12b)](T){const Bt=x4,V=this[Bt(0xeb)](T);if(!V)return Infinity;return this['depth']-V[Bt(0x1c1)]+T[Bt(0x1c1)]-V[Bt(0x1c1)];}[x4(0x2d5)](){const Bm=x4;return{'type':this[Bm(0x62d)],'text':this['_text'],'visibleLabel':this[Bm(0x33c)],'geometricLabel':this[Bm(0x197)],'declarativeLabel':this[Bm(0x180)],'visibleDescription':this['_visibleDescription'],'declarativeDescription':this['_declarativeDescription'],'attributes':this[Bm(0x831)],'state':this[Bm(0x823)],'style':this[Bm(0x3ef)],'options':this[Bm(0x20a)]?.['map'](({node:T,...V})=>V),'borderRect':this['_borderRect']?{'x':this[Bm(0x44f)]['x'],'y':this[Bm(0x44f)]['y'],'width':this[Bm(0x44f)][Bm(0x21d)],'height':this[Bm(0x44f)][Bm(0x2b5)]}:void 0x0,'elevation':this['_elevation'],'scrollable':this[Bm(0x832)],'children':this[Bm(0x571)][Bm(0x16a)](T=>T[Bm(0x2d5)]()),'debugLog':this[Bm(0x13a)]};}[Symbol[x4(0x31f)]('nodejs.util.inspect.custom')](T,V,q){const BJ=x4;return BJ(0x838)+q({'node':this[BJ(0x1a2)]??{[Symbol[BJ(0x31f)](BJ(0x53f))]:(C,o)=>{const Bs=BJ,X=Object['keys'](this[Bs(0x54f)]),G=X[Bs(0x33d)]>0x0?X['reduce']((B,u)=>this[Bs(0x54f)][u]>this[Bs(0x54f)][B]?u:B):Bs(0x58b);return o[Bs(0x2c2)]('<'+G+Bs(0x572),Bs(0x633));}},'attributes':this[BJ(0x752)],'type':this[BJ(0x54f)],'titles':this[BJ(0x516)],'state':this['state'],'style':this[BJ(0x69f)]},{...V,'compact':!![],'breakLength':Infinity});}static['fromJSON'](T,V,q){const BO=x4,C=new AXNodeView(T);C[BO(0x711)]=q,C[BO(0x62d)]=V[BO(0x54f)]??{},C[BO(0x36c)]=V[BO(0x82c)]??'',C['_visibleLabel']=V[BO(0x3d2)]??'',C[BO(0x798)]=V['geometricLabel']??'',C['_declarativeLabel']=V[BO(0x68d)]??'',C[BO(0x2c1)]=V[BO(0x432)]??'',C[BO(0x579)]=V[BO(0xaf)]??'',C[BO(0x831)]=V['attributes']??Object[BO(0x3d8)](null),C[BO(0x823)]=V[BO(0x780)]??{},C['_style']=V[BO(0x69f)]??{},C[BO(0x20a)]=V[BO(0x509)];V[BO(0x7eb)]&&(C[BO(0x44f)]=new Rectangle(V[BO(0x7eb)]['x'],V[BO(0x7eb)]['y'],V['borderRect'][BO(0x21d)],V['borderRect'][BO(0x2b5)]),C[BO(0x2a5)]=C['_borderRect']);if(V['elevation']!==void 0x0)C[BO(0x2c5)]=V[BO(0x51d)];if(V[BO(0x161)])C[BO(0x832)]=V[BO(0x161)];if(V['debugLog'])C['debugLog']=V[BO(0x13a)];return C[BO(0x571)]=(V[BO(0x384)]??[])['map'](o=>AXNodeView[BO(0x5e7)](T,o,C)),C;}},AXTreeView=class AXTreeView{['_viewport'];['_direction'];[x4(0x867)];[x4(0x1e5)];[x4(0x2cd)]=[];['_popups']=[];[x4(0x71b)]=[];[x4(0x1dd)]=0x0;['_rtree']=new RTree();[x4(0x4de)]=new Map();get[x4(0x35a)](){const Bp=x4;return this[Bp(0x2bc)];}get[x4(0x630)](){const Bh=x4;return this[Bh(0x786)];}get['version'](){const Bk=x4;return this[Bk(0x867)];}get['root'](){return this['_root'];}get[x4(0x868)](){const BF=x4;return this[BF(0x1dd)];}get['hosts'](){return this['_hosts'];}get[x4(0x250)](){return this['_popups'];}get['collected'](){return this['_collected'];}constructor(T){const BW=x4;this[BW(0x2bc)]=T[BW(0x35a)],this['_direction']=T[BW(0x630)],this[BW(0x867)]=T[BW(0xcb)];}*[x4(0x24c)](){const BQ=x4;yield*this[BQ(0x1e5)]['nodes']();}['search'](T){const Ba=x4;return this[Ba(0x242)]['search'](T);}[x4(0xeb)]([T,...V]){const Bz=x4;return T[Bz(0xeb)](...V);}[Symbol['iterator']](){const Bw=x4;return this[Bw(0x24c)]();}['findByNode'](T){const Bi=x4;return this['_mapping'][Bi(0x316)](T);}['toJSON'](){const Bd=x4;return{'viewport':this[Bd(0x2bc)],'direction':this['_direction'],'version':this[Bd(0x867)],'root':this[Bd(0x1e5)][Bd(0x2d5)](),'hosts':this[Bd(0x2cd)][Bd(0x16a)](T=>T[Bd(0x2d5)]()),'popups':this[Bd(0x1a3)][Bd(0x16a)](T=>T[Bd(0x2d5)]()),'collected':this['_collected'][Bd(0x16a)](T=>T['toJSON']())};}[Symbol['for'](x4(0x53f))](T,V,q){const u0=x4;let C='';const o=[this[u0(0x1e5)]];while(o['length']>0x0){const X=o['shift']();C+='\x20\x20'['repeat'](X[u0(0x1c1)])+q(X,V)+'\x0a',o['unshift'](...X[u0(0x384)]);}return C;}static['fromJSON'](T){const u1=x4,V=new AXTreeView({'viewport':T[u1(0x35a)],'direction':T['direction'],'version':T[u1(0xcb)]});V[u1(0x1e5)]=AXNodeView[u1(0x5e7)](V,T['root'],null),V['_nodeCount']=0x0;for(const q of V['_root'][u1(0x24c)]()){V['_nodeCount']++;if(q['type'][u1(0x82c)]&&q[u1(0x278)]['border'])V['_rtree'][u1(0x679)]({'rect':q[u1(0x7eb)],'data':q});}return V[u1(0x1e5)][u1(0x1c1)]=0x0,orderSubtree(V[u1(0x1e5)]),V;}};function orderSubtree(T){const u2=x4;let V=0x0,q=0x0;const C=[{'node':T,'visited':![]}];while(C[u2(0x33d)]>0x0){const o=C['at'](-0x1);if(!o[u2(0x12f)]){o[u2(0x1a2)]['pre']=V++;for(let X=o[u2(0x1a2)][u2(0x384)][u2(0x33d)]-0x1;X>=0x0;--X){o[u2(0x1a2)][u2(0x384)][X]['depth']=o[u2(0x1a2)]['depth']+0x1,C[u2(0x132)]({'node':o['node'][u2(0x384)][X],'visited':![]});}o[u2(0x12f)]=!![];}else o[u2(0x1a2)][u2(0x185)]=q++,C['pop']();}}async function extractAXTree(T,V){const u3=x4;let q;if(T instanceof Browser)await T[u3(0xdb)](u3(0x59e)),q=await extractWebAXTree(T['activePage'],V);else{if(T instanceof Device)q=await extractMobileAXTree(T);else throw new Error(u3(0x35d));}return q['version']??=version$2,q;}async function extractWebAXTree(T,V){const u4=x4,q=performance[u4(0x1df)](),C=V?.[u4(0x663)]||Boolean(process.env.AX_TREE_DEBUG);await T[u4(0xdb)](u4(0x59e));if(isPdfViewerFrame(T[u4(0xec)])){const X=await extractPdfFlatAXTree(T['mainFrame']);return log(u4(0x1b1),{'kind':'pdf','durationMs':performance[u4(0x1df)]()-q}),X;}const o=await extractWebFlatAXTree(T[u4(0xec)],{'debug':C});while(o[u4(0x55d)][u4(0x33d)]>0x0){const G=o['unaccessibleHosts'][u4(0x1d7)]();try{const B=o[u4(0x24c)][G],u=await B[u4(0x1a2)][u4(0x233)]();if(u[u4(0x26a)]){B[u4(0x54f)]['ad']=0x1;continue;}await u[u4(0xdb)](u4(0x59e));const c=await extractWebFlatAXTree(u,{'offset':{'index':o[u4(0x24c)][u4(0x33d)],'location':{'x':B['contentRect']['x'],'y':B['contentRect']['y']}},'debug':C});c[u4(0x24c)][u4(0x33d)]>0x0&&(o[u4(0x24c)][u4(0x132)](...c[u4(0x24c)]),o['unaccessibleHosts'][u4(0x132)](...c[u4(0x55d)]),B['children']=[c[u4(0x628)][u4(0x6ee)]]);}catch(P){log('axTreeExtractionAborted',{'error':P});}}return log('axTreeExtracted',{'kind':'ax','durationMs':performance[u4(0x1df)]()-q}),o;}async function extractWebFlatAXTree(T,V){const u5=x4;return await T[u5(0xe3)](extractAXTree$1,[V]);}async function extractPdfFlatAXTree(T){const u6=x4;return await T[u6(0x297)](extractPdfAXTree,[],{'await':!![]});}async function extractMobileAXTree(T){const u7=x4;return T[u7(0x6aa)]();}var AXSnapshot=class{[x4(0x3a6)]=![];[x4(0x65f)]=0x0;['flatAXTree'];[x4(0x1a8)];[x4(0x450)](T){const u8=x4;this[u8(0x4b1)]=T,startCollapseLog();}[x4(0x362)](T){const u9=x4;this['axTree']=T,++this[u9(0x65f)],flushCollapseLog(this[u9(0x65f)]);}[x4(0x2d5)](){const ux=x4;return{'generation':this[ux(0x65f)],'flatTree':this[ux(0x4b1)]?{...this[ux(0x4b1)],'nodes':this[ux(0x4b1)][ux(0x24c)][ux(0x16a)](({node:T,...V})=>V)}:void 0x0,'axTree':this[ux(0x1a8)]?.[ux(0x2d5)]()??void 0x0};}};const axSnapshot=new AXSnapshot(),MAX_LOGGED_COLLAPSES=0xc8,MAX_LOGGED_CANDIDATES=0xf,pendingCollapses=[];let collectingCollapses=![],omittedCollapses=0x0;function startCollapseLog(){const ur=x4;pendingCollapses[ur(0x33d)]=0x0,omittedCollapses=0x0,collectingCollapses=!![];}function flushCollapseLog(T){const uR=x4;collectingCollapses=![];if(pendingCollapses[uR(0x33d)]===0x0)return;debug('axTreeNodesCollapsed',{'generation':T,'collapses':pendingCollapses[uR(0x29f)](0x0),...omittedCollapses>0x0?{'omitted':omittedCollapses}:{}});}debugBus['on'](x4(0x486),T=>{const ub=x4;if(!collectingCollapses)return;if(pendingCollapses['length']<MAX_LOGGED_COLLAPSES)pendingCollapses[ub(0x132)](T[ub(0x245)]);else++omittedCollapses;}),debugBus['on'](x4(0x464),T=>{const uD=x4;try{const {descriptor:V,candidates:q,prioritizers:C,reason:o}=T[uD(0x245)];debug('axCandidatesPrioritized',{'generation':axSnapshot[uD(0x65f)],'reason':o,'descriptor':projectDescriptor(V),'candidates':projectPrioritizedCandidates(q[uD(0x7e8)](0x0,MAX_LOGGED_CANDIDATES),C),...q[uD(0x33d)]>MAX_LOGGED_CANDIDATES?{'omitted':q['length']-MAX_LOGGED_CANDIDATES}:{}});}catch(X){error(uD(0x479),{'error':X});}});var AXOps=class{[x4(0x656)];['axProvider'];constructor(T,V){const uL=x4;this[uL(0x656)]=T,this['axProvider']=V;}async[x4(0x1e2)](){const uj=x4,T=await extractAXTree(this[uj(0x656)],{'debug':axSnapshot[uj(0x3a6)]});axSnapshot[uj(0x450)](T);const V=await this['axProvider'][uj(0x36b)](T);return axSnapshot[uj(0x362)](V),V;}async[x4(0x67e)](T){const uN=x4;axSnapshot[uN(0x450)](T);const V=await this[uN(0x4c4)][uN(0x36b)](T);return axSnapshot[uN(0x362)](V),V;}async['findCandidate'](T,V,q){const uA=x4;return this[uA(0x4c4)][uA(0x6f7)](T,V,q);}async[x4(0x44d)](T,V,q){const uS=x4;if(!this[uS(0x4c4)][uS(0x1a1)])throw new Error('The\x20configured\x20AXProvider\x20does\x20not\x20support\x20listing\x20all\x20candidates');return this[uS(0x4c4)][uS(0x1a1)](T,V,q);}async[x4(0x658)](T,V,q){const uT=x4,C={'useBackwardCompatibleTypeScore':![],...q},o=await this[uT(0x44d)](T,V,C);if(!V[uT(0x5e0)]||!V[uT(0x54f)])return o;const {title:X,...G}=V,B=new Set(o[uT(0x16a)](c=>c[uT(0x1a2)])),u=(await this[uT(0x44d)](T,G,C))[uT(0x79b)](c=>!B[uT(0x136)](c[uT(0x1a2)]));return[...o,...u];}async[x4(0x567)](T,V){const uV=x4;return this[uV(0x4c4)][uV(0x2b6)](T,V);}async[x4(0x1b8)](T,V){const uq=x4,{stack:q,timeout:timeout=0x0,signal:C,metrics:o}=V,X=this['automator'];bus[uq(0x22a)](new AXNodeSearchStartedEvent({'descriptor':T}));const G=Date[uq(0x1df)](),B=makeWatcher({'signal':C})['resolve'](void 0x0,{'delay':timeout||0x1}),u=makeWatcher({'signal':C})[uq(0x37a)]();let c,P;if(isSelectorElementDescriptor(T)){if(X instanceof Browser)P=async()=>{const uC=uq;if(o)o[uC(0x50c)]=uC(0x7b1);const Y=o?.[uC(0x7e0)]??0x0,n=performance['now'](),v=await this.#findWithSelfHealing(T,{'browser':X,'metrics':o});if(o){const I=performance['now']()-n,e=(o[uC(0x7e0)]??0x0)-Y;o[uC(0x59f)]=(o[uC(0x59f)]??0x0)+(I-e);}return v;};else throw new Error(uq(0x503));}else P=async()=>{const uy=uq;if(o)o['findStrategy']=uy(0x77a);const Y=performance[uy(0x1df)]();c=await this['extractTree']();o&&(o['axTreeExtractionMs']=(o[uy(0x7e0)]??0x0)+(performance['now']()-Y),o[uy(0x337)]=(o[uy(0x337)]??0x0)+0x1,o[uy(0x266)]=c[uy(0x868)]);const n=performance[uy(0x1df)](),v=await this.#findWithColumbus(T,c);if(o)o[uy(0x59f)]=(o[uy(0x59f)]??0x0)+(performance[uy(0x1df)]()-n);return v;};while(B[uq(0x2fc)]||u[uq(0x2fc)]){const Y=await abortable(P(),C);if(Y)return log(uq(0x4db),{'node':projectAXNode(Y),'descriptor':T}),B[uq(0x37a)](),u['resolve'](),q[uq(0x1a2)](T,Y),bus[uq(0x22a)](new AXNodeSearchFinishedEvent({'descriptor':T,'node':Y})),Y;c??=await this[uq(0x1e2)]();if(timeout>0x0){if(isPageSpinnerVisible(c))!u[uq(0x2fc)]&&(bus[uq(0x22a)](new StabilizationWaitStartedEvent()),u['reset']()[uq(0x37a)](void 0x0,{'delay':0xea60-(Date[uq(0x1df)]()-G)})[uq(0xf7)](()=>bus['dispatch'](new StabilizationWaitFinishedEvent())));else{if(u['pending'])u[uq(0x37a)]();}}await abortable(S(0x3e8,{'signal':C}),C);}return log('elementNotFound',{'durationMs':Date[uq(0x1df)]()-G,'descriptor':T,'loadingPending':u['pending']}),B[uq(0x37a)](),u['resolve'](),bus[uq(0x22a)](new AXNodeSearchFinishedEvent({'descriptor':T})),null;}async #findWithColumbus(T,V){const uo=x4;let q=T;while(q){const C=await this[uo(0x4c4)][uo(0x6f7)](V,q,{'debug':{'reason':'find-element'}});if(C)return C[uo(0x1a2)];q=q[uo(0x70c)];}return null;}async #findWithSelfHealing(T,{browser:V,metrics:q}){const uX=x4,C=V[uX(0x6df)],o=V['driver'];await o[uX(0x207)]()[uX(0x1dc)](C[uX(0x76e)]);const X=[[]];for(let B=0x0;B<X['length'];++B){const u=X[B-0x1]??[],c=X[B],P=u[uX(0x849)]((n,v)=>n['element']!==c[v][uX(0x22b)]);if(P>=0x0){for(const n of u[uX(0x7e8)](P))await o[uX(0x207)]()[uX(0xd8)]();for(const {element:v}of c[uX(0x7e8)](P))await o[uX(0x207)]()[uX(0x5f5)](v);}else{for(const {element:I}of c[uX(0x7e8)](u[uX(0x33d)]))await o['switchTo']()[uX(0x5f5)](I);}const Y=await G(T);if(Y){const e=await o[uX(0x7a8)]('return\x20'+isElementAcceptableInvisible[uX(0x275)]+uX(0x7f8),Y);if(await o[uX(0x7a8)]((M,K)=>{const uG=uX,{width:l,height:f}=M[uG(0x244)]();if(K||l!==0x0||f!==0x0)return M[uG(0x62a)](uG(0x5b8),''),!![];return![];},Y,e)){let M=C['mainFrame'];for(const {index:Z}of c)M=await(await M[uX(0xe3)](H=>document['querySelectorAll'](uX(0x4df))[H],[Z]))['getContentFrame']();const K=await M[uX(0xe3)](()=>{const uB=uX,H=[document];for(const t of H){const m=t[uB(0x1d6)](uB(0x472));if(m){m[uB(0x6cc)]('data-webdriver-element-mark');if(m instanceof SVGElement){let J=m;while(J[uB(0x4a6)])J=J[uB(0x4a6)];return J;}return m;}Array[uB(0xbd)](t[uB(0x77f)]('*'))[uB(0x2d8)](s=>{const uu=uB;if(s[uu(0x19c)])H['push'](s[uu(0x19c)]);});}throw new Error('Cannot\x20re-find\x20element\x20that\x20was\x20marked\x20using\x20webdriver');}),l=performance[uX(0x1df)](),f=await this[uX(0x1e2)]();q&&(q[uX(0x7e0)]=(q[uX(0x7e0)]??0x0)+(performance[uX(0x1df)]()-l),q[uX(0x337)]=(q[uX(0x337)]??0x0)+0x1,q[uX(0x266)]=f[uX(0x868)]);const U=await K[uX(0x2bb)]();let E;s:for(const H of f[uX(0x24c)]())for(const t of H['incorporated'])if(await t[uX(0x836)](U)){E=H;break s;}if(E){const [m,J]=await Promise[uX(0x18c)]([E[uX(0x1a2)]['getNodeId'](),K['getNodeId']()]);if(m!==J)return log(uX(0x414),{'descriptor':T}),new Proxy(E,{'get'(s,O){const uc=uX;if(O===uc(0x1a2))return K;return Reflect['get'](s,O);}});else return E;}return null;}}(await o['executeScript'](()=>{const uP=uX;return Array[uP(0xbd)](document[uP(0x77f)]('iframe'))[uP(0x6d3)]((s,O,p)=>{const uY=uP,{width:h,height:k}=O[uY(0x244)]();if(h>0x0&&k>0x0)s[uY(0x132)]({'element':O,'index':p});return s;},[]);}))[uX(0x2d8)](s=>X[uX(0x132)]([...c,s]));}return null;async function G(s){const un=uX,[O,...p]=s[un(0x7b1)][un(0x7b1)][un(0x37c)](un(0x59b))[un(0x16a)](k=>k[un(0x4e3)]());let h;if(!O)throw new Error(un(0x4af));h=await o['findElement']({[s[un(0x7b1)][un(0x54f)]]:O})[un(0x225)](()=>null);if(!h)return null;for(const k of p){if(/(?:\.\.\/|\.\/|\*\/|\/|\()/[un(0x3a7)](k))throw new Error(un(0x5f2));h=await h['getShadowRoot']()[un(0x385)](async F=>F[un(0x7fe)]({'css':k}))[un(0x225)](()=>null);if(!h)return null;}return h;}}},version$1='5.7.0',version='5.7.0';async function makeRunner(T){const uv=x4;if(T[uv(0x3bc)])eventLogger[uv(0x14d)]=T[uv(0x3bc)];if(T[uv(0x656)])return new Runner({...T,'automator':T[uv(0x656)]});else{if(T['browser'])return new Runner({...T,'automator':T['browser']});else{if(T[uv(0x71f)]){const V=await makeBrowser({'debuggerAddress':T[uv(0x71f)],'driver':T[uv(0xb3)]});return new Runner({...T,'automator':V});}else{if(T[uv(0xb3)]){const q=await makeBrowser({'driver':T['driver']});return new Runner({...T,'automator':q});}}}}}var Runner=class extends EventTargetNode{#automator;#context;#statuses=[];#shouldRunPreinstructions=!![];#pdfInterceptorInstalled;get[x4(0x6f3)](){return this.#context;}get[x4(0x656)](){return this.#automator;}get[x4(0x61c)](){const uI=x4;return flags[uI(0x2d5)]();}get['browser'](){return this.#automator instanceof Browser?this.#automator:void 0x0;}get[x4(0x398)](){const ue=x4;return this.#context[ue(0x14e)]['main'][ue(0x107)];}set[x4(0x398)](T){const uM=x4;this.#context[uM(0x14e)]['main'][uM(0x107)]=Object[uM(0x714)](Object[uM(0x80f)](T)[uM(0x16a)](([V,q])=>[V['toLowerCase'](),q]));}get[x4(0x408)](){const uK=x4;return this.#context[uK(0x14e)]['public'];}set[x4(0x408)](T){const ug=x4;this.#context['scope'][ug(0x157)][ug(0x20c)]=Object[ug(0x714)](Object['entries'](T)[ug(0x16a)](([V,q])=>[V[ug(0x655)](),q]));}get[x4(0x729)](){return this.#statuses[0x0];}constructor(T){const ul=x4;super(),this.#automator=T['automator'];if(T[ul(0x61c)])flags[ul(0x866)](T[ul(0x61c)]);this.#context={'axOps':new AXOps(T[ul(0x656)],T[ul(0x4c4)]),'scope':makeScope({'global':this[ul(0x263)]?{'page':{'value':makePageData({'browser':this['browser']})},'pdf':makePdfData({'browser':this[ul(0x263)]})}:{},'input':Object[ul(0x714)](Object[ul(0x80f)](T[ul(0x398)]??{})[ul(0x16a)](([V,q])=>[V['toLowerCase'](),q])),'public':{},'internal':{...Object[ul(0x714)](Object[ul(0x80f)](T['timeouts']??{})[ul(0x16a)](([V,q])=>[V,{'value':q}])),...T['shouldSkipInitialNavigationInNestedScope']!==void 0x0?{'shouldSkipInitialNavigationInNestedScope':{'value':T['shouldSkipInitialNavigationInNestedScope']}}:{},...T[ul(0x3c5)]!==void 0x0?{'shouldSkipAssertionsInNestedScope':{'value':T[ul(0x3c5)]}}:{}}}),'actions':{...T[ul(0x175)]},'dispatcher':makeDispatcher({'proxy':T['proxy']}),'preinstructions':[]};if(T[ul(0x4a3)])this['browser'][ul(0x689)](!![]);this['browser']&&(this.#pdfInterceptorInstalled=installPdfInterceptor(this[ul(0x263)])[ul(0x225)](V=>{const uf=ul;error(uf(0x540),{'error':V});}),this[ul(0x263)]['on'](ul(0x312),({done:V})=>bus[ul(0x22a)](V?new NavigationWaitFinishedEvent():new NavigationWaitStartedEvent())),this[ul(0x263)]['on']('stabilizingLoad',({done:V})=>bus[ul(0x22a)](V?new LoadWaitFinishedEvent():new LoadWaitStartedEvent())),this['browser']['on'](ul(0x6db),({done:V})=>bus['dispatch'](V?new OutgoingRequestsWaitFinishedEvent():new OutgoingRequestsWaitStartedEvent()))),this['on']('listenerAdded',async({event:V,count:q})=>{const uU=ul;if(V==='filepickerDialogRequested'&&q===0x1)try{const C=await this[uU(0x263)]?.[uU(0x67f)](async o=>{this['dispatch'](new RunnerFilepickerDialogRequestedEvent(o));});this['on']('listenerRemoved',({event:o,count:X})=>{if(o==='filepickerDialogRequested'&&X===0x0)C();});}catch(o){log(uU(0x155),{'error':o});}}),bus['on'](ul(0x556),V=>V[ul(0x3b2)]===ul(0x842)&&this['dispatch'](V[ul(0x5a0)]())),bus['on'](ul(0x7d4),V=>{const uE=ul,q=this[uE(0x729)];if(V[uE(0x42d)]){this.#statuses[uE(0x29f)](this.#statuses[uE(0x734)](V[uE(0x729)]),0x1);if(V[uE(0x729)]===uE(0x6a6)&&V[uE(0x1a2)])this['dispatch'](new RunnerAXNodeFoundEvent(V[uE(0x1a2)]));}else this.#statuses[uE(0x4bf)](V[uE(0x729)]);if(this[uE(0x729)]&&q!==this['status'])this[uE(0x22a)](new RunnerStatusChangedEvent({'previousStatus':q,'status':this['status']}));});}async[x4(0x1e1)](T,V={}){const uZ=x4;let q;if(typeof T===uZ(0x71a)){const [B]=parseText(T);if(B[uZ(0x5a4)]){const u={'references':new Map(),'extractors':new Map(),'operands':new Map()};return{'status':'error','error':B[uZ(0x5a4)][uZ(0x37f)]??uZ(0x7aa)+B[uZ(0x82c)],'code':ErrorCode['MESSAGE_PARSING'],'meta':{'pos':B[uZ(0x5a4)][uZ(0x169)],'text':B[uZ(0x5a4)][uZ(0x82c)]},'results':[],'values':u};}q=B[uZ(0x804)];}else{if(Array[uZ(0x1ec)](T))q=T;else q=unseal(T);}!V['runningPreinstructions']&&(this.#statuses=[],this.#shouldRunPreinstructions=!![]);if(this.#pdfInterceptorInstalled)await this.#pdfInterceptorInstalled;const C=Date[uZ(0x1df)]();log(uZ(0x4ab),{'runnerVersion':version$1,'parserVersion':version,'nodeVersion':process['version']}),log(uZ(0x7a0),{'instructions':q,'stepIndex':V[uZ(0x478)]}),bus[uZ(0x22a)](new InstructionExecutionStartedEvent({'preStep':V[uZ(0x652)]}));const o=[],X={'references':new Map(),'extractors':new Map(),'operands':new Map()},G=q[uZ(0x16a)](c=>({'instruction':c,'shouldFailOnError':!![]}));while(G[uZ(0x33d)]>0x0){const {instruction:c,shouldFailOnError:P}=G[uZ(0x1d7)](),Y=Date[uZ(0x1df)]();log(uZ(0x83b),{'instruction':c,'correlationId':V[uZ(0x629)]});const n=await this[uZ(0x4a5)](c,V);debug(uZ(0x1c4),{'status':n[uZ(0x729)],'code':n[uZ(0x729)]===uZ(0x5a4)?n['code']:void 0x0}),o[uZ(0x132)](n);if(n[uZ(0x729)]===uZ(0x2ac))G[uZ(0x4bf)](...n[uZ(0x7c9)]['next'][uZ(0x16a)](I=>({'instruction':I,'shouldFailOnError':![]})));else{if(n[uZ(0x729)]===uZ(0x6f5))this.#context[uZ(0x5ce)]=n[uZ(0x7c9)][uZ(0x5ce)];else{if(n['status']===uZ(0x66c)){if(n['meta'][uZ(0x668)])G['unshift'](...n[uZ(0x7c9)]['next'][uZ(0x16a)](I=>({'instruction':I,'shouldFailOnError':!![]})));}}}const v=Date[uZ(0x1df)]();log(uZ(0x4fc),{'instruction':c,'duration':v-Y,'status':n[uZ(0x729)],'errorcode':n[uZ(0x729)]==='error'?n[uZ(0x5e4)]:void 0x0,'metrics':n[uZ(0x72f)]});n[uZ(0x729)]!=='skipped'&&(n[uZ(0x10c)][uZ(0x715)]['forEach']((I,e)=>X[uZ(0x715)][uZ(0x866)](e,I)),n[uZ(0x10c)]['extractors'][uZ(0x2d8)]((I,e)=>X['extractors']['set'](e,I)),n['values']['operands'][uZ(0x2d8)]((I,e)=>X[uZ(0x3ea)][uZ(0x866)](e,I)));if(n[uZ(0x729)]==='error'){if(!P)break;return log('instructionExecutionFinished',{'instructions':q,'duration':v-C,'status':n['status'],'errorcode':n[uZ(0x5e4)]}),bus[uZ(0x22a)](new InstructionExecutionFinishedEvent({'preStep':V['runningPreinstructions']})),{'status':uZ(0x5a4),'error':n[uZ(0x5a4)],'code':n[uZ(0x5e4)],'meta':n['meta'],'results':o,'values':X};}else{if(n[uZ(0x729)]===uZ(0x12d))return log(uZ(0x4c5),{'instructions':q,'duration':v-C,'status':n[uZ(0x729)]}),bus[uZ(0x22a)](new InstructionExecutionFinishedEvent({'preStep':V[uZ(0x652)]})),{'status':uZ(0x12d),'results':o,'values':X};}}return log(uZ(0x4c5),{'instructions':q,'duration':Date[uZ(0x1df)]()-C,'status':uZ(0x6b0)}),bus[uZ(0x22a)](new InstructionExecutionFinishedEvent({'preStep':V[uZ(0x652)]})),{'status':uZ(0x6b0),'results':o,'values':X};}async[x4(0x4a5)](T,V={}){const uH=x4;if(this.#context[uH(0x14e)][uH(0x157)][uH(0x31e)]){const q=this.#context[uH(0x14e)]['internal'][uH(0x3c5)]?.[uH(0x4fb)],C=this.#context[uH(0x14e)][uH(0x1d9)][uH(0x1fa)]?.[uH(0x4fb)];if(q&&C!=='all'){if(T['type']==='assert'){if(!C||C!==uH(0x1da))return{'status':uH(0x5a2)};}else{if(T[uH(0x54f)]===uH(0x84f)){if(!C||C!==uH(0x844))return{'status':uH(0x5a2)};}}}const o=this.#context[uH(0x14e)][uH(0x1d9)][uH(0x4a0)]?.['value'],X=this.#context[uH(0x14e)][uH(0x1d9)][uH(0x349)]?.[uH(0x4fb)];if(V[uH(0x478)]===0x0&&o&&X!==uH(0x18c)){if(T[uH(0x54f)]===uH(0xf2))return{'status':uH(0x5a2)};}}return!T[uH(0x54f)]['includes'](uH(0x415))&&this.#shouldRunPreinstructions&&this.#context[uH(0x5ce)][uH(0x33d)]>0x0&&!V[uH(0x652)]&&(await this[uH(0x1e1)](this.#context[uH(0x5ce)],{'runningPreinstructions':!![]}),this.#shouldRunPreinstructions=![]),await makeHandler({'automator':this.#automator,'context':this.#context,'instruction':T,...V})[uH(0x1e1)]();}async[x4(0x2f2)](T,V={}){const ut=x4;let q;if(typeof T===ut(0x71a)){const {result:G,error:B}=parseElementFragment(T);if(B||!G)throw new RunnerError(ut(0x3b8)+T,{'code':ErrorCode[ut(0xe0)]});q=G;}else q=T;const C=V[ut(0x4c8)]??this.#context['scope'][ut(0x1d9)]['findTimeout']?.[ut(0x4fb)]??this.#context[ut(0x14e)]['internal'][ut(0x4c8)]?.[ut(0x4fb)]??0x2710,o=makeValuesStack();await this.#automator[ut(0x5a8)](ut(0x260),{'signal':V[ut(0x829)],'timeout':C});const X=await evaluateExpression(q,{'context':this.#context,'stack':o,'automator':this.#automator,'timeout':C,'signal':V[ut(0x829)]});return(await this.#context['axOps'][ut(0x1b8)](X,{'stack':o,'timeout':C,'signal':V[ut(0x829)]}))?.[ut(0x1a2)]??null;}async['setScope'](...T){const um=x4;this.#context[um(0x14e)][um(0x75e)](um(0x1c7));for(const V of T){if(!this.#context['scope'][um(0x65c)](V))this.#context[um(0x14e)][um(0x866)](V,{'input':{},'public':{},'internal':{}});this.#context['scope']['activate'](V);}}async[x4(0x2ee)](){const uJ=x4;this.#context[uJ(0x14e)][uJ(0x394)]();}async[x4(0x63e)](){if(this.#pdfInterceptorInstalled){const T=await this.#pdfInterceptorInstalled;this.#pdfInterceptorInstalled=void 0x0,T?.();}}async[Symbol[x4(0x52e)]](){const uO=x4;return this[uO(0x63e)]();}},RunnerAXNodeFoundEvent=class extends Event{[x4(0x1a2)];constructor(T,V){const uh=x4;super(uh(0x2e0),V),this[uh(0x1a2)]=T;}},RunnerFilepickerDialogRequestedEvent=class extends Event{[x4(0x248)];[x4(0x5f5)];['element'];[x4(0x429)];['accept'];constructor(T){const uk=x4;super('filepickerDialogRequested'),this[uk(0x248)]=T,this[uk(0x5f5)]=T[uk(0x5f5)],this[uk(0x22b)]=T[uk(0x22b)],this[uk(0x429)]=T[uk(0x429)],this[uk(0x32c)]=T['accept'];}async[x4(0x4d4)](T){const uF=x4,V=[],q=[];for(const C of T){let o,X;if(typeof C===uF(0x71a))o=C;else o=C[uF(0x19e)],X=C[uF(0x6c7)];V[uF(0x132)](o),q[uF(0x132)](X??basename(o));}await this['dialog']['element'][uF(0xe3)]((G,B)=>G[uF(0x4f3)]['nlpFileAliases']=JSON[uF(0x122)](B),[q]),await this['dialog'][uF(0x4a5)](V);}async[x4(0x156)](){}},RunnerStatusChangedEvent=class extends Event{[x4(0x869)];[x4(0x729)];constructor({previousStatus:T,status:V}){const uW=x4;super('statusChanged'),this[uW(0x869)]=T,this[uW(0x729)]=V;}},spec_driver_exports=L({'childContext':()=>childContext,'executeBrowserCommands':()=>executeBrowserCommands,'executeScript':()=>executeScript,'extractContext':()=>extractContext,'findElement':()=>findElement,'findElements':()=>findElements,'getCookies':()=>getCookies,'getDriverInfo':()=>getDriverInfo,'getTitle':()=>getTitle,'getUrl':()=>getUrl,'getViewportSize':()=>getViewportSize,'isContext':()=>isContext,'isDriver':()=>isDriver,'isElement':()=>isElement,'isSelector':()=>isSelector,'isStaleElementError':()=>isStaleElementError,'mainContext':()=>mainContext,'parentContext':()=>parentContext,'setViewportSize':()=>setViewportSize,'takeScreenshot':()=>takeScreenshot,'toSelector':()=>toSelector,'toSimpleCommonSelector':()=>toSimpleCommonSelector,'visit':()=>visit});function transformArgument(T){const V=[];return[q(T),...V];function q(C){const uQ=D;if(isElement(C))return V[uQ(0x132)](C),{'isElement':!![]};else{if(Array[uQ(0x1ec)](C))return C['map'](q);else{if(C&&typeof C==='object')return Object['entries'](C)['reduce']((o,[X,G])=>{const ua=uQ;return Object[ua(0x23c)](o,{[X]:q(G)});},{});else return C;}}}}function scriptRunner(T,V,...q){const uz=x4;return new Function(T[uz(0x27e)](uz(0x7de))?uz(0x388)+T+uz(0x238):T)(C(V));function C(o){const uw=uz;if(!o)return o;else{if(o[uw(0x499)])return q[uw(0x1d7)]();else{if(Array[uw(0x1ec)](o))return o[uw(0x16a)](C);else{if(typeof o===uw(0x52d))return Object[uw(0x80f)](o)[uw(0x6d3)]((X,[G,B])=>{const ui=uw;return Object[ui(0x23c)](X,{[G]:C(B)});},{});else return o;}}}}}const SELECTOR_PREFIXES=['/','(',x4(0x861),'./','*/'];function isXpathSelector(T){const ud=x4;return SELECTOR_PREFIXES[ud(0x654)](V=>T[ud(0x27e)](V));}function isDriver(T){if(!T)return![];return T instanceof Target;}function isContext(T){if(!T)return![];return T instanceof Frame;}function isElement(T){if(!T)return![];return T instanceof WebNode;}function isSelector(T){const c0=x4;return typeof T===c0(0x71a);}function isStaleElementError(T){const c1=x4;return T?.['constructor']?.['name']===c1(0x32f)||T?.[c1(0x251)]?.['name']===c1(0x152);}function toSelector(T){const c2=x4;if(T&&typeof T===c2(0x52d)&&'selector'in T)return T[c2(0x7b1)];return T;}function toSimpleCommonSelector(T){const c3=x4;if(typeof T===c3(0x71a))return{'type':isXpathSelector(T)?c3(0x513):c3(0x81e),'selector':T};return T;}function extractContext(T){const c4=x4;return isDriver(T)?T[c4(0xec)]:T;}async function executeScript(T,V,q){const c5=x4;return V=typeof V===c5(0x71a)?V:c5(0x1f9)+V[c5(0x1f7)]()+c5(0x283),await T[c5(0xe3)](scriptRunner,[V,...transformArgument(q)]);}async function findElement(T,V,q){return(q??T)['$'](V);}async function findElements(T,V,q){return(q??T)['$$'](V);}async function mainContext(T){const c6=x4;let V=T;while(V[c6(0x31e)])V=V[c6(0x31e)];return V;}async function parentContext(T){const c7=x4;return T[c7(0x31e)]??T;}async function childContext(T,V){const c8=x4,q=await V[c8(0x233)]();return await q['evaluate'](c8(0x15a)),q;}async function getDriverInfo(T){return{'features':{'allCookies':!![]}};}async function getViewportSize(T){const c9=x4;return T[c9(0x650)]();}async function setViewportSize(T,V){const cx=x4;await T[cx(0x216)]({'viewport':V});}async function getCookies(T){const cr=x4;return(await T[cr(0x263)][cr(0x64c)]())[cr(0x16a)](V=>{const cR=cr,q={...V,'expiry':V[cR(0x66a)]};return delete q[cR(0x66a)],delete q[cR(0x357)],delete q[cR(0x63b)],delete q[cR(0x566)],delete q['sourceScheme'],delete q[cR(0xae)],q;});}async function getTitle(T){const cb=x4;return T[cb(0x5e0)];}async function getUrl(T){const cD=x4;return T[cD(0x5b7)];}async function visit(T,V){const cL=x4;await T[cL(0xf2)](V);}async function takeScreenshot(T){const cj=x4,V=await T[cj(0x4f1)]();return Buffer['from'](V,cj(0x5bb));}async function executeBrowserCommands(T,V){const cN=x4;let q;for(const C of V)q=await T[cN(0x4b8)][cN(0xe3)](C[cN(0x2b1)],C[cN(0x446)]);return q;}var RemoteAXProvider=class{async[x4(0x36b)](T){const cA=x4,{tree:V,refs:q}=await this[cA(0x1d3)](T),C=AXTreeView[cA(0x5e7)](V),o=[...C[cA(0x643)][cA(0x24c)]()];for(let X=0x0;X<o['length'];X++)o[X][cA(0x6cf)][cA(0x132)](...q[X]??[]);return C;}async[x4(0x2b6)](T,V){const cS=x4,q=await this[cS(0x4d3)](T,V);if(!q)return void 0x0;const {nodeIndex:C,...o}=q;if(C===void 0x0)return o;const X=[...T['root'][cS(0x24c)]()];return{...o,'node':X[C]};}async[x4(0x6f7)](T,V,q){const cT=x4,C=[...T],o=await this[cT(0x5d8)](C,V,q);if(!o)return null;const {nodeIndex:X,...G}=o;return{...G,'node':C[X]};}},HttpRemoteAXProvider=class extends RemoteAXProvider{#baseUrl;#getAuthToken;#fetch;constructor(T){const cV=x4;super(),this.#baseUrl=new URL(T['url']);if(!this.#baseUrl[cV(0xf4)][cV(0x76a)]('/'))this.#baseUrl['pathname']+='/';this.#getAuthToken=T[cV(0x3ab)],this.#fetch=T[cV(0x7df)]??defaultAXServerFetch;}async['_rqMakeAXTree'](T){const cq=x4,V=T[cq(0x24c)][cq(0x16a)](X=>X['node']),q={...T,'nodes':T[cq(0x24c)][cq(0x16a)]((X,G)=>({...X,'node':G}))},{tree:C,refs:o}=await this.#authPost(cq(0x601),{'flat':q});return{'tree':C,'refs':o[cq(0x16a)](X=>X[cq(0x16a)](G=>V[G]))};}async[x4(0x4d3)](T,V){const cC=x4,q=[...T['root'][cC(0x24c)]()];return this.#authPost(cC(0x452),{'tree':T[cC(0x2d5)](),'query':serializeQuery(V,q)});}async['_rqFindAXNode'](T,V,q){const cy=x4,[C]=T;if(!C)return null;return this.#authPost(cy(0x60c),{'tree':C[cy(0x1b2)][cy(0x2d5)](),'descriptor':V,'options':q?.[cy(0x117)]!==void 0x0||q?.[cy(0x663)]?.[cy(0x2dd)]?{'limit':q['limit'],'debug':q[cy(0x663)]}:void 0x0});}async #authPost(T,V){const co=x4,q=await this.#getAuthToken(),C=await(await this.#fetch({'url':new URL(T,this.#baseUrl)[co(0x58e)],'method':co(0x44c),'token':q,'body':V}))[co(0x2e3)]();if(!C['ok']){const o=new Error(C[co(0x5a4)][co(0x37f)]);o['code']=C[co(0x5a4)][co(0x5e4)],o[co(0x2dd)]=C[co(0x5a4)]['reason'];throw o;}return C[co(0x51c)];}};function defaultAXServerFetch({url:T,method:V,token:q,body:C}){const cX=x4;return fetch(T,{'method':V,'headers':{'content-type':cX(0x53b),'authorization':cX(0x3b3)+q},'body':JSON[cX(0x122)](C)});}function serializeQuery(T,V){const cG=x4,q=T[cG(0x1d0)]?{...T['anchor'],'element':T[cG(0x1d0)][cG(0x22b)]?serializeQuery(T[cG(0x1d0)]['element'],V):void 0x0}:void 0x0;return{...T,'node':V['indexOf'](T[cG(0x1a2)]),'anchor':q};}export{AbortError,AutomatorError,BlockingDialog,BodyConsumedError,Browser,BrowserActivePageChangedEvent,BrowserDisconnectedEvent,BrowserPageClosedEvent,BrowserPageCreatedEvent,BrowserPageNavigatedEvent,BrowserStabilizingLoadEvent,BrowserStabilizingNavigationEvent,BrowserStabilizingOutgoingRequestsEvent,BrowserTargetCrashedEvent,BrowserTargetCreatedEvent,BrowserWindowCreatedEvent,Connection,Debugger,DebuggerPausedEvent,DebuggerResumedEvent,DialogHandledEvent,Evaluator,EvaluatorDestroyedEvent,EvaluatorLogEvent,Expression,FilepickerDialog,FlagChangedEvent,FlushError,Frame,FrameDestroyedEvent,FrameDocumentRequestEvent,FrameDocumentResponseEvent,FrameEvaluatorAttached,FrameFetchError,FrameLifecycleEvent,FrameNavigatedEvent,FrameNavigatingEvent,FrameSwappedEvent,FrameSwappingEvent,HarRecorder,HarRecorderStatsChangedEvent,HttpRemoteAXProvider,Injection,InjectionEvaluatorAttachedEvent,InjectionIncommingMessageEvent,InjectionOutgoingMessageEvent,InjectionTargetAttachedEvent,Intercepted,InterceptedRequest,InterceptedResponse,Keyboard,Loader,LoaderRequestEvent,LoaderResponseEvent,Mouse,NavigationFailedError,NavigationTimedOutError,NoHistoryEntryError,Port,PortIncommingMessageEvent,PortOutgoingMessageEvent,RemoteAXProvider,RemoteFunctionHandle,RemoteObjectHandle,Runner,RunnerAXNodeFoundEvent,RunnerFilepickerDialogRequestedEvent,RunnerStatusChangedEvent,Script,StaleNodeError,StaleRemoteObjectHandleError,StylesheetHandle,Target,TargetActivatedEvent,TargetActivatingEvent,TargetAttachedEvent,TargetChangedEvent,TargetChildTargetCreatingEvent,TargetClosedEvent,TargetDetachedEvent,TargetDialogEvent,TargetElementSelectedEvent,TargetFilepickerDialogEvent,TargetFrameAttachedEvent,TargetFrameTargetCreatedEvent,TargetMainFrameReadyEvent,TargetNavigatedEvent,TargetVisibilityChangeEvent,UnresponsiveTargetError,WebNode,Window,WindowDestroyedEvent,WindowTargetAttachedEvent,WindowTargetDetachedEvent,flags,isElementAcceptableInvisible,localizeRemoteValue,makeBlockingDialog,makeBrowser,makeBundledExpression,makeBundledScript,makeConnection,makeDebugger,makeEvaluator,makeExpression,makeFilepickerDialog,makeFrame,makeInjection,makeIntercepted,makeInterceptedRequest,makeInterceptedResponse,makeInterceptionPatternMatcher,makeKeyboard,makeLoader,makeMouse,makePort,makeRunner,makeScript,makeTarget,makeWebNode,makeWindow,provideRolldownConfig,spec_driver_exports as spec,toCDPPattern};
|
|
1
|
+
import{t as p}from'../../_chunks/rolldown-runtime-D7D4PA-g.js';import{debuglog,inspect,styleText}from'node:util';import{basename}from'node:path';import{once,setMaxListeners}from'node:events';import{colornames}from'color-name-list/short';import S from'parse-color';import{differenceHyab,nearest,parse,rgb}from'culori';import{readFileSync}from'node:fs';import{execFileSync}from'node:child_process';import{Agent,Request,Socks5ProxyAgent,WebSocket,buildConnector,fetch as U}from'undici';import{Buffer as d}from'node:buffer';import{Readable}from'node:stream';import{buffer}from'node:stream/consumers';import{setImmediate,setTimeout as V}from'node:timers/promises';import{nextTick}from'node:process';import{harFromMessages}from'chrome-har';import{XMLBuilder,XMLParser,XMLValidator}from'fast-xml-parser';import{readFile}from'node:fs/promises';const contextProxyHandler={'has'(l,P){return l['data']['has'](P)||Reflect['has'](l,P);},'get'(l,P){if(l['data']['has'](P))return l['own'](),l['accessedKeys']['add'](P),l['data']['get'](P);else return Reflect['get'](l,P);},'set'(l,P,R){return l['own'](),l['mutatedKeys']['add'](P),l['data']['set'](P,R),!![];},'deleteProperty'(l,P){return l['own'](),l['mutatedKeys']['add'](P),l['data']['delete'](P);},'ownKeys'(l){return Array['from'](l['data']['keys']());}};var Context=class Context{['data']=new Map();['accessedKeys']=new Set();['mutatedKeys']=new Set();['sharedData']=![];get['accessed'](){return this['accessedKeys']['size']>0x0;}get['mutated'](){return this['mutatedKeys']['size']>0x0;}get['self'](){return this;}constructor(){return new Proxy(this,contextProxyHandler);}['share'](){const l=this['self'];return l['sharedData']=!![],{'data':l['data'],'accessedKeys':l['accessedKeys'],'mutatedKeys':l['mutatedKeys']};}static['materialize'](l){const P=Object['create'](Context['prototype']);return P['data']=l['data'],P['accessedKeys']=l['accessedKeys'],P['mutatedKeys']=l['mutatedKeys'],P['sharedData']=!![],new Proxy(P,contextProxyHandler);}['has'](l){return this['data']['has'](l);}['own'](){if(!this['sharedData'])return;this['data']=new Map(this['data']),this['accessedKeys']=new Set(this['accessedKeys']),this['mutatedKeys']=new Set(this['mutatedKeys']),this['sharedData']=![];}['refresh'](){const l=this['self'];l['own'](),l['data']['forEach']((P,R)=>{if(!l['accessedKeys']['has'](R)&&!l['mutatedKeys']['has'](R))l['data']['delete'](R);}),l['accessedKeys']['clear'](),l['mutatedKeys']['clear']();}['clone'](){const l=this['self'],P=Object['create'](Context['prototype']);return P['data']=l['data'],P['accessedKeys']=l['accessedKeys'],P['mutatedKeys']=l['mutatedKeys'],P['sharedData']=!![],l['sharedData']=!![],new Proxy(P,contextProxyHandler);}};const collectionsProxyHandler={'has'(l,P){return l['collections']['has'](P)||Reflect['has'](l,P);},'get'(l,P){if(!l['collections']['has'](P)&&Reflect['has'](l,P))return Reflect['get'](l,P);l['own']();let R=l['collections']['get'](P);return R===void 0x0&&(R=new Collection(),l['collections']['set'](P,R)),R;},'set'(l,P,R){return l['own'](),l['collections']['set'](P,R),!![];},'deleteProperty'(l,P){return l['own'](),l['collections']['delete'](P);}};var Collections=class Collections{['collections']=new Map();['sharedData']=![];get['self'](){return this;}constructor(){return new Proxy(this,collectionsProxyHandler);}['share'](){const l=this['self'];return l['sharedData']=!![],l['collections'];}static['materialize'](l){const P=Object['create'](Collections['prototype']);return P['collections']=l,P['sharedData']=!![],new Proxy(P,collectionsProxyHandler);}['own'](){if(!this['sharedData'])return;const l=new Map();this['collections']['forEach']((P,R)=>{if(P['length']>0x0)l['set'](R,P['clone']());}),this['collections']=l,this['sharedData']=![];}['keys'](){return this['collections']['keys']();}['equals'](l){if(this['collections']===l['collections'])return!![];for(const [P,R]of this['collections']){if(R['length']===0x0)continue;const F=l['collections']['get'](P);if(!F||!R['equals'](F))return![];}for(const [o,z]of l['collections'])if(z['length']>0x0&&!this['collections']['has'](o))return![];return!![];}['clone'](){const l=this['self'],P=Object['create'](Collections['prototype']);return P['collections']=l['collections'],P['sharedData']=!![],l['sharedData']=!![],new Proxy(P,collectionsProxyHandler);}},Collection=class Collection{['data']=[];['length']=0x0;['own'](){this['data']=this['data']['slice'](0x0,this['length']);}['at'](l,P){if(l<0x0)l=this['length']+l;if(arguments['length']===0x1)return this['data'][l];if(l<this['data']['length'])this['own']();return this['data'][l]=P;}['has'](l){for(let P=0x0;P<this['length'];++P)if(this['data'][P]===l)return!![];return![];}['find'](l){for(let P=0x0;P<this['length'];++P)if(l(this['data'][P]))return this['data'][P];}['findLast'](l){for(let P=this['length']-0x1;P>=0x0;--P)if(l(this['data'][P]))return this['data'][P];}['delete'](l){if(l>=this['length'])return;this['own'](),this['data']['splice'](l,0x1),--this['length'];}['push'](...l){if(this['data']['length']>this['length'])this['own']();for(const P of l)this['data'][this['length']++]=P;return this['length'];}['pop'](){if(this['length']>0x0)return this['data'][--this['length']];}['slice'](l,P){return this['data']['slice'](0x0,this['length'])['slice'](l,P);}['equals'](l){if(this['length']!==l['length'])return![];if(this['data']===l['data'])return!![];for(let P=0x0;P<this['length'];++P)if(this['data'][P]!==l['data'][P])return![];return!![];}['clone']({deep:l}={}){const P=Object['create'](Collection['prototype']);return P['data']=l?this['data']['slice'](0x0,this['length']):this['data'],P['length']=this['length'],P;}};function RegExpToken(l){return l=new RegExp(l['source'],l['flags']['includes']('y')?l['flags']:l['flags']+'y'),P=>{l['lastIndex']=P['pos'];const R=P['shared']['endPos']?P['text']['substring'](0x0,P['shared']['endPos']):P['text'],F=l['exec'](R);if(F){const o=P['move'](F[0x0]['length']),z=o['tokens']['boundary']?.(o)??o['clone']();if(z!==o){for(let K=0x1;K<F['length'];++K)z['collections']['results']['push'](F[K]);return z['logMatched'](l),z;}}return P['logMismatched'](l),P;};}function StringToken(l){return P=>{if((P['shared']['endPos']?P['text']['substring'](0x0,P['shared']['endPos']):P['text'])['startsWith'](l,P['pos'])){const R=P['move'](l['length']),F=R['tokens']['boundary']?.(R)??R['clone']();if(F!==R)return F['logMatched'](l),F;}return P['logMismatched'](l),P;};}function Use(l){if(typeof l==='function')return l;if(l instanceof RegExp)return RegExpToken(l);if(typeof l==='string')return StringToken(l);throw new Error('Invalid\x20rule');}const Never=l=>l,Nothing$1=l=>{if(l instanceof Cursor){const P=l;return P['logMatched']('<nothing>'),P['clone']();}else{const R=l;return Node(Nothing$1,()=>R);}};function Silent(l){const P=Use(l);return Pre(R=>R['logs']['enabled']?void(R['logs']['enabled']=![]):P(R),Post(P,R=>void(R['logs']['enabled']=!![])));}function LogGroup(l,P){let R,F=![];if(typeof l==='string')R=l;else R=l['name'],F=l['collapsed']??![];const o=F?Silent(Use(P)):Use(P);return Pre(z=>{if(!z['logs']['enabled'])return o(z);if(!F)z['logGroup'](R);},Post(o,(z,K)=>{z[!F?'logGroupEnd':'logCollapsedGroup'](z!==K?styleText(['reset','green'],R):styleText(['reset','red'],R));}));}function Pre(l,P){const R=Use(P);return F=>l(F)??R(F);}function Post(l,P){const R=Use(l),F=typeof P==='function'?(o,z)=>P(o,z)??o:(o,z)=>P[o!==z?'match':'unmatch']?.(o,z)??o;return o=>{const z=o,K=o['clone']();K['rest']['post']((D,a)=>{if(D===a)return a;const G=F(D,z);return G===z?a:G;});const X=R(K);return X['rest']['pop'](),F(X!==K?X:o,o);};}const Anything$1=Customizable(({threshold:threshold=0xa}={})=>{return l=>{let P=l['clone']();while(!![]){const R=Rest(P);if(R!==P&&(R['pos']>=P['text']['length']||R['pos']-P['pos']>=threshold))break;P=P['move'](0x1);if(P['pos']===P['text']['length'])break;}return P['collections']['results']['push'](P['text']['substring'](l['pos'],P['pos'])),P;};}),Rest=l=>{if(l['shared']['matchingRest'])return l['logSkip']('skipped\x20rest'),l;const P=l['clone'](),R=Pre(F=>{F['shared']['matchingRest']=!![],F['logs']['restDepth']??=F['logs']['depth'];},Post(LogGroup('Rest',l['rest']['probe']),F=>{F['logs']['restDepth']=P['logs']['restDepth'],F['shared']['matchingRest']=![];}))(P);return R!==P?R:l;};function Recursive(l){return P({'depth':0x0});function P({depth:R}){return l(Lazy(()=>P({'depth':++R})),{'depth':R});}}function Dynamic(l){return P=>{return Use(l(P))(P);};}function Lazy(l){let P;return Dynamic(()=>P??=Use(l()));}function Customizable(l){const P=new Map();function R(F){let o=P['get'](F);if(!o)P['set'](F,o=Use(l(F)));return o;}return F=>{if(F instanceof Cursor)return R()(F);else return Customizable(o=>R(F||o?{...F,...o}:void 0x0));};}function Boundary(l,P){const R=l&&Silent(Boundary(null,Use(l)));return Pre(F=>{F['tokens']={...F['tokens'],'boundary':R,'boundaryStack':[...F['tokens']['boundaryStack'],F['tokens']['boundary']]};},Post(P,F=>{F['tokens']={...F['tokens'],'boundary':F['tokens']['boundaryStack']['at'](-0x1)??null,'boundaryStack':F['tokens']['boundaryStack']['slice'](0x0,-0x1)};}));}function NoBoundary(l){return Post(Boundary(null,l),{'match':(P,R)=>{if(!P['tokens']['boundary'])return P;const F=P['tokens']['boundary'](P);if(F===P)return R;return F;}});}function Ignore(l,P){const R=l&&Use(l);return Pre(F=>{F['tokens']={...F['tokens'],'ignore':R,'ignoreStack':[...F['tokens']['ignoreStack'],F['tokens']['ignore']]};},Post(P,F=>{F['tokens']={...F['tokens'],'ignore':F['tokens']['ignoreStack']['at'](-0x1)??null,'ignoreStack':F['tokens']['ignoreStack']['slice'](0x0,-0x1)};}));}function Raw(l){return Ignore(null,Boundary(null,l));}function Not(l){return Post(l,{'match':(P,R)=>R,'unmatch':(P,R)=>R['clone']()});}function NonEmpty(l){return Post(l,{'match':(P,R)=>P['pos']===R['pos']&&P['collections']['equals'](R['collections'])?R:P});}function Optional(l){return Post(l,{'unmatch':(P,R)=>R['clone']()});}function Weak(l){const P=Use(l);return LogGroup('Weak',R=>{const F=R;R['shared']['weakDepth']+=0x1;const o=P(F);R['shared']['weakDepth']-=0x1;if(o===F)return R;if(R['shared']['matchingRest'])return R['clone']();return R['fork'](o);});}function Any(...l){const P=l['map'](Use),R=P['map']((F,o)=>P['slice'](o+0x1));return F=>{for(let o=0x0;o<P['length'];++o){const z=P[o],K=F['clone'](),X=R[o];if(X['length']>0x0)K['rest']['any'](F,X);const D=z(K);if(X['length']>0x0)D['rest']['pop']();if(D!==K)return D;}return F;};}function Longest(...l){const P=l['map']((R,F)=>LogGroup('Longest\x20candidate\x20#'+(F+0x1),Use(R)));return LogGroup('Longest',R=>{return P['reduce']((F,o)=>{const z=R['clone'](),K=o(z);if(K!==z&&K['pos']>F['pos'])return K;return F;},R);});}function All(...l){const P=l['map'](Use);if(P['length']===0x1)return P[0x0];return R=>{let F=R['clone']();F['rest']['all'](P);for(let o=0x0;o<P['length'];++o){const z=P[o];F['rest']['pop']();const K=F['tokens']['ignore']?.(F)??F,X=z(K);if(X===K)return R;if(X['pos']!==K['pos']||!X['collections']['equals'](K['collections']))F=X;}return F;};}function Plus(l){const P=Use(l);return R=>{let F=R;while(!![]){const o=F===R?F['clone']():F['tokens']['ignore']?.(F)??F['clone']();o['rest']['plus'](P);const z=P(o);z['rest']['pop']();if(z===o)return F;if(z['pos']===o['pos']&&z['collections']['equals'](o['collections']))return F;F=z;}};}function Star(l){return Optional(Plus(l));}function PreCondition(l,P){return Pre(R=>{const F=!l(R)?R:void 0x0;if(F)R['logMismatched']('<precondition>');return F;},P);}function PostCondition(l,P){return Post(l,{'match':(R,F)=>{const o=!P(R['collections']['results']['slice'](F['collections']['results']['length']),R,F)?F:void 0x0;if(o)R['logMismatched']('<postcondition>');return o;}});}function As$1(l,P){const R=Use(l);return Pre(F=>{const o=R(F);if(o===F)return F;F['limit'](o['pos']);},Post(P,F=>F['limit'](void 0x0)));}function Effect(l,P){return Post(l,{'match':(R,F)=>void P(R['collections']['results']['slice'](F['collections']['results']['length']),R,F)});}function Node(l,P){return Effect(l,(R,F,o)=>{const z=P(R,F,o);F['collections']['results']['length']=o['collections']['results']['length'],F['collections']['results']['push'](z);});}function Text$2(l){return Node(l,(P,R,F)=>R['text']['substring'](F['pos'],R['pos']));}function Void(l){return Effect(l,(P,R,F)=>{R['collections']['results']['length']=F['collections']['results']['length'];});}function Important(l){return Effect(l,(P,R)=>R['collections']['important']['push'](!![]));}const log$1=debuglog('nlp:parse');var Cursor=class Cursor{['text'];['pos']=0x0;['__context']=new Context();['__contextParts']=null;['__collections']=new Collections();['__collectionsMap']=null;['rest']=new RestStorage();get['context'](){return this['__context']??=Context['materialize'](this['__contextParts']);}get['collections'](){return this['__collections']??=Collections['materialize'](this['__collectionsMap']);}['tokens']={'ignore':null,'boundary':null,'ignoreStack':[],'boundaryStack':[]};['logs']={'enabled':log$1['enabled'],'depth':0x0,'restDepth':void 0x0};['shared']={'forkId':void 0x0,'forks':[],'endPos':void 0x0,'farthestPos':0x0,'matchingRest':![],'weakDepth':0x0,'options':{}};get['options'](){return this['shared']['options'];}get['farthestPos'](){return this['shared']['farthestPos'];}constructor(l,P){this['text']=l,this['shared']['options']=P??{};}['clone'](){const l=Object['create'](Cursor['prototype']);return l['text']=this['text'],l['pos']=this['pos'],l['__context']=null,l['__contextParts']=this['__context']?this['__context']['share']():this['__contextParts'],l['__collections']=null,l['__collectionsMap']=this['__collections']?this['__collections']['share']():this['__collectionsMap'],l['tokens']=this['tokens'],l['rest']=this['rest']['clone'](),l['logs']=this['logs'],l['shared']=this['shared'],l;}['fork'](l){const P=this['clone'](),R=this['shared']['weakDepth']+0x1,F=l['clone']();return F['shared']={...F['shared'],'forkId':''+(P['shared']['forkId']?P['shared']['forkId']+'.':'')+(P['shared']['forks']['length']+0x1),'forks':[],'weakDepth':R},F['logs']={...F['logs']},F['rest']=new RestStorage(),P['shared']['forks']['push']({'$':F,'token':this['rest']['token'],'weight':R}),P['logSkip']('forked\x20#'+F['shared']['forkId']+'\x20(weight\x20'+R+')\x20'+F['getProgressString']()),P;}['limit'](l){if(l===void 0x0||l<0x0)this['shared']['endPos']=void 0x0;else this['shared']['endPos']=Math['min'](l,this['shared']['endPos']??this['text']['length']);}['move'](l){const P=this['clone']();P['pos']+=l;if(P['pos']>P['shared']['farthestPos'])P['shared']['farthestPos']=P['pos'];return P;}['getDepthStyle'](l){const P=['cyan','magenta','yellow','blue','cyanBright','magentaBright','yellowBright','blueBright'],R=l??this['logs']['depth'],F=P[Math['max'](0x0,R-0x1)%P['length']];return this['logs']['restDepth']!==void 0x0&&R>this['logs']['restDepth']?['dim',F]:[F];}['getProgressString'](l=this['pos']){return styleText('reset','['+styleText(['dim','underline'],this['text']['substring'](0x0,l))+this['text']['substring'](l)+']');}['log'](l){let P='';if(this['logs']['restDepth']!==void 0x0){for(let F=0x0;F<this['logs']['restDepth'];F++)P+=styleText(this['getDepthStyle'](F+0x1),'│\x20');const R=this['logs']['depth']-this['logs']['restDepth'];for(let o=0x0;o<R;o++)P+=styleText(this['getDepthStyle'](this['logs']['restDepth']+o+0x1),'┊\x20');}else{for(let z=0x0;z<this['logs']['depth'];z++)P+=styleText(this['getDepthStyle'](z+0x1),'│\x20');}log$1(''+(this['shared']['forkId']?'*':'')+P+l);}['logFork'](l){this['logs']['enabled']&&(this['logs']['depth']-=0x1,this['log'](styleText(this['getDepthStyle'](this['logs']['depth']+0x1),'╞═\x20▼\x20'+l)),this['logs']['depth']+=0x1);}['logForkEnd'](l){this['logs']['enabled']&&(this['logs']['depth']-=0x1,this['log'](styleText(this['getDepthStyle'](this['logs']['depth']+0x1),'╞═\x20△\x20'+l)+'\x20'+this['getProgressString']()));}['logGroup'](l){this['logs']['enabled']&&(this['log'](styleText(this['getDepthStyle'](this['logs']['depth']+0x1),'▼\x20'+l)),this['logs']['depth']+=0x1);}['logGroupEnd'](l){this['logs']['enabled']&&(this['logs']['depth']-=0x1,this['log'](styleText(this['getDepthStyle'](this['logs']['depth']+0x1),'△\x20'+l)+'\x20'+this['getProgressString']()));}['logCollapsedGroup'](l){if(this['logs']['enabled'])this['log'](styleText(this['getDepthStyle'](this['logs']['depth']+0x1),'▶\x20'+l)+'\x20'+this['getProgressString']());}['logMatched'](l){if(this['logs']['enabled'])this['log'](styleText('green','✓')+'\x20'+styleText('green',l['toString']())+'\x20\x20'+this['getProgressString']());}['logMismatched'](l){if(this['logs']['enabled'])this['log'](styleText('red','✗')+'\x20'+styleText('red',l['toString']())+'\x20'+this['getProgressString']());}['logSkip'](l){if(this['logs']['enabled'])this['log'](styleText('yellow','↷\x20'+l));}['logComplete'](){if(this['logs']['enabled']){if(this['pos']<this['text']['length'])log$1(styleText('red','parsing\x20finished\x20✗\x20'+this['getProgressString'](this['shared']['farthestPos'])));else log$1(styleText('green','parsing\x20finished\x20✓\x20'+this['getProgressString'](this['shared']['farthestPos'])));}}};let emptyContinuation;var RestStorage=class RestStorage{['head']=null;get['token'](){return this['compose']({'probing':![]});}get['probe'](){return this['compose']({'probing':!![]});}['compose']({probing:l}){const P=this['head'];if(!P)return emptyContinuation??=All(...[]);const R=l?P['probe']:P['token'];if(R)return R;let F=[];for(let z=P;z;z=z['next']){const K=z['item'];if(typeof K==='function')F['push'](K);else{if(!l||K['kind']!=='post')F=[K['wrap'](F)];}}const o=All(...F);if(l)P['probe']=o;else P['token']=o;return o;}['clone'](){const l=new RestStorage();return l['head']=this['head'],l;}['all'](l){for(let P=l['length']-0x1;P>=0x0;--P)this['head']={'item':l[P],'next':this['head']};}['post'](l){this['unshift']({'kind':'post','wrap':P=>{return Post(P['length']>0x0?All(...P):Important(Nothing$1),l);}});}['any'](l,P){const R=l;this['unshift']({'kind':'any','wrap':F=>{return Any(All(...F),...P['map'](o=>z=>{const K=R['clone']();K['shared']=z['shared'],K['logs']=z['logs'],K['rest']=z['rest']['clone']();const X=o(K);return X!==K?X:z;}));}});}['plus'](l){this['unshift']({'kind':'plus','wrap':P=>{return All(...P,Star(l));}});}['pop'](){this['head']=this['head']?.['next']??null;}['unshift'](l){this['head']={'item':l,'next':this['head']};}};function State(l,P){const R=Symbol('state\x20id');return P?F(P({'Mutate':z,'state':X,'mutate':K})):{'Provide':o,'Apply':F,'Mutate':z,'state':X,'mutate':K};function F(D){return o(Node(Void(D),(a,G)=>X(G)));}function o(D){return Pre(a=>void a['collections'][R]['push']({'init':l,'mutators':[]}),Post(D,a=>void a['collections'][R]['pop']()));}function z(D,a){return Effect(D,(G,m)=>K(m,N=>a(N,G)));}function K(D,a){D['collections'][R]=D['collections'][R]['clone']({'deep':!![]});const G=D['collections'][R]['at'](-0x1);if(!G)throw new Error('Cannot\x20mutate\x20state\x20that\x20wasn\x27t\x20provided');D['collections'][R]['at'](-0x1,{'init':G['init'],'mutators':[...G['mutators'],a]});}function X(D){const a=D['collections'][R]['at'](-0x1);if(!a)throw new Error('Cannot\x20return\x20state\x20that\x20wasn\x27t\x20provided');const G=structuredClone(a['init']);return a['mutators']['forEach'](m=>m(G)),G;}}function takeNextFork(l){let P=0x0;for(let R=0x1;R<l['length'];++R){const F=l[R],o=l[P];if(F['weight']<o['weight']||F['weight']===o['weight']&&F['$']['pos']>o['$']['pos'])P=R;}return l['splice'](P,0x1)[0x0];}function makeParse(l){const P=PostCondition(l,(R,F)=>F['pos']===F['text']['length']);return(R,F)=>{if(typeof R!=='string')throw new Error('Parsing\x20function\x20expects\x20a\x20string\x20input');const o=new Cursor(R,F);let z=P(o);if(z===o){const K=o['shared']['forks']['splice'](0x0,o['shared']['forks']['length']);while(K['length']>0x0){const {$:X,token:D}=takeNextFork(K);o['logFork']('Fork\x20#'+X['shared']['forkId']);const a=D(X);a['logForkEnd']('Fork\x20#'+X['shared']['forkId']);if(a!==X){z=a;break;}K['push'](...a['shared']['forks']);}}if(z===o||z['pos']<R['length'])z['collections']['errors']['push']({'type':'ParseError','pos':z['farthestPos'],'text':R['slice'](z['farthestPos'])});return z['logComplete'](),Object['fromEntries'](Array['from'](z['collections']['keys']())['map'](G=>[G,z['collections'][G]['slice']()]));};}function test(l,P,R){if(typeof P!=='string')return![];const F=new Cursor(P,R),o=Use(l)(F);return F!==o&&o['pos']>=P['length'];}function startsWith$2(l,P,R){if(typeof P!=='string')return![];const F=new Cursor(P,R),o=Use(l)(F);return F!==o&&o['pos']>0x0;}function search(l,P,R){if(typeof P!=='string')return null;const F=new Cursor(P,R),o=Use(l);for(let z=0x0;z<P['length'];++z){const K=F['move'](z),X=o(K);if(X!==K&&X['pos']>K['pos'])return{'text':P['substring'](z,X['pos']),'pos':z};}return null;}const Article=l=>All(Optional(/the|an|a/i),l),Possessive=(l,{strict:P}={})=>Any(NoBoundary(All(l,/'s?/)),P?Never:l),InstructionTerminator=/[.;\s]*$/,ActionSeparator=/(?:(?:(?:,\s*)?(?:(?:and\s+)?(?:then|after)|and))|,)/i,ActionModifierSeparator=/[:,-]/,BlockSeparator=/[,;]/,AndListSeparator=/(?:,\s*)?and|,/i,OrListSeparator=/(?:,\s*)?(?:or|and)|,/i,The=/the(?:\s+the)?/i,IndefiniteArticle=/an|a/i,For=/for/i,Until=/until/i,To=/to/i,From=/from/i,Of=/of/i,By=/by/i,With=/with/i,Without=/without/i,As=/as/i,LocationPreposition=/into|within|inside|in|on|at/i,FunctionalPreposition=/as|under/i,RelationalPreposition=/from|in|at|as|below|under/i,EquivalencePreposition=/as|to/i,TemporalPreposition=/before|after|for/i,AssignmentPreposition=/with|as|to|in/i,StoragePreposition=/to|in|as|under/i,AssociationPreposition=/with|of/i,ConditionPreposition=/in|on|under/i,Only=/only/i,Last$1=/last/i,If$1=/if/i,And=/and/i,That=/that/i,While=/while/i,When=/when/i,Then$1=/then/i,NumberSign=/#|№/,At=/at/i,Index$2=/index/i,Start=/Start/i,Bottom=/bottom/i,It=/it/i,Its=/its/i,Them=/them/i,This=/this/i,These=/these/i,Keyboard$1=/keyboard/i,KeyboardKey$1=All(Optional(Keyboard$1),/key|button/i),KeyboardKeys=All(Optional(Keyboard$1),/(?:key|button)s?/i),Character=/char(?:acter)?|symbol|letter/i,Characters=/(?:char(?:acter)?|symbol|letter)s?/i,Tab=/tab/i,Variables=/(?:var(?:iable)?|param(?:eter)?)s?/i,Parameters$1=/(?:arg(?:ument)?|var(?:iable)?|param(?:eter)?)s?/i,Value$5=/value|data|datum|content/i,Http=/https?|hyper\s*text\s+transfer\s+protocol/i,Pixels=/px|pixels?/i,Following=/following/i,Nothing=/nothing/i,Anything=/anything/i,Name$1=/name/i,Times$3=/times?/i,Evaluation=/eval(?:uation)?|exec(?:ution)?|step/i,Request$1=/request|req/,Result=/result/,Length=/length|size/i,Width=/width/,Height=/height/,Assertions=/(?:assert(?:ion)?|verification|validation|check(?:point)?)s?/i,CustomFlowTest=/test|custom[-\s]?flow(?:\s+test)?/i,TestStep=/(?:test[-\s])?step/i,TestSteps=/(?:test[-\s])?steps?/i,Website=/(?:web[-\s]?)?(?:site|page|document)/i,Websites=/(?:web[-\s]?)?(?:site|page|document)s?/i,Url$4=/url|(?:hyper)?link|domain|address/i,Title$2=/title/i,Endpoint$1=/endpoint|api|url|address/i,BasicAuth$1=/(?:basic\s+)?auth(?:orization)?/i,User=/user/i,HttpCookie=/(?:request\s+)?cookie/i,HttpHeader=/(?:request\s+)?header/i,HttpBody=/(?:request\s+)?body/i,HttpResponse=/(?:https?\s+)?(?:request\s+)?response/i,HttpStatusCode=/(?:request\s+)?status(?:\s+code)?/i,HttpStatusCodes=/(?:request\s+)?status(?:es|(?:\s+codes?))?/i,CSSPseudoClass=/styl(?:e|ing)|pseudo[-\s]?class/i,JavaScript=/js|java-?script/i,CodeSnippet=/(?:code\s+)?(?:snippet|expression|statement|line)|code/i,CollectionItems=/items?|elements?|entr(?:y|eis)/i,CollectionPairs=/pairs?|mappings?/i,CollectionKeys=/keys?/i,CollectionValues=/values?/i,Secret=/(?:(?:(?:(?:access|auth(?:entication)?)\s+)?(?:token|password|pwd|pass|security|pin)(?:\s*(?:key|code))?|secret(?:\s*(?:pin|key|code))?)|(?:access|auth(?:entication)?)\s+(?:key|code)|credit\s*card)/i,OTP$1=/(?:otp|one\s*-?\s*time\s*-?\s*password)(?:\s+(?:(?:pin\s*-?\s*)?code|password|key|digits|pin|(?:pass\s*-?\s*)?phrase|secret|passcode))?/i,File=/file|attachment/i,SelectboxOption=/(radio\s+)?(button|option|item|entry|value|text|element)/i,Popup=/(?:pop(?:-|\s*)(?:up|over)|dialog)(?:\s+(?:item))?/i,Tooltip=/(?:tool|info|help|context)\s*tip|help\s*tip|(?:info|hint|help|text)\s+bubble/i,Page=/page/i,WebPage=/(?:web[-\s]?)?(?:page|document)|window/i,PdfPage$1=/(?:document|pdf)\s+page/i,App$1=/app(?:lication)?/i,Viewport$1=/screen|viewport/i,Selector$1=/selector|locator/i,String$1=/text/i,Color$2=/colou?r/i,Date$1=/date/i,Time=/time/i,DateTime=/date(?:-|\s+and\s+|\s+)?time/i,Number$1=/amount|sum|total|number/i,Price$1=/price|cost|fee/i,Code=/id|code/i,Having=/with|holding|containing|including/i,Percentage$1=/percent(?:age)?/i,Text$1=/label|text|string/i,Link=/link/i,Heading=/heading/i,Menu=/menu/i,Hamburger=/(?:ham)?burger(?:\s+menu)?/i,MenuItem=/menu\s*(?:item|option|entry)/i,List$1=/list/i,ListItem=/list\s*(?:item|option|entry)/i,Header$4=/header/i,Footer=/footer/i,Card=/card|panel/i,Paragraph=/paragraph/i,Textbox=/box|text[-\s]?(?:box|area|field|input)|form(?:-|\s*)(?:field|input)|field|input(?:[-\s]?(?:field|box|area))?|edit[-\s]?(?:box|area)|bar/i,Searchbox=/search[-\s]?(?:box|bar)/i,Checkbox=/check[-\s]?box/i,CheckboxGroup=/check[-\s]?box\s*group/i,Radio=/radio/i,RadioGroup=/radio\s*group/i,ColorPicker=/colou?r(?:-|\s*)(?:picker|chooser|box|field|input)/i,DatePicker=/date(?:-|\s*)(?:picker|chooser|box|field|input)/i,TimePicker=/time(?:-|\s*)(?:picker|chooser|box|field|input)/i,DateTimePicker=/date(?:-|\s+and\s+|\s+)?time(?:-|\s*)(?:picker|chooser|box|field|input)/i,FilePicker=/file(?:-|\s*)(?:picker|chooser|box|field|input)/i,Inputbox=/input(?:-|\s+)?box/i,Selectbox=/select(?:-|\s+)?box/i,Valuebox=/value(?:-|\s+)?box/i,Combobox=/(?:drop[-\s]?down(?:\s+(?:menu|list))?|drop[-\s]?box|combo[-\s]?box)(?:\s+arrow)?/i,Listbox=/(?:list[-\s]?box)(?:\s+arrow)?/i,Option$1=/option/i,Form$1=/form/i,Image=/image|svg|picture|drawing|graphics?/i,Logo=/logo/i,Icon=/icon|svg|glyph/i,Button=/button|tab|(?:tool\s*bar|tool|bar)(?:\s+item)?/i,Slider=/slider/i,Ad=/advert(?:isement)?|ads?/i,Element$3=/element/i,Browser$1=/(?:(?:web|internet)[-\s])?browser/i,BrowserTab=All(Possessive(Browser$1),/tab/i),BrowserToolbar=All(Possessive(Browser$1),Optional(/tool[-\s]?bar/i)),BrowserDialogType=/alert|prompt|confirm/i,BrowserDialog=Any(All(/native/i,Optional(Possessive(Browser$1)),Any(BrowserDialogType,Popup)),All(Possessive(Browser$1),Any(BrowserDialogType,Popup)),BrowserDialogType),Accept=/ok|accept|agree|allow|confirm|submit/i,Dismiss=/cancel|decline|reject|close|discard|dismiss/i,Table=/table/i,Cell=/cell/i,Row=/row/i,Column=/column/i,Stub=/stub/i,Be=/be|is|are/i,Wait$1=/wait/i,Skip=/skip|ignore/i,Skipping=/skipping|ignoring/i,Run=/run|do|execute|perform/i,Running=/running|doing|executing|performing/i,Expect=/expect|accept|allow|permit/i,Expecting=/expecting|accepting|allowing|permitting/i,Using=/using/i,Holding=/holding|pressing|hitting/i,Activate=/activate|define|add/i,Cancel=/cancel|undefine|clear|reset/i,Dont=/do\s+not|don't/i,Optionally=/optionally|if\s+possible/i,Random=/random(?:ly)?/i,Relative=/relative/i,Current=/current/i,Each=/each|every|all|any/i,Named=/named|called|titled|(?:(?:with|of|that\s+has|showing)\s+(?:the\s+)?(?:name|title|text)?)/i,Maximum=/maximum|max|no\s+more\s+than|at\s+most|a\s+(?:max|maximum)\s+of|up\s+to/i,Inside=/within|inside(?:\s+of)?|on(?:top(?:\s+of)?)?|in|at|of/i,Near=/nearest|near|closest|close|next|adjacent/i,Background=/background/i,Foreground=/foreground/i,Back=/back/i,Forward=/forward/i,Previous=/prev(?:ious)?/i,Next=/next/i,Before=/before/i,After=/after/i,Prior=/before|prior(?:\s+to)?/i,Implicit=/implicit/i,Subsequent=/subsequent|remaining|next/i,Generated=/generated/i,New=/new/i,Zero=Use(/(zero)/i);Use(/(one)/i);const CardinalNumeralDigit=Use(/(one|two|three|four|five|six|seven|eight|nine)/i),CardinalNumeralTeen=Use(/(ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)/i),CardinalNumeralTen=Use(/(twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)/i),OrdinalNumeralDigit=Use(/(first|second|third|fourth|fifth|sixth|seventh|eighth|ninth)/i),OrdinalNumeralTeen=Use(/(tenth|eleventh|twelfth|thirteenth|fourteenth|fifteenth|sixteenth|seventeenth|eighteenth|nineteenth)/i),OrdinalNumeralTen=Use(/(twentieth|thirtieth|fortieth|fiftieth|sixtieth|seventieth|eightieth|ninetieth)/i),DenominatorNumeralDigit=Use(/(firsts?|half|halves|thirds?|fourths?|quoters?|fifths?|sixths?|sevenths?|eighths?|ninths?)/i),DenominatorNumeralTeen=Use(/(tenths?|elevenths?|twelfths?|thirteenths?|fourteenths?|fifteenths?|sixteenths?|seventeenths?|eighteenths?|nineteenths?)/i),DenominatorNumeralTen=Use(/(twentieths?|thirtieths?|fortieths?|fiftieths?|sixtieths?|seventieths?|eightieths?|ninetieths?)/i),MultiplicativeNumeral=Use(/(single|double|triple|quadruple|quintuple|sextuple|septuple|octuple|nonuple|decuple)/i),FractionNumeral=Use(/(half|quoter)/i),IterativeNumeral=Use(/(once|twice|thrice)/i),SkipSpaces=l=>All(Optional(/\s+/),Ignore(/\s+/,l)),TokenBoundary=l=>Boundary(/(?<!\w)|\b(?![-]|'\w)/,l),Sanitize$1=l=>TokenBoundary(SkipSpaces(l)),Mark=(l,{type:P,subtype:R,regexp:F,mutate:o})=>Effect(l,(z,K,X)=>{const D=K['text']['slice'](X['pos'],K['pos']);if(D){let a;if(F){const G=D['match'](F);if(G)a={'pos':X['pos']+G['index'],'text':G[0x0],'type':P};}else a={'pos':X['pos'],'text':D,'type':P};if(a){if(R)a['subtype']=R;o?.(a,z,K,X),K['collections']['markers']['push'](a);}}}),Fix=(l,P)=>Effect(Mark(l,{'type':'fixable'}),(R,F,o)=>{const z=F['text']['slice'](o['pos'],F['pos']);if(z)F['collections']['fixes']['push']({'pos':o['pos'],'text':z,'fix':P(z,R)});}),Disambiguate=(l,P)=>Effect(Mark(l,{'type':'ambiguous'}),(R,F,o)=>{const z=F['text']['slice'](o['pos'],F['pos']);if(z)F['collections']['disambiguations']['push']({'pos':o['pos'],'text':z,'replacements':P(z,R)});}),Wrap=(l,P)=>{const {left:R,right:F}=typeof l==='object'&&!(l instanceof RegExp)?l:{'left':l,'right':l};return All(R,P,F);},DoubleQuoted$1=l=>Mark(Wrap('\x22',l),{'type':'string','subtype':'double\x20quoted'}),SingleQuoted$1=l=>Mark(Wrap('\x27',l),{'type':'string','subtype':'single\x20quoted'}),Quoted$1=l=>Any(DoubleQuoted$1(l),SingleQuoted$1(l)),Stringish=l=>Any(Quoted$1(l),Mark(l,{'type':'string','subtype':'unquoted'})),Index$1=l=>Node(l,([P])=>typeof P==='number'?P-0x1:P),List=(l,P)=>All(l,Star(All(P,l))),WeakList=(l,P)=>All(l,Star(Weak(All(P,l)))),Mask=()=>{const {Provide:l,state:P,mutate:R}=State({'enabled':![],'markers':[]});function F(z,K=!![]){const X=K?'secret':'empty';R(z,D=>D['enabled']=K),P(z)['markers']['forEach'](D=>D['type']=X);}const o=z=>Mark(z,{'type':'empty','mutate':(K,X,D)=>{if(P(D)['enabled'])K['type']='secret';R(D,a=>a['markers']['push'](K));}});return{'Masker':l,'Maskable':o,'mask':F};},HorizontalAbsolutePosition=Any(Node(/(?:very\s+)?left(?:\s*(?:-\s*)?most)?|start|beginning/i,()=>'left'),Node(/(?:very\s+)?right(?:\s*(?:-\s*)?most)?|end/i,()=>'right')),VerticalAbsolutePosition=Any(Node(/(?:very\s+)?top(?:\s*(?:-\s*)?most)?/i,()=>'top'),Node(/(?:very\s+)?bottom(?:\s*(?:-\s*)?most)?/i,()=>'bottom')),CenterAbsolutePosition=Node(/middle|center/i,()=>'center'),AbsolutePosition$1=Any(Node(All(Optional(The),HorizontalAbsolutePosition,Optional(All(And,VerticalAbsolutePosition))),([l,P])=>''+(P??'')+l),Node(All(Optional(The),VerticalAbsolutePosition,Optional(All(And,HorizontalAbsolutePosition))),([l,P])=>''+l+(P??'')),All(Optional(The),CenterAbsolutePosition)),HorizontalRelativePosition=Any(Node(/left/i,()=>'leftof'),Node(/right/i,()=>'rightof')),VerticalRelativePosition=Any(Node(/above|over/i,()=>'above'),Node(/below|under/i,()=>'below')),BeforeRelativePosition=Any(Node(Before,()=>'belowleftof')),AfterRelativePosition=Any(Node(After,()=>'aboverightof')),RelativePosition=Any(Node(All(Optional(All(To,Optional(The))),HorizontalRelativePosition,Optional(All(And,Optional(All(To,Optional(The))),VerticalRelativePosition))),([l,P])=>''+(P??'')+l),Node(All(Optional(All(To,Optional(The))),VerticalRelativePosition,Optional(All(And,Optional(All(To,Optional(The))),HorizontalRelativePosition))),([l,P])=>''+l+(P??'')),BeforeRelativePosition,AfterRelativePosition),SequentialRelativePosition=l=>Any(Node(Any(All(Next,l),All(l,/that\s+(?:follows|comes\s+after)\s+(?:the\s+)?current/i)),([P])=>({'position':'next','object':P})),Node(Any(All(Previous,l),All(l,/that\s+comes\s+before\s+(?:the\s+)?current/i)),([P])=>({'position':'previous','object':P}))),BackspaceKey$1=Node(/backspace/i,()=>'Backspace'),DeleteKey$1=Node(/del(?:ete)?/i,()=>'Delete'),ArrowKey$1=Any(Node(/up(?:\s+arrow)?|arrow\s+up/i,()=>'ArrowUp'),Node(/down(?:\s+arrow)?|arrow\s+down/i,()=>'ArrowDown'),Node(/left(?:\s+arrow)?|arrow\s+left/i,()=>'ArrowLeft'),Node(/right(?:\s+arrow)?|arrow\s+right/i,()=>'ArrowRight')),ControlKey$1=Any(Node(/escape|esc/i,()=>'Escape'),Node(/f1/i,()=>'F1'),Node(/f2/i,()=>'F2'),Node(/f3/i,()=>'F3'),Node(/f4/i,()=>'F4'),Node(/f5/i,()=>'F5'),Node(/f6/i,()=>'F6'),Node(/f7/i,()=>'F7'),Node(/f8/i,()=>'F8'),Node(/f9/i,()=>'F9'),Node(/f10/i,()=>'F10'),Node(/f11/i,()=>'F11'),Node(/f12/i,()=>'F12'),Node(/caps(?:\s*lock)?/i,()=>'CapsLock'),Node(/tab/i,()=>'Tab'),Node(/enter|return/i,()=>'Enter'),Node(/(?:left\s+)?shift/i,()=>'ShiftLeft'),Node(/right\s+shift/i,()=>'ShiftRight'),Node(/(?:left\s+)?(?:control|ctrl)/i,()=>'ControlLeft'),Node(/right\s+(?:control|ctrl)/i,()=>'ControlRight'),Node(/(?:left\s+)?(?:meta|windows|command|cmd)/i,()=>'MetaLeft'),Node(/right\s+(?:meta|windows|command|cmd)/i,()=>'MetaRight'),Node(/(?:left\s+)?(?:alt|alternate|option)/i,()=>'AltLeft'),Node(/right\s+(?:alt|alternate|option)/i,()=>'AltRight'),Node(/(?:alt|alternate)\s*gr(?:aph)/i,()=>'AltGraph'),Node(/space/i,()=>'Space'),Node(/home/i,()=>'Home'),Node(/end/i,()=>'End'),Node(/page\s*up|pgup/i,()=>'PageUp'),Node(/page\s*down|pgdn/i,()=>'PageDown'),Node(/ins(?:ert)?/i,()=>'Insert'),BackspaceKey$1,DeleteKey$1),KeyboardKey=Any(ControlKey$1,ArrowKey$1,Any(Node(/\\|backslash/i,()=>'Backslash'),Node(/`(?!\S)|back\s*quote|back\s*tick/,()=>'Backquote'),Node(/1|one/i,()=>'Digit1'),Node(/2|two/i,()=>'Digit2'),Node(/3|thee/i,()=>'Digit3'),Node(/4|four/i,()=>'Digit4'),Node(/5|five/i,()=>'Digit5'),Node(/6|six/i,()=>'Digit6'),Node(/7|seven/i,()=>'Digit7'),Node(/8|eight/i,()=>'Digit8'),Node(/9|nine/i,()=>'Digit9'),Node(/0|zero/i,()=>'Digit0'),Node(/-(?!\S)|minus/i,()=>'Minus'),Node(/=(?!\S)|equal/i,()=>'Equal'),Node(/Q/i,()=>'KeyQ'),Node(/W/i,()=>'KeyW'),Node(/E/i,()=>'KeyE'),Node(/R/i,()=>'KeyR'),Node(/T/i,()=>'KeyT'),Node(/Y/i,()=>'KeyY'),Node(/U/i,()=>'KeyU'),Node(/I/i,()=>'KeyI'),Node(/O/i,()=>'KeyO'),Node(/P/i,()=>'KeyP'),Node(/\[(?!\S)|(?:left|open(?:ing)?)\s+bracket/i,()=>'BracketLeft'),Node(/\](?!\S)|(?:right|clos(?:e|ing))\s+bracket/i,()=>'BracketRight'),Node(/A/i,()=>'KeyA'),Node(/S/i,()=>'KeyS'),Node(/D/i,()=>'KeyD'),Node(/F/i,()=>'KeyF'),Node(/G/i,()=>'KeyG'),Node(/H/i,()=>'KeyH'),Node(/J/i,()=>'KeyJ'),Node(/K/i,()=>'KeyK'),Node(/L/i,()=>'KeyL'),Node(/;(?!\S)|semi(?:colon)?/i,()=>'Semicolon'),Node(/"(?!\S)|(?:double\s+)?quote/i,()=>'Quote'),Node(/Z/i,()=>'KeyZ'),Node(/X/i,()=>'KeyX'),Node(/C/i,()=>'KeyC'),Node(/V/i,()=>'KeyV'),Node(/B/i,()=>'KeyB'),Node(/N/i,()=>'KeyN'),Node(/M/i,()=>'KeyM'),Node(/,(?!\S)|comma/i,()=>'Comma'),Node(/\.(?!\S)|period|dot/i,()=>'Period'),Node(/\/(?!\S)|slash/i,()=>'Slash'))),InnerRelationalOffset=Any(Node(/half(?:\s*way)?/i,()=>0.5),Node(/entire|whole|full|all(?:\s+(?:the\s+)?way)?/i,()=>0x1)),Comment=Mark(Node(RegExpToken(/(?:\/\/|#)(.*)$/),([l])=>({'type':'comment','text':l['trim']()})),{'type':'comment'}),CARDINAL_NUMERALS={'one':0x1,'two':0x2,'three':0x3,'four':0x4,'five':0x5,'six':0x6,'seven':0x7,'eight':0x8,'nine':0x9,'ten':0xa,'eleven':0xb,'twelve':0xd,'fourteen':0xe,'fifteen':0xf,'sixteen':0x10,'seventeen':0x11,'eighteen':0x12,'nineteen':0x13,'twenty':0x14,'thirty':0x1e,'forty':0x28,'fifty':0x32,'sixty':0x3c,'seventy':0x46,'eighty':0x50,'ninety':0x5a};function cardinalNumeralToNumber(l){return CARDINAL_NUMERALS[l]??NaN;}const ORDINAL_NUMERALS={...CARDINAL_NUMERALS,'first':0x1,'second':0x2,'third':0x3,'fourth':0x4,'fifth':0x5,'sixth':0x6,'seventh':0x7,'eighth':0x8,'ninth':0x9,'tenth':0xa,'eleventh':0xb,'twelfth':0xc,'thirteenth':0xd,'fourteenth':0xe,'fifteenth':0xf,'sixteenth':0x10,'seventeenth':0x11,'eighteenth':0x12,'nineteenth':0x13,'twentieth':0x14,'thirtieth':0x1e,'fortieth':0x28,'fiftieth':0x32,'sixtieth':0x3c,'seventieth':0x46,'eightieth':0x50,'ninetieth':0x5a};function ordinalNumeralToNumber(l){return ORDINAL_NUMERALS[l]??NaN;}const DENOMINATOR_NUMERALS={...ORDINAL_NUMERALS,'firsts':0x1,'half':0x2,'halves':0x2,'thirds':0x3,'fourths':0x4,'quoter':0x4,'quoters':0x4,'fifths':0x5,'sixths':0x6,'sevenths':0x7,'eighths':0x8,'ninths':0x9,'tenths':0xa,'elevenths':0xb,'twelfths':0xc,'thirteenths':0xd,'fourteenths':0xe,'fifteenths':0xf,'sixteenths':0x10,'seventeenths':0x11,'eighteenths':0x12,'nineteenths':0x13,'twentieths':0x14,'thirtieths':0x1e,'fortieths':0x28,'fiftieths':0x32,'sixtieths':0x3c,'seventieths':0x46,'eightieths':0x50,'ninetieths':0x5a};function denominatorNumeralToNumber(l){return DENOMINATOR_NUMERALS[l]??NaN;}const ITERATIVE_NUMERALS={'once':0x1,'twice':0x2,'thrice':0x3};function iterativeNumeralToInteger(l){return ITERATIVE_NUMERALS[l]??NaN;}const MULTIPLICATIVE_NUMERALS={'single':0x1,'double':0x2,'triple':0x3,'quadruple':0x4,'quintuple':0x5,'sextuple':0x6,'septuple':0x7,'octuple':0x8,'nonuple':0x9,'decuple':0xa};function multiplicativeNumeralToInteger(l){return MULTIPLICATIVE_NUMERALS[l]??NaN;}const FRACTIONAL_NUMERALS={'quoter':0.25,'half':0.5};function fractionalNumeralToNumber(l){return FRACTIONAL_NUMERALS[l]??NaN;}function replace(l,P,R,F){return l['substring'](0x0,P)+F+l['substring'](P+R);}function normalizeString(l,P=/[]/){return l['replaceAll'](new RegExp(String['raw']`\\([{\\nt]|${P['source']})`,'g'),(R,F)=>{if(F==='n')return'\x0a';else{if(F==='t')return'\x09';}return F;});}function normalizeNumericString(l,P){if(P?.['startsWith']('en'))return l['replaceAll'](',','');else return l['replaceAll']('.','')['replace'](',','.');}function mergeElementDescriptors(l,P){const R={...l,...P};if(l['type']&&P['type']){R['type']=[...new Set([l['type']??[],P['type']??[]]['flat']())];if(R['type']['length']===0x1)R['type']=R['type'][0x0];}if(l['anchor']&&P['anchor'])R['anchor']=[l['anchor']??[],P['anchor']??[]]['flat']();if(l['hints']?.['type']&&P['hints']?.['type']){R['hints']['type']=[...new Set([l['hints']['type']??[],P['hints']['type']??[]]['flat']())];if(R['hints']['type']['length']===0x1)R['hints']['type']=R['hints']['type'][0x0];}return R;}function attachAnchor(l,P){const R=Array['isArray'](P)?P:[P];if(l['anchor'])l['anchor']=[l['anchor'],...R]['flat']();else{if(R['length']===0x1)l['anchor']=R[0x0];else l['anchor']=R;}}function attachAnchorAtDeepest(l,P){if((Array['isArray'](P)?P:[P])['some'](({element:R})=>R===l))return;if(l['anchor']){for(const R of Array['isArray'](l['anchor'])?l['anchor']:[l['anchor']])if(R['element']&&!('isViewportDescriptor'in R['element'])&&!('isDialogDescriptor'in R['element']))attachAnchorAtDeepest(R['element'],P);}else l['anchor']=P;}function convertToStructure(l){if(Array['isArray'](l))return{'isStructure':!![],'type':'array','items':l['map'](P=>convertToStructure(P))};else{if(l&&typeof l==='object')return{'isStructure':!![],'type':'record','items':Object['entries'](l)['map'](([P,R])=>({'key':P,'value':convertToStructure(R)}))};}return l;}const RESERVED_NAMES=new Set(['page','response','js-result','it']);function isReservedName(l){return RESERVED_NAMES['has'](l);}function isSecretName(l){const P=new RegExp('(?:'+[/(?:access|o?auth(?:entication|orization)?)[\s_-]*(?:key|code)/,/(credential|token)(?:s)?/,/(?:api|app(?:lication)?|client|shared)[\s_-]*secret/,/(?:secret|api|private|encryption|verification|certificate)(?:[\s_-]*(?:pin|code|key))+/,/(?:pin|secret|otp)[\s_-]*(?:code)?/,/(?:secure|security|authenticator|2fa|mfa|(?:two|2)[\s_-]factor)[\s_-]*(?:code)?/,/pass[\s_-]*(?:code|word|phrase)/,/(credit|payment)[\s_-]*card/,/(?:cc|cvv|cvc)[\s_-]*(?:number|code|digits?)/]['map'](D=>D['source'])['join']('|')+')','i')['exec'](l);if(!P)return![];const R=P['index'],F=R+P[0x0]['length'],o=l[R-0x1]||'',z=l[F]||'';if(!/[A-Za-z0-9]/['test'](o)&&!/[A-Za-z0-9]/['test'](z))return!![];const K=/[a-z0-9]/['test'](o)&&/[A-Z]/['test'](P[0x0][0x0]),X=/[A-Z]/['test'](P[0x0]['slice'](-0x1))&&/[a-z0-9]/['test'](z);return K||X;}function isElementType(l){return test(Any(ElementType$1,NoopElementType),l);}function isPatternName(l){return test(NamedPattern,l);}function isNamedColor(l){if(typeof l!=='string')return![];return test(NamedColor,l['trim']());}function variableNameToElementType(l){const P=l['toLowerCase']()['replace'](/[\s_-]+/g,'');if(/(link|url|address|uri|location)/['test'](P))return'link';if(/(btn|button|cta)/['test'](P))return'button';if(/(combo(?:box)|dropdown|select)/['test'](P))return'combobox';if(/(listbox)/['test'](P))return'listbox';if(/(radio)/['test'](P))return'radio';if(/(form)/['test'](P))return'form';if(/(check)/['test'](P))return'checkbox';if(/(popup|dialog|modal|alert)/['test'](P))return'popup';if(/(logo|brand)/['test'](P))return'logo';if(/(img|image|picture|photo)/['test'](P))return'image';if(/(heading|title|subtitle)/['test'](P))return'heading';if(/(item)/['test'](P))return'menuitem';if(/(menu|nav)/['test'](P))return'menu';if(/(burger)/['test'](P))return'hamburger';if(/(datetime)/['test'](P))return'datetimepicker';if(/(calendar|date)/['test'](P))return'datepicker';if(/(time)/['test'](P))return'timepicker';if(/(color)/['test'](P))return'colorpicker';if(/(header|topbar)/['test'](P))return'header';if(/(footer|bottombar)/['test'](P))return'footer';if(/(icon|glyph|symbol)/['test'](P))return'icon';if(/(range|slider)/['test'](P))return'slider';if(/(textbox|input|field)/['test'](P))return'textbox';if(/(text|label|paragraph|content)/['test'](P))return'text';return null;}const Identifier$1=Use(/([^,.:\/'"{}[\]()/\s]+)/),MultiWordIdentifier=Use(/([^,.:\/'"{}[\]()/]+)\b/),Reference$1=(l,{context:P}={})=>Lazy(()=>Sanitize$1(Recursive(()=>{const R=Any(Node(All('.',MultiWordIdentifier),([o])=>({'get':o})),Node(Wrap({'left':'[','right':']'},Any(IntegerNumberLiteral,QuotedInterpolatedStringLiteral,UnquotedInterpolatedStringLiteral({'escape':/[\]]/}))),([o])=>({'get':o}))),F=Node(RegExpLiteral,([o])=>({'match':o}));return Mark(Any(Node(Wrap({'left':'{%','right':'%}'},UnquotedJSExpressionLiteral({'char':/(?!%})./})),([o])=>{return{'isJSExpressionRef':!![],'expression':o,'type':l};}),Node(Wrap({'left':'{','right':'}'},All(MultiWordIdentifier,Star(Any(R,F)))),([o,...z],K)=>{let X;if(o==='it'&&K['context']['has']('reference'))X={...K['context']['reference'],'modifiers':[...K['context']['reference']?.['modifiers']??[],...z],'type':l};else X={'isRef':!![],'name':o,'modifiers':z,'type':l};return K['collections']['references']['push'](X),X;})),{'type':'reference','subtype':P});}))),VerboseReference=Any(Lazy(()=>{return Mark(Node(All(Optional(The),Optional(Last$1),HttpResponse,Optional(Any(Node(HttpBody,()=>[{'get':'body'}]),Node(All(HttpCookie,InterpolatedStringLiteral$1),([l])=>[{'get':'cookies'},{'get':l}]),Node(All(HttpHeader,InterpolatedStringLiteral$1),([l])=>[{'get':'headers'},{'get':l}])))),([l],P)=>{const R={'isRef':!![],'name':'response','modifiers':l,'type':'string'};return P['collections']['references']['push'](R),R;}),{'type':'reference'});}),Mark(Node(All(Optional(The),Optional(Last$1),JavaScript,Optional(Evaluation),Result),(l,P)=>{const R={'isRef':!![],'name':'js-result','type':'string'};return P['collections']['references']['push'](R),R;}),{'type':'reference'}),Lazy(()=>{const l=Any(Node(Url$4,()=>({'type':'string','modifiers':[{'get':'url'}]})),Node(Title$2,()=>({'type':'string','modifiers':[{'get':'title'}]})),Node(HttpStatusCode,()=>({'type':'number','modifiers':[{'get':'status'}]})),Node(Width,()=>({'type':'number','modifiers':[{'get':'width'}]})),Node(Height,()=>({'type':'number','modifiers':[{'get':'height'}]})),Node(All(HttpCookie,InterpolatedStringLiteral$1),([P])=>({'type':'string','modifiers':[{'get':'cookies'},{'get':P}]})),Node(All(HttpHeader,InterpolatedStringLiteral$1),([P])=>({'type':'string','modifiers':[{'get':'headers'},{'get':P}]})));return Mark(Node(Any(All(Optional(The),l,Of,Any(The,This),Optional(Current),WebPage),All(Possessive(WebPage),l)),([{type:P,modifiers:R}],F)=>{const o={'isRef':!![],'name':'page','modifiers':R,'type':P};return F['collections']['references']['push'](o),o;}),{'type':'reference'});})),NaturalNumberLiteral=Mark(Node(Dynamic(l=>l['options']['locale']?.['startsWith']('en')?Use(/([1-9](?:,(?=\d{3})|\d)*)/):Use(/([1-9](?:[.](?=\d{3})|\d)*)/)),([l],P)=>Number['parseInt'](normalizeNumericString(l,P['options']['locale']))),{'type':'number'}),NonnegativeDecimalNumberLiteral=Mark(Node(Dynamic(l=>l['options']['locale']?.['startsWith']('en')?Use(/((?:0|[1-9](?:,(?=\d{3})|\d)*)?[.]\d+)/):Use(/((?:0|[1-9](?:[.](?=\d{3})|\d)*)?,\d+)/)),([l],P)=>Number['parseFloat'](normalizeNumericString(l,P['options']['locale']))),{'type':'number'}),DecimalNumberLiteral=Mark(Node(Dynamic(l=>l['options']['locale']?.['startsWith']('en')?Use(/([-+]?(?:0|[1-9](?:,(?=\d{3})|\d)*)[.]\d+)/):Use(/([-+]?(?:0|[1-9](?:[.](?=\d{3})|\d)*),\d+)/)),([l],P)=>Number['parseFloat'](normalizeNumericString(l,P['options']['locale']))),{'type':'number'}),NonnegativeIntegerNumberLiteral=Mark(Node(Dynamic(l=>l['options']['locale']?.['startsWith']('en')?Use(/(0|[1-9](?:,(?=\d{3})|\d)*)/):Use(/(0|[1-9](?:[.](?=\d{3})|\d)*)/)),([l],P)=>Number['parseInt'](normalizeNumericString(l,P['options']['locale']))),{'type':'number'}),IntegerNumberLiteral=Mark(Node(Dynamic(l=>l['options']['locale']?.['startsWith']('en')?Use(/([-+]?(?:0|[1-9](?:,(?=\d{3})|\d)*))/):Use(/([-+]?(?:0|[1-9](?:[.](?=\d{3})|\d)*))/)),([l],P)=>Number['parseInt'](normalizeNumericString(l,P['options']['locale']))),{'type':'number'}),NumericLiteral=Any(DecimalNumberLiteral,IntegerNumberLiteral),NonnegativeRationalNumberLiteral=Node(Mark(All(NonnegativeIntegerNumberLiteral,All('/',NaturalNumberLiteral)),{'type':'number'}),([l,P])=>l/P),RationalNumberLiteral=Node(Mark(All(IntegerNumberLiteral,All('/',NaturalNumberLiteral)),{'type':'number'}),([l,P])=>l/P),CardinalNumberLiteral=Node(Mark(Any(NoBoundary(All(CardinalNumeralTen,Optional(All(Optional(/and|-/i),CardinalNumeralDigit)))),CardinalNumeralTeen,CardinalNumeralDigit),{'type':'number'}),l=>l['reduce']((P,R)=>P+cardinalNumeralToNumber(R),0x0)),OrdinalNumberLiteral$1=Mark(Any(Node(Use(/(\d*(?:(?:[0|4-9]|1\d)th|1st|2nd|3rd))/i),([l])=>Number['parseInt'](l)),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(/and|-/i),OrdinalNumeralDigit)),OrdinalNumeralTen,OrdinalNumeralTeen,OrdinalNumeralDigit),l=>l['reduce']((P,R)=>P+ordinalNumeralToNumber(R),0x0))),{'type':'number'}),FractionalNumberLiteral=Mark(Any(Node(All(Any(Node(Zero,()=>0x0),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(All(Optional(/and|-/i),CardinalNumeralTeen)))),CardinalNumeralTeen,CardinalNumeralDigit),l=>l['reduce']((P,R)=>P+cardinalNumeralToNumber(R),0x0))),Optional('-'),Node(Any(NoBoundary(All(CardinalNumeralTen,Optional(/and|-/i),DenominatorNumeralDigit)),DenominatorNumeralTen,DenominatorNumeralTeen,DenominatorNumeralDigit),l=>l['reduce']((P,R)=>P+denominatorNumeralToNumber(R),0x0))),([l,P])=>l/P),Node(FractionNumeral,([l])=>fractionalNumeralToNumber(l))),{'type':'number'}),QuantitativeNumberLiteral=Any(NonnegativeDecimalNumberLiteral,NonnegativeRationalNumberLiteral,NaturalNumberLiteral,FractionalNumberLiteral,CardinalNumberLiteral);Any(Node(Any(NonnegativeDecimalNumberLiteral,NonnegativeRationalNumberLiteral,FractionalNumberLiteral),([l])=>Math['min'](l,0x1)),Node(NoBoundary(All(NonnegativeIntegerNumberLiteral,'%')),([l])=>Math['min'](l/0x64,0x1)));const IterativeNumberLiteral=Node(IterativeNumeral,([l])=>iterativeNumeralToInteger(l)),MultiplicativeNumberLiteral=Node(MultiplicativeNumeral,([l])=>multiplicativeNumeralToInteger(l)),IntegerNumberExpression=Any(Reference$1('number'),IntegerNumberLiteral,CardinalNumberLiteral),CardinalNumberExpression=Any(Reference$1('number'),NaturalNumberLiteral,CardinalNumberLiteral),IterativeNumberExpression=Any(Reference$1('number'),IterativeNumberLiteral),OrdinalNumberExpression$1=Any(Reference$1('number'),OrdinalNumberLiteral$1),QuantitativeNumberExpression=Any(Reference$1('number'),QuantitativeNumberLiteral),NullLiteral=Node(/null|nil/i,()=>null),TimeUnitLiteral=Any(Node(/milliseconds?|millis|msecs?|ms/i,()=>0x1),Node(/seconds?|secs?|s/i,()=>0x3e8),Node(/minutes?|mins?|m/i,()=>0xea60)),TimeIntervalLiteral=Node(NoBoundary(All(Any(QuantitativeNumberLiteral,Nothing$1(0x1)),Optional(IndefiniteArticle),TimeUnitLiteral)),([l,P])=>l*P),TimeIntervalExpression=Any(Node(NoBoundary(All(Reference$1('number'),Optional(TimeUnitLiteral))),([l,P])=>P?{'operator':'mul','operands':[{'isOperand':!![],'value':l},{'isOperand':!![],'value':P}]}:l),TimeIntervalLiteral),RegExpLiteral=Node(Use(/\/([^/]+)\/([gimsuy]*)/),([l,P])=>{return{'isPattern':!![],'pattern':l,'flags':P};}),NamedPattern=Node(Any(Node(Number$1,()=>'number'),Node(Price$1,()=>'price'),Node(Percentage$1,()=>'percentage'),Node(Date$1,()=>'date'),Node(Time,()=>'time'),Node(Code,()=>'code')),([l])=>{return{'isPattern':!![],'name':l};}),QuotedStringLiteral=Customizable((l={})=>{const P=l['char']??/./,R=Node(Use(new RegExp(String['raw']`"((?:(?:\\["\\nt])|(?:(?!["])${P['source']}))*)"`)),([o])=>normalizeString(o,/["]/)),F=Node(Use(new RegExp(String['raw']`'((?:(?:\\['\\nt])|(?:(?!['])${P['source']}))*)'`)),([o])=>normalizeString(o,/[']/));return Node(Any(Mark(R,{'type':'string','subtype':'double\x20quoted'}),Mark(F,{'type':'string','subtype':'single\x20quoted'})),([o])=>normalizeString(o,/['"]/));}),QuotedInterpolatedStringLiteral=Customizable((l={})=>{const P=l['char']??/./,R=Node(Use(new RegExp(String['raw']`({?(?:(?:\\["{\\nt])|(?:(?!["{])${P['source']}))+|{)`)),([z])=>normalizeString(z,/["]/)),F=Node(Use(new RegExp(String['raw']`({?(?:(?:\\['{\\nt])|(?:(?!['{])${P['source']}))+|{)`)),([z])=>normalizeString(z,/[']/)),o=Use(/(\s+)/);return Raw(Node(Any(Mark(Wrap('\x22',Star(Any(o,Reference$1('string',{'context':'double\x20quoted\x20string\x20chunk'}),R))),{'type':'string','subtype':'double\x20quoted'}),Mark(Wrap('\x27',Star(Any(o,Reference$1('string',{'context':'single\x20quoted\x20string\x20chunk'}),F))),{'type':'string','subtype':'single\x20quoted'})),z=>{z=z['reduce']((K,X)=>{if(typeof X==='string'){if(typeof K['at'](-0x1)==='string')K[K['length']-0x1]+=X;else K['push'](X);}else K['push'](X);return K;},[]);if(z['length']===0x0)return'';else{if(z['length']===0x1&&typeof z[0x0]==='string')return z[0x0];else return{'isInterpolatedString':!![],'chunks':z};}}));}),UnquotedStringLiteral$1=Customizable((l={})=>{const P=l['char']??/[^,\s]/,R=l['escape']??/[]/,F=l['weak'],o=Use(new RegExp('((?:(?![\x27\x22]|'+R['source']+')'+P['source']+')+)'));return Mark(F?NonEmpty(Weak(o)):o,{'type':'string','subtype':'unquoted'});}),UnquotedInterpolatedStringLiteral=Customizable((l={})=>{const P=l['char']??/[^,\s]/,R=l['escape']??/[]/,F=l['weak'],o=Use(new RegExp(String['raw']`({?(?:(?:\\(?:[{\\nt]|${R['source']}))|(?:(?![{]|${R['source']})${P['source']}))+|{)`)),z=Node(Plus(Any(All(Not(/["'\s]/),Reference$1('string',{'context':'unquoted\x20string\x20chunk'})),o)),K=>{K=K['map'](X=>typeof X==='string'?normalizeString(X,R):X);if(K['length']===0x1)return K[0x0];else return{'isInterpolatedString':!![],'chunks':K};});return Raw(Mark(F?NonEmpty(Weak(z)):z,{'type':'string','subtype':'unquoted'}));}),StandaloneInterpolatedStringLiteral=Customizable((l={})=>{const P=l['char']??/./,R=Use(new RegExp(String['raw']`({?(?:(?:\\[{\\nt])|(?:(?![{])${P['source']}))+|{)`));return Raw(Node(Mark(Star(Any(Use(/(\s+)/),Reference$1('string',{'context':'standalone\x20string\x20chunk'}),R)),{'type':'string','subtype':'standalone'}),F=>{F=F['reduce']((o,z)=>{if(typeof z==='string'){z=normalizeString(z);if(typeof o['at'](-0x1)==='string')o[o['length']-0x1]+=z;else o['push'](z);}else o['push'](z);return o;},[]);if(F['length']===0x0)return'';else{if(F['length']===0x1)return F[0x0];else return{'isInterpolatedString':!![],'chunks':F};}}));}),StringLiteral$1=Customizable((l={})=>{return Any(QuotedStringLiteral(l),UnquotedStringLiteral$1(l));}),InterpolatedStringLiteral$1=Customizable((l={})=>{return Any(QuotedInterpolatedStringLiteral(l),UnquotedInterpolatedStringLiteral(l));}),QuotedStringExpression=Customizable((l={})=>{return Any(Reference$1('string'),VerboseReference,QuotedInterpolatedStringLiteral(l));}),UnquotedStringExpression=Customizable((l={})=>{return Any(VerboseReference,UnquotedInterpolatedStringLiteral(l));}),StringExpression$1=Customizable((l={})=>{return LogGroup({'name':'StringExpression','collapsed':![]},Any(VerboseReference,InterpolatedStringLiteral$1(l)));}),StandaloneStringExpression=StandaloneInterpolatedStringLiteral,QuotedJSExpressionLiteral=Lazy(()=>{return Raw(Mark(Node(Any(Wrap('\x22',Star(Any(Reference$1('any'),Use(/(\{?(?:\\["{\\]|[^"{])+)/)))),Wrap('\x27',Star(Any(Reference$1('any'),Use(/(\{?(?:\\['{\\]|[^'{])+)/))))),l=>{return l=l['map'](P=>typeof P==='string'?P['replace'](/\\(["'{\\])/g,'$1'):P),{'isJSExpression':!![],'chunks':l};}),{'type':'js\x20code'}));}),UnquotedJSExpressionLiteral=Customizable((l={})=>{const P=l['char'];return Raw(Mark(Node(P?Star(Any(Reference$1('any'),Use(new RegExp(String['raw']`(\{?(?:\\[{\\]|(?![{])${P['source']})+)`)))):As$1(Anything$1,Star(Any(Reference$1('any'),Use(/(\{?(?:\\[{\\]|[^{])+)/)))),R=>{return R=R['map'](F=>typeof F==='string'?F['replace'](/\\(["'{\\])/g,'$1'):F),{'isJSExpression':!![],'chunks':R};}),{'type':'js\x20code'}));}),JSExpressionLiteral$1=Customizable((l={})=>{return Any(QuotedJSExpressionLiteral,UnquotedJSExpressionLiteral(l));}),StructureLiteral$1=Lazy(()=>Recursive(l=>{const P=Any(Reference$1('string'),Use(/([^:'",\s]+)/),InterpolatedStringLiteral$1),R=Any(Reference$1('any'),l,PrimitiveLiteral({'escape':/[\]]/})),F=Any(Reference$1('any'),l,PrimitiveLiteral({'escape':/[\}]/}));return Any(Node(Mark(Wrap({'left':'[','right':']'},Optional(List(R,','))),{'type':'array'}),o=>({'isStructure':!![],'type':'array','items':o})),Node(Mark(Wrap({'left':'{','right':'}'},Optional(List(Node(All(Mark(P,{'type':'record\x20key'}),':',F),([o,z])=>({'key':o,'value':z})),','))),{'type':'record'}),o=>({'isStructure':!![],'type':'record','items':o})));})),BooleanLiteral=Any(Node(/true/i,()=>!![]),Node(/false/i,()=>![]));Any(Reference$1('boolean'),BooleanLiteral);const PrimitiveLiteral=Customizable((l={})=>{return Any(NullLiteral,BooleanLiteral,RationalNumberLiteral,DecimalNumberLiteral,IntegerNumberLiteral,InterpolatedStringLiteral$1(l));}),AnyExpression$1=Any(Reference$1('any'),VerboseReference,StructureLiteral$1,PrimitiveLiteral),AnyVerboseExpression=Customizable((l={})=>{return Any(Reference$1('any'),VerboseReference,StructureLiteral$1,CardinalNumberLiteral,FractionalNumberLiteral,PrimitiveLiteral(l));}),Url$3=Mark(StringExpression$1,{'type':'secret','regexp':/(?<=^[^:]+:\/\/.+(?:(?=(?<!\\){)|:)).+(?=@.+)/}),ExplicitUrl=Mark(Stringish(Use(/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/)),{'type':'secret','regexp':/(?<=^[^:]+:\/\/.+(?:(?=(?<!\\){)|:)).+(?=@.+)/}),Viewport=Node(All(Optional(The),Viewport$1),()=>({'isViewportDescriptor':!![]})),Dialog=Node(All(Optional(The),BrowserDialog),(l,P)=>{const R={'isDialogDescriptor':!![]};return P['context']['element']=R,R;}),{Apply:Apply$28,Mutate:Mutate$28}=State({'isDialogElementDescriptor':!![]}),ButtonTitle$1=Any(Mutate$28(Stringish(Accept),l=>l['title']='ok'),Mutate$28(Stringish(Dismiss),l=>l['title']='cancel')),TextboxTitle$1=Mutate$28(Stringish(/prompt|answer/i),l=>l['title']='prompt'),DialogButton=Effect(Apply$28(All(Optional(The),Any(All(Optional(Possessive(BrowserDialog)),ButtonTitle$1),All(ButtonTitle$1,Optional(Possessive(BrowserDialog)))),Optional(Button))),([l],P)=>P['context']['element']=l),ExplicitDialogButton=Effect(Apply$28(All(Optional(The),Any(All(Possessive(BrowserDialog),ButtonTitle$1),All(ButtonTitle$1,Possessive(BrowserDialog))),Optional(Button))),([l],P)=>P['context']['element']=l),DialogTextbox=Effect(Apply$28(All(Optional(The),Optional(Possessive(BrowserDialog)),TextboxTitle$1,Optional(Textbox))),([l],P)=>P['context']['element']=l),ExplicitDialogTextbox=Effect(Apply$28(All(Optional(The),Possessive(BrowserDialog),TextboxTitle$1,Optional(Textbox))),([l],P)=>P['context']['element']=l),RelativeAnchor=({Element:l})=>Any(Node(All(Near,Optional(To),l),([P])=>({'position':'near','element':P})),Node(All(RelativePosition,Optional(Of),l),([P,R])=>({'position':P,'element':R}))),AbsoluteAnchor=({Element:l})=>{const P=Any(Viewport,Dialog,l),R=Node(PostCondition(List(l({'anchor':![]}),Inside),F=>F['length']>=0x2&&F['every'](o=>o['type']&&o['type']===F[0x0]['type'])),F=>{return F['reduceRight']((o,z)=>(attachAnchor(z,{'position':'inside','element':o}),z));});return Any(Node(All(Optional(LocationPreposition),AbsolutePosition$1,Optional(All(Any(LocationPreposition,Of),P))),([F,o])=>o?{'position':F,'element':o}:{'position':F}),Node(All(Inside,WeakList(Any(R,P),AndListSeparator)),F=>{const o=F['map'](z=>({'position':'inside','element':z}));return o['length']>0x1?o:o[0x0];}));},Anchor$3=l=>{return LogGroup('Anchor',Mark(Any(RelativeAnchor(l),AbsoluteAnchor(l)),{'type':'anchor'}));},NamedColor=Any(Node(/red/i,()=>'red'),Node(/blue/i,()=>'blue'),Node(/green/i,()=>'green'),Node(/yellow/i,()=>'yellow'),Node(/orange/i,()=>'orange'),Node(/purple/i,()=>'purple'),Node(/pink/i,()=>'pink'),Node(/brown/i,()=>'brown'),Node(/black/i,()=>'black'),Node(/white/i,()=>'white'),Node(/gr[ae]y/i,()=>'gray'),Node(/cyan/i,()=>'cyan'),Node(/magenta/i,()=>'magenta'),Node(/lime/i,()=>'lime'),Node(/navy/i,()=>'navy'),Node(/teal/i,()=>'teal'),Node(/maroon/i,()=>'maroon'),Node(/olive/i,()=>'olive'),Node(/aqua/i,()=>'aqua'),Node(/silver/i,()=>'silver'),Node(/gold/i,()=>'gold'),Node(/indigo/i,()=>'indigo'),Node(/violet/i,()=>'violet'),Node(/crimson/i,()=>'crimson'),Node(/coral/i,()=>'coral'),Node(/salmon/i,()=>'salmon'),Node(/turquoise/i,()=>'turquoise'),Node(/lavender/i,()=>'lavender'),Node(/khaki/i,()=>'khaki'),Node(/tan/i,()=>'tan'),Node(/beige/i,()=>'beige'),Node(/ivory/i,()=>'ivory'),Node(/plum/i,()=>'plum'),Node(/azure/i,()=>'azure'),Node(/mint/i,()=>'mint'),Node(/peach/i,()=>'peach')),EncodedColor=Any(Use(/(rgb\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*\))/i),Use(/(rgba\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d*\.?\d+\s*\))/i),Use(/(cmyk\(\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\))/i),Use(/(hsl\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\))/i),Use(/(#[0-9A-F]{3}(?:[0-9A-F]{3})?)/i)),Color$1=Any(EncodedColor,NamedColor),{Apply:Apply$27,Mutate:Mutate$27,state:state$2}=State({}),Type$3=Void(Mutate$27(Use(/(css|xpath)/i),(l,[P])=>l['type']=P['toLowerCase']())),Value$4=Mutate$27(Node(StringExpression$1,([l],P)=>({'type':state$2(P)['type']??(typeof l==='string'&&['/','(','../','./','*/']['some'](R=>l['startsWith'](R))?'xpath':'css'),'selector':l})),(l,[{type:P,selector:R}])=>{l['type']=P,l['selector']=R;}),ElementSelector=Apply$27(All(Any(All(Type$3,Optional(All(Optional(Any('-',With,By)),Selector$1))),All(Nothing$1(void 0x0),Selector$1)),Mark(Value$4,{'type':'selector','mutate':(l,[P])=>l['subtype']=P['type']}))),NoopElementType=Element$3,AppElementType=Node(Any(WebPage,App$1),()=>'app'),groups={'control':['checkboxgroup','checkbox','radiogroup','radio','textbox','combobox','listbox','option','datepicker','timepicker','datetimepicker','colorpicker','filepicker','slider','inputbox','selectbox','valuebox','button','color'],'structural':['ad','header','footer','popup','tooltip','form','menu','menuitem','hamburger','list','listitem','heading','table','table-cell','table-row','table-head-row','table-column','table-stub-column','table-head-cell','card','pdfpage'],'content':['text','link','label','logo','image','icon','video','paragraph']},definitions=[['tooltip',Tooltip],['button',Button],['radiogroup',RadioGroup],['radio',Radio],['textbox',Textbox],['checkboxgroup',CheckboxGroup],['checkbox',Checkbox],['combobox',Combobox],['listbox',Listbox],['option',Option$1],['colorpicker',ColorPicker],['datepicker',DatePicker],['timepicker',TimePicker],['datetimepicker',DateTimePicker],['filepicker',FilePicker],['slider',Slider],['inputbox',Inputbox],['selectbox',Selectbox],['valuebox',Valuebox],['pdfpage',PdfPage$1],['ad',Ad],['table-head-cell',All(Optional(Table),Header$4,Cell)],['table-cell',All(Optional(Table),Cell)],['table-head-row',All(Optional(Table),Header$4,Row)],['table-row',All(Optional(Table),Row)],['table-stub-column',All(Optional(Table),Stub,Column)],['table-column',All(Optional(Table),Column)],['table',Table],['header',Header$4],['footer',Footer],['popup',Popup],['form',Form$1],['menuitem',MenuItem],['menu',Menu],['listitem',ListItem],['list',List$1],['hamburger',Hamburger],['heading',Heading],['card',Card],['text',Text$1],['link',Link],['logo',Logo],['image',Image],['icon',Icon],['paragraph',Paragraph]],ElementType$1=Customizable((l={})=>{let P;if(l?.['allowed']){const R=new Set(l['allowed']['flatMap'](F=>groups[F]??F));P=definitions['flatMap'](([F,o])=>{if(R['has'](F))return Node(o,()=>F);return[];});}else P=definitions['map'](([F,o])=>Node(o,()=>F));return Any(...P);}),{Apply:Apply$26,Mutate:Mutate$26}=State({}),Type$2=Customizable(l=>{const P=l?.['allowed']?.['filter'](F=>F!=='noop'),R=!P||P['length']<l['allowed']['length'];return Any(Mutate$26(ElementType$1({'allowed':P}),(F,[o])=>F['type']=o),!P||P['includes']('textbox')?Mutate$26(Any(All(Stringish(Use(/(search)/i)),/bar|box/i),Searchbox),(F,[o='search'])=>{F['type']='textbox',F['title']=o;}):Never,R?NoopElementType:Never);}),App=Mutate$26(AppElementType,(l,[P])=>l['type']=P),IndexedPdfPage=Mutate$26(All(Optional(The),Any(All(Index$1(OrdinalNumberExpression$1),Any(PdfPage$1,Page)),All(Any(PdfPage$1,Page),Optional(Any(NumberSign,Number$1)),Index$1(CardinalNumberExpression)))),(l,[P])=>(l['type']='pdfpage',l['nth']=P)),ExplicitColor=Mutate$26(Any(All(Color$2,Any(EncodedColor,StringExpression$1)),All(Any(EncodedColor,StringExpression$1),Color$2)),(l,[P])=>l['color']=P),KnownColor=Mutate$26(Color$1,(l,[P])=>l['color']=P),Colorable=l=>Any(All(l,Any(With,Of),Optional(The),ExplicitColor),All(Optional(KnownColor),l)),Selector=Mutate$26(All(Optional(All(Any(With,By),Optional(The))),ElementSelector),(l,[P])=>l['selector']=P),ElementReference=Mutate$26(Reference$1('any'),(l,[P])=>{l['reference']=P;}),Title$1=Customizable(({weak:l}={})=>Mutate$26(Any(All(Optional(All(Having,Optional(The))),NamedPattern),All(Named,Mark(StringExpression$1,{'type':'text'})),Mark(StringExpression$1({'weak':l}),{'type':'text'})),(P,[R])=>{P['title']=R;if(typeof R==='string'&&isSecretName(R))P['secret']=!![];})),Nth=Mutate$26(Index$1(OrdinalNumberExpression$1),(l,[P])=>l['nth']=P),Last=Mutate$26(Any(Last$1,Bottom),l=>l['orderDirection']='backward'),ExplicitIndex=Mutate$26(All(Any(With,At),Optional(The),Index$2,Optional(NumberSign),IntegerNumberExpression),(l,[P])=>l['nth']=P),SearchOrder=Any(Mutate$26(/from\s+(?:the\s+)?(?:beginning|top)/i,l=>l['orderDirection']='forward'),Mutate$26(/from\s+(?:the\s+)?(?:end|bottom)/i,l=>l['orderDirection']='backward')),ElementAnchor=l=>Mutate$26(Anchor$3({'Element':l}),(P,[R])=>attachAnchor(P,R)),TypeAnchor=Mutate$26(All(Optional(The),Any(Possessive(AppElementType,{'strict':!![]}),Possessive(ElementType$1({'allowed':['structural']}))),Not(Inside)),(l,[P])=>attachAnchor(l,{'position':'inside','element':{'type':P}})),Element$2=Recursive((l,{depth:P})=>{return Customizable(R=>{const F=R?.['explicit']&&P===0x0,o=R?.['anchor']!==![],z=!!R?.['types']&&!R['types']['includes']('noop'),K=Type$2({'allowed':R?.['types']}),X=o?List(ElementAnchor(l(R)),AndListSeparator):Never,D=F?All(The,ElementReference):All(Optional(The),ElementReference),a=All(Optional(The),Any(All(K,Selector),All(Selector,Optional(K)))),G=Any(All(Optional(The),Any(Last,ElementReference),Colorable(K),Optional(X)),All(Optional(The),Optional(Nth),Optional(The),Any(All(Colorable(K),Optional(ExplicitIndex),Any(All(SearchOrder,Optional(Selector)),o?All(Optional(Selector),X):Never,All(Title$1({'weak':!![]}),Optional(Selector),Optional(X)),Optional(Selector))),All(Colorable(All(Title$1,K)),Optional(ExplicitIndex),Optional(Selector),Optional(X))))),m=PostCondition(All(Optional(The),Optional(Any(Nth,Last)),Any(All(Title$1,NonEmpty(All(Optional(ExplicitIndex),Optional(Selector),Optional(X)))),Title$1({'weak':!![]}))),(N,E,H)=>!F||!test(StringExpression$1,E['text']['substring'](H['pos'],E['pos'])));return Effect(LogGroup('ElementDescriptor',Mark(Apply$26(Any(IndexedPdfPage,a,Longest(D,o?All(TypeAnchor,G):Never,Any(G,Article(App),z?Never:m),o&&!z?All(TypeAnchor,m):Never))),{'type':'element\x20descriptor'})),([N],E)=>{if(N['type']!=='app')E['context']['element']=N;const H=N['title']&&typeof N['title']==='object'&&'isRef'in N['title']?N['title']:N['reference']&&'isRef'in N['reference']?N['reference']:void 0x0;if(H){const t=variableNameToElementType(H['name']);t&&(N['hints']=N['hints']??{},N['hints']['type']=[t]);}if(N['nth']!==void 0x0&&!N['title']){if(N['type']==='table-row')N['type']='table-leaf-row';if(N['type']==='table-column')N['type']='table-leaf-column';}if(Array['isArray'](N['anchor'])){function k(i){if(!i)return![];return(Array['isArray'](i)?i:[i])['some'](q=>['table-column','table-row','table-leaf-column','table-leaf-row','table-stub-column','table-head-row']['includes'](q));}const O=N['anchor']['filter'](i=>i['position']==='inside'&&i['element']&&!('isViewportDescriptor'in i['element'])&&!('isDialogDescriptor'in i['element'])&&k(i['element']['type']));if(O['length']>0x0){const i=O[O['length']-0x1];function q(B){if(B['type']==='table')return{'position':'inside','element':B};if(B['anchor']&&!Array['isArray'](B['anchor'])&&B['anchor']['position']==='inside'&&B['anchor']['element']&&!('isViewportDescriptor'in B['anchor']['element'])&&!('isDialogDescriptor'in B['anchor']['element']))return q(B['anchor']['element']);}const T=q(i['element']);if(T){const B=N['anchor']['indexOf'](i);N['anchor']=N['anchor']['map']((c,n)=>{if(n===B||!O['includes'](c))return c;if(q(c['element']))return c;const C=structuredClone(c);return attachAnchorAtDeepest(C['element'],T),C;});}}}});});}),ExplicitElement=Lazy(()=>Element$2({'explicit':!![]})),StringElement=Apply$26(Title$1),PageElement=Apply$26(All(Optional(The),App)),ImplicitElement=PreCondition(l=>l['context']['has']('element'),Mark(Node(It,(l,P)=>P['context']['element']),{'type':'implicit\x20element\x20descriptor','mutate':(l,[P])=>l['element']=P})),ElementValueExtractor=Customizable(({Element:Element=Element$2}={})=>{const l=Any(Node(All(Optional(Any(Node(Mark(Background,{'type':'color-type','subtype':'background'}),()=>'background-color'),Node(Mark(Any(Foreground,Text$1),{'type':'color-type','subtype':'foreground'}),()=>'foreground-color'))),Color$2),([P])=>P??'color'),Node(Value$5,()=>'any'),Node(String$1,()=>'string'));return Mark(Node(Any(Node(All(Optional(The),l,Any(All(Any(Of,From,LocationPreposition),Element),Node(Anchor$3({'Element':Element}),([P])=>({'anchor':P})))),([P,R])=>({'operator':'extract','operands':[{'isOperand':!![],'value':R},P]})),Node(All(ExplicitElement,l),([P,R])=>({'operator':'extract','operands':[{'isOperand':!![],'value':P},R]})),Node(PostCondition(Element,([P])=>!!(P['type']==='text'&&!(P['nth']||P['title'])&&P['anchor']&&(!Array['isArray'](P['anchor'])||P['anchor']['length']===0x1))),([P])=>{return{'operator':'extract','operands':[{'isOperand':!![],'value':(Array['isArray'](P['anchor'])?P['anchor'][0x0]:P['anchor'])['element']},'string']};})),([P],R)=>{return R['collections']['extractors']['push'](P),P;}),{'type':'extractor'});}),IsWrapperOperator=l=>{return Node(All(Any(Node(/not|isn't|is\s+not|doesn't|does\s+not|(?:can't|can\s+not)(\s+be)?|(?:have|has)(?:n't|\s+not)\s+been/i,()=>![]),Node(/is|does|be|(?:to|can)(?:\s+be)?|(?:have|has)\s+been/i,()=>!![]),Nothing$1(!![])),l),([P,R])=>{return P?R:(...F)=>not(R(...F));});},IgnoreCase=Node(/case[\s-]?insensitive|(?:ignor(?:e|ing))\s+(?:cas(?:e|ing))/i,()=>ignoreCase),MatchCase=Node(/case[\s-]?sensitive|(?:match(?:ing)?|respect(?:ing)?)\s+(?:cas(?:e|ing))/i,()=>matchCase),ParensOperator=l=>{return Node(Wrap({'left':'(','right':')'},l),([P])=>parens(P));},BooleanOperator=Any(Node(/(?:,\s+)?(?:and|but)|,/i,()=>and),Node(/(?:,\s+)?or/i,()=>or)),IsOperator=Any(Node(/not|isn't|is\s+not|doesn't|does\s+not|does/,()=>(l,P)=>not(eq$1(l,P))),Node(/is|does/,()=>eq$1)),ComparisonOperator=Any(Node(/==?=?|equals?(?:\s+to)?|the\s+same\s+as|eq/i,()=>eq$1),Node(/!==?|different\s+(?:from|than)/i,()=>(l,P)=>not(eq$1(l,P))),Node(/>=|(?:greater|bigger|larger|more)\s+or\s+equals?\s(?:to|than)|gte/i,()=>gte$1),Node(/>|(?:greater|bigger|larger|more)\s+than|gt/i,()=>gt$1),Node(/<=|(?:lower|smaller|less)\s+or\s+equals?\s(?:to|than)|lte/i,()=>lte$1),Node(/<|(?:lower|smaller|less)\s+than|lt/i,()=>lt$1)),ValidateOperator=Node(Any(Node(Use(/(lower|upper|camel|pascal|snake|kebab)[\s-]?case/i),([l])=>l['toLowerCase']()+'case'),Node(/capitalized/i,()=>'capitalized'),Node(/(?:numeric|a\s+number)/i,()=>'numeric'),Node(/alpha-?numeric/i,()=>'alphanumeric')),([l])=>{return P=>validate$1(P,l);}),MatchOperator=Node(All(Optional(/match(?:es)?(?:(?:\s+the)?\s+(?:regexp?|rex|pattern|regular(?:-|\s+)expression))?/i),RegExpLiteral),([l])=>{return P=>match$1(P,l);}),SizeValidationOperator=Any(Node(/empty/i,()=>{return l=>eq$1({'isOperand':!![],'value':size(l)},{'isOperand':!![],'value':0x0});}),Node(/nonempty/i,()=>{return l=>gt$1({'isOperand':!![],'value':size(l)},{'isOperand':!![],'value':0x0});}),Node(All(/includes?|contains?|have|has/i,CardinalNumberExpression,Any(CollectionItems,CollectionPairs,CollectionValues,CollectionKeys)),([l])=>{return P=>gte$1({'isOperand':!![],'value':size(P)},{'isOperand':!![],'value':l});})),IncludesOnlyOperator=Node(All(/includes?|contains?|have|has/i,Only,Any(Node(All(Optional(The),CollectionValues),()=>values),Node(All(Optional(The),Any(All(CollectionKeys,Optional(/named|names?/i)),All(Any(CollectionItems,CollectionPairs),/named|names?/i))),()=>keys),Node(Optional(All(Optional(The),CollectionItems)),()=>entries))),([l])=>{return(P,R)=>includesOnly$1({'isOperand':!![],'value':l(P)},R);}),IncludesOperator=Node(All(/includes?|contains?|have|has/i,Any(Node(All(Optional(The),CollectionValues),()=>values),Node(All(Optional(The),Any(All(CollectionKeys,Optional(/named|names?/i)),All(Any(CollectionItems,CollectionPairs),/named|names?/i))),()=>keys),Node(Optional(All(Optional(The),CollectionItems)),()=>entries))),([l])=>{return(P,R)=>includes$1({'isOperand':!![],'value':l(P)},R);}),StartsWithOperator=Node(/starts?\s+with/i,()=>startsWith$1),EndsWithOperator=Node(/ends?\s+with/i,()=>endsWith$1),VisibleOperator=Node(All(/visible|shown|shows?(?:\s+up)?|appears?|apparent|displayed/i,Optional(Anchor$3({'Element':Element$2}))),([l])=>{if(l)return P=>{const R=P['value'];return visible$1({'isOperand':!![],'value':{...R,'anchor':R['anchor']?[R['anchor'],l]['flat']():l}});};else return visible$1;}),InvisibleOperator=Node(All(/invisible|hidden|disappear/i,Optional(Anchor$3({'Element':Element$2}))),()=>l=>not(visible$1(l))),ClickableOperator=Node(/clickable|clicked/i,()=>clickable$1),EnabledOperator=Node(/enabled/i,()=>enabled$1),DisabledOperator=Node(/disabled/i,()=>l=>not(enabled$1(l))),CheckedOperator=Node(/checked|ticked/i,()=>l=>checked$1(l,!![])),UncheckedOperator=Node(/unchecked|unselected|unticked/i,()=>l=>checked$1(l,![])),PopulatedOperator=Node(/populated|entered|set|filled(?:\s+in)?|(?:have|has)(?:\s+an?)?\s+value|holds?\s+input/i,()=>l=>populated$1(l)),NotPopulatedOperator=Node(Any(/unfilled/i,/unset/i,/blank/i),()=>l=>not(populated$1(l))),HoveredOperator=Node(Any(/hovered/i,All(/has\s+hover/i,CSSPseudoClass,/applied|active/i),All(Optional(ConditionPreposition),/hover(?:\s+state)?/i)),()=>hovered$1),HoveredReversedOperator=All(/hover/i,CSSPseudoClass,IsWrapperOperator(Node(/applied|active/i,()=>hovered$1)),LocationPreposition),SelectedOperator=Node(All(/selected/i,StoragePreposition),()=>eq$1),UnaryOperator=IsWrapperOperator(Any(Node(All(/between/i,CardinalNumberExpression,And,CardinalNumberExpression),([l,P])=>{return R=>and(gte$1(R,{'isOperand':!![],'value':l}),lte$1(R,{'isOperand':!![],'value':P}));}),MatchOperator,ValidateOperator,SizeValidationOperator)),BinaryOperator=Any(IsWrapperOperator(Any(ComparisonOperator,IncludesOnlyOperator,IncludesOperator,StartsWithOperator,EndsWithOperator)),IsOperator),ElementUnaryOperator=IsWrapperOperator(Any(VisibleOperator,InvisibleOperator,CheckedOperator,UncheckedOperator,ClickableOperator,EnabledOperator,DisabledOperator,HoveredOperator,PopulatedOperator,NotPopulatedOperator)),ElementReversedUnaryOperator=Any(HoveredReversedOperator),ElementBinaryOperator=IsWrapperOperator(Any(SelectedOperator)),OperationExpression=Any(PreCondition(l=>l['context']['has']('element'),Node(All(Its,Optional(/text|value/i),Length),(l,P)=>size({'isOperand':!![],'value':P['context']['element']}))),Node(All(Optional(The),Length,Of,Any(ElementValueExtractor,Reference$1('any'),VerboseReference,StructureLiteral$1,Element$2)),([l])=>size({'isOperand':!![],'value':l})),Node(All(Element$2({'explicit':!![]}),Optional(/text|value/i),Length),([l])=>size({'isOperand':!![],'value':l}))),ConditionOperation=Recursive(l=>{const {Masker:P,Maskable:R,mask:F}=Mask(),o=Effect(Use(Secret),(O,i)=>F(i)),z=O=>{return LogGroup('Operand',Node(Mark(R(O),{'type':'operand'}),([i],q)=>{const T={'isOperand':!![],'value':i};return q['collections']['operands']['push'](T),T;}));},K=z(AnyVerboseExpression({'weak':!![]})),X=z(VerboseReference),D=z(Effect(ElementValueExtractor,([O],i)=>O['operands'][0x0]['value']['secret']&&F(i))),a=z(Effect(Element$2({'explicit':!![]}),([O],i)=>O['secret']&&F(i))),G=Any(z(OperationExpression),All(Optional(o),D),X,a,All(Optional(o),K)),m=z(Any(Effect(Element$2,([O],i)=>O['secret']&&F(i)),Dialog)),N=Node(All(G,Optional(Any(IgnoreCase,MatchCase))),([O,i])=>{return{'operand':O,'wrapper':i};}),E=Any(Node(UnaryOperator,([O])=>({'operator':O})),Node(All(BinaryOperator,G,Optional(Any(IgnoreCase,MatchCase))),([O,i,q])=>{return{'operator':T=>q?.(O(T,i))??O(T,i)};})),H=Node(l,([O])=>{return{'operation':O};}),t=Node(All(Any(All(m,ElementUnaryOperator),All(G,UnaryOperator)),Any(IgnoreCase,MatchCase,Nothing$1(O=>O)),Star(Node(All(BooleanOperator,Any(H,E)),([O,i])=>{return{'connector':O,'addition':i};}))),([O,i,q,...T])=>{return T['reduce']((B,{connector:c,addition:n})=>{return c(B,'operator'in n?n['operator'](O):n['operation']);},q(i(O)));}),k=Any(Node(All(All(ElementReversedUnaryOperator,m),Star(Node(All(BooleanOperator,H),([O,i])=>{return{'connector':O,'addition':i};}))),([O,i,...q])=>{return q['reduce']((T,{connector:B,addition:c})=>{return B(T,c['operation']);},O(i));}),t,Node(All(Any(All(m,ElementBinaryOperator),All(G,BinaryOperator)),G,Any(IgnoreCase,MatchCase,Nothing$1(O=>O)),Star(Any(Node(All(BooleanOperator,Any(H,E)),([O,i])=>{return{'connector':O,'addition':i};}),NonEmpty(Weak(Node(All(BooleanOperator,N),([O,i])=>{return{'connector':O,'addition':i};})))))),([O,i,q,T,...B])=>{return B['reduce']((c,{connector:n,addition:C})=>{if('operand'in C){if(c['operator']==='includes\x20only')return c['operands']['push'](C['operand']),c;else return n(c,i(O,C['operand']));}else{if('operator'in C)return n(c,C['operator'](O));else return n(c,C['operation']);}},T(i(O,q)));}));return Node(Mark(P(All(Any(ParensOperator(k),k),Star(Node(All(BooleanOperator,Any(ParensOperator(k),k)),([O,i])=>{return q=>O(q,i);})))),{'type':'operation'}),([O,...i])=>{return i['reduce']((q,T)=>T(q),O);});}),Condition$1=Node(ConditionOperation,([l])=>({'isCondition':!![],'operation':l})),NegativeCondition=Node(ConditionOperation,([l])=>({'isCondition':!![],'operation':not(l)}));function parens(l){return{'operator':'parens','operands':[l]};}function ignoreCase(l){return{'operator':'ignore\x20case','operands':[l]};}function matchCase(l){return{'operator':'match\x20case','operands':[l]};}function not(l){return{'operator':'not','operands':[l]};}function and(l,P){return{'operator':'and','operands':[l,P]};}function or(l,P){return{'operator':'or','operands':[l,P]};}function eq$1(l,P){return{'operator':'eq','operands':[l,P]};}function gte$1(l,P){return{'operator':'gte','operands':[l,P]};}function gt$1(l,P){return{'operator':'gt','operands':[l,P]};}function lte$1(l,P){return{'operator':'lte','operands':[l,P]};}function lt$1(l,P){return{'operator':'lt','operands':[l,P]};}function validate$1(l,P){return{'operator':'validate','operands':[l,P]};}function size(l){return{'operator':'size','operands':[l]};}function keys(l){return{'operator':'keys','operands':[l]};}function values(l){return{'operator':'values','operands':[l]};}function entries(l){return{'operator':'entries','operands':[l]};}function match$1(l,P){return{'operator':'match','operands':[l,P]};}function includesOnly$1(l,P,...R){return{'operator':'includes\x20only','operands':[l,P,...R]};}function includes$1(l,P){return{'operator':'includes','operands':[l,P]};}function startsWith$1(l,P){return{'operator':'starts\x20with','operands':[l,P]};}function endsWith$1(l,P){return{'operator':'ends\x20with','operands':[l,P]};}function visible$1(l){return{'operator':'visible','operands':[l]};}function clickable$1(l){return{'operator':'clickable','operands':[l]};}function enabled$1(l){return{'operator':'enabled','operands':[l]};}function hovered$1(l){return{'operator':'hovered','operands':[l]};}function checked$1(l,P){return{'operator':'checked','operands':[l,P]};}function populated$1(l){return{'operator':'populated','operands':[l]};}const {Apply:Apply$25,Mutate:Mutate$25}=State({'isChromeElementDescriptor':!![]}),ButtonTitle=Any(Mutate$25(Stringish(/(?:click\s+to\s+)?(?:go\s+)?(?:back|(?:to\s+)?(?:the\s+)?prev(?:ious)?(?:\s+page)?)|<-|</i),l=>l['title']='back'),Mutate$25(Stringish(/(?:click\s+to\s+)?(?:go\s+)?(?:fwd|forward|(?:to\s+)?(?:the\s+)?next(?:\s+page)?)|->|>/i),l=>l['title']='forward'),Mutate$25(Stringish(/(?:reload|refresh)(?:\s+(?:(?:(?:(?:this|the)\s+)?page)|this))?/i),l=>l['title']='refresh')),TextboxTitle=Mutate$25(Stringish(/search|address|url/i),l=>l['title']='url'),ChromeButton=Apply$25(All(Optional(The),Optional(BrowserToolbar),ButtonTitle,Optional(Button))),ExplicitChromeButton=Apply$25(All(Optional(The),BrowserToolbar,ButtonTitle,Optional(Button))),ChromeTextbox=Apply$25(All(Optional(The),Optional(BrowserToolbar),TextboxTitle,Optional(Textbox))),ExplicitChromeTextbox=Apply$25(All(Optional(The),BrowserToolbar,TextboxTitle,Optional(Textbox))),OTPLiteral=Node(All(Mark(All(Optional(IndefiniteArticle),Optional(Generated),OTP$1),{'type':'otp'}),For,Optional(The),Optional(User),Mark(StringExpression$1,{'type':'user'})),([l])=>({'isOTP':!![],'user':l})),FileHandleLiteral=Node(Mark(StringLiteral$1,{'type':'file'}),([l],P)=>{const R={'isFileHandle':!![],'filename':l};return P['collections']['files']['push'](R),R;}),Description$1=As$1(Anything$1,StandaloneStringExpression),RandomValueLiteral=Node(Mark(All(Optional(IndefiniteArticle),Optional(Random),Description$1),{'type':'random\x20value'}),([l],P)=>{const R={'isRandomValue':!![],'description':l};return P['collections']['randomValues']['push'](R),R;}),GrabAction=Mark(/grab/i,{'type':'actionword'}),Clip=l=>Effect(l,([P],R)=>{if(typeof P==='object'&&P&&'isRef'in P)R['context']['reference']=P;R['context']['clipboard']=P;}),Grab=LogGroup('Grab',Void(All(GrabAction,Any(Clip(ElementValueExtractor),Longest(Clip(AnyExpression$1),ExplicitElement))))),{Apply:Apply$24,Mutate:Mutate$24}=State({'type':'set\x20variable','data':{'value':null},'names':[]}),SetVariableAction=Mark(/set|assign|define/i,{'type':'actionword'}),StoreValueAction=Mark(/set|assign|remember|memorize|store|save/i,{'type':'actionword'}),{Masker,Maskable,mask}=Mask(),SetOperator='=',Name=l=>Mutate$24(Effect(Mark(l,{'type':'variable\x20name'}),([P],R,F)=>{if(isReservedName(P))R['collections']['errors']['push']({'type':'ReservedVariableNameError','pos':F['pos'],'text':R['text']['slice'](F['pos'],R['pos']),'message':P+'\x20is\x20a\x20reserved\x20variable\x20which\x20cannot\x20be\x20set'});else{if(isSecretName(P))mask(R);}}),(P,[R])=>{const F={'name':R};if(isSecretName(R))F['secret']=!![];P['names']['push'](F);}),NamesList=l=>Mutate$24(List(l,AndListSeparator),(P,R)=>{if(R['length']>0x1)P['destruction']=!![];}),StringishName=Name(Any(Quoted$1(MultiWordIdentifier),Identifier$1,Fix(Wrap({'left':'{','right':'}'},MultiWordIdentifier),(l,[P])=>'\x22'+P+'\x22'))),StandaloneName=Name(Any(Identifier$1,Fix(Wrap({'left':'{','right':'}'},Identifier$1),(l,[P])=>P))),Value$2=l=>Mutate$24(Mark(Maskable(l),{'type':'variable\x20value'}),(P,[R])=>P['data']['value']=R),DataValue=Value$2(AnyExpression$1),ExtractorValue=Value$2(Any(ElementValueExtractor,Node(Element$2({'explicit':!![]}),([l])=>({'operator':'extract','operands':[{'isOperand':!![],'value':l},'string']})))),OTPValue$1=Mutate$24(Value$2(OTPLiteral),l=>l['data']['secret']=!![]),ClipboardValue$1=Value$2(Mark(Any(PreCondition(l=>l['context']['has']('clipboard'),Node(Any(It,Them),(l,P)=>P['context']['clipboard'])),PreCondition(l=>l['context']['has']('element'),Node(Any(It,All(Its,Value$5)),(l,P)=>({'operator':'extract','operands':[{'isOperand':!![],'value':P['context']['element']},'string']})))),{'type':'reference'})),SomeValue=Any(OTPValue$1,Value$2(OperationExpression),ExtractorValue,ClipboardValue$1,DataValue),AnyValue=Any(Mutate$24(Effect(Any(All(Article(Secret),SomeValue),All(SomeValue,Article(Secret))),(l,P)=>mask(P)),(l,P)=>l['data']['secret']=!![]),SomeValue),SetVariable=LogGroup('SetVariable',Effect(Apply$24(Masker(Any(All(StoreValueAction,AnyValue,As,Article(Value$5),Of,Optional(Article(Variables)),NamesList(StringishName)),All(StoreValueAction,AnyValue,StoragePreposition,Optional(The),Variables,NamesList(StringishName)),All(SetVariableAction,Optional(Article(Variables)),NamesList(StringishName),Any(AssignmentPreposition,SetOperator),Optional(Article(Value$5)),AnyValue),All(StoreValueAction,AnyValue,StoragePreposition,NamesList(StringishName)),All(NamesList(StandaloneName),SetOperator,AnyValue)))),([l],P)=>{if(l['destruction']&&l['data']['value']&&typeof l['data']['value']==='object'&&'isRef'in l['data']['value']&&l['data']['value']['name']==='random\x20value'&&l['data']['value']['scope']==='internal'){const R=P['collections']['randomValues']['at'](-0x1);R['properties']=l['names']['map'](({name:F})=>F);}if(l['destruction'])P['collections']['variables']['push'](...l['names']['map'](({name:F})=>({'name':F})));else P['collections']['variables']['push'](...l['names']['map'](({name:F})=>({'name':F,'value':l['data']['value']})));})),{Apply:Apply$23,Mutate:Mutate$23}=State({'type':'set\x20variable','data':{},'scope':'internal'}),SetTimeoutAction=Mark(/set|assign|define/i,{'type':'actionword'}),ImplicitlyWaitAction=Mark(/(?:implicitly)?\s+wait|wait\s+(?:implicitly)?/i,{'type':'actionword'}),TimeoutName=Any(Mutate$23(/(?:(?:browser|url)\s+)?nav(?:igation)?s?/i,l=>l['names']=[{'name':'navigateTimeout'}]),Mutate$23(/elements?(?:\s+(?:finding|locating))?|(?:finding|locating)\s+elements?/i,l=>l['names']=[{'name':'findTimeout'}]),Mutate$23(/(?:(?:taking|capturing)\s+)?(?:screenshots?|screen\s+captures?)/i,l=>l['names']=[{'name':'screenshotTimeout'}]),Mutate$23(/(?:(?:taking|capturing)\s+)?preview\s+(?:screenshots?|screen\s+captures?)/i,l=>l['names']=[{'name':'previewTimeout'}])),TimeoutDefaultName=Mutate$23(Nothing$1,l=>l['names']=[{'name':'timeout'}]),Value$1=Mutate$23(TimeIntervalExpression,(l,[P])=>l['data']['value']=P),SetTimeout=LogGroup('SetTimeout',Apply$23(Any(All(SetTimeoutAction,Optional(The),Optional(Implicit),Wait$1,Optional(Time),TemporalPreposition,TimeoutName,Optional(EquivalencePreposition),Value$1),All(SetTimeoutAction,Optional(The),Optional(Implicit),Any(TimeoutName,TimeoutDefaultName),Wait$1,Optional(Time),Optional(EquivalencePreposition),Value$1),All(ImplicitlyWaitAction,Maximum,Value$1,TemporalPreposition,TimeoutName),All(ImplicitlyWaitAction,Any(All(TemporalPreposition,TimeoutName),TimeoutDefaultName),Maximum,Value$1)))),{Apply:Apply$22,Mutate:Mutate$22,state:state$1}=State({'type':'set\x20value'}),SetValueAction=Mark(/set/i,{'type':'actionword'}),SelectValueAction=Mutate$22(Mark(/select|pick|choose/i,{'type':'actionword'}),l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'selectbox'}})),RandomlySelectAction=Mutate$22(Mark(/randomly\s+(?:select|pick|choose)/i,{'type':'actionword'}),l=>{l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'selectbox'}}),l['value']={'isRandomValue':!![],'type':'number'};}),AttachAction=Mutate$22(Any(Mark(/attach|upload/i,{'type':'actionword'}),All(Mark(/add|import/i,{'type':'actionword'}),File)),l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'filepicker'}})),StringValue$1=Mutate$22(StringExpression$1,(l,[P])=>l['value']=P),StringReferenceValue=Mutate$22(Reference$1('string'),(l,[P])=>l['value']=P),FileHandleValue=Mutate$22(FileHandleLiteral,(l,[P])=>l['value']=P),OrdinalIndex$1=Mutate$22(Index$1(OrdinalNumberExpression$1),(l,[P])=>l['value']=P),CardinalIndex=Mutate$22(All(Optional(NumberSign),Index$1(CardinalNumberExpression)),(l,[P])=>l['value']=P),RandomIndex=Mutate$22(Random,l=>l['value']={'isRandomValue':!![],'type':'number'}),SelectboxHint=Mutate$22(SelectboxOption,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'selectbox'}})),FileHint=Mutate$22(File,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'filepicker'}})),Hint=Any(Mutate$22(Color$2,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'colorpicker'}})),Mutate$22(DateTime,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'datetimepicker'}})),Mutate$22(Date$1,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'datepicker'}})),Mutate$22(Time,l=>l['element']=mergeElementDescriptors(l['element']??{},{'hints':{'type':'timepicker'}}))),InputElement=Mutate$22(Element$2,(l,[P])=>l['element']=mergeElementDescriptors(l['element']??{},P)),StringInput=Mutate$22(StringElement,(l,[P])=>l['element']=mergeElementDescriptors(l['element']??{},P)),SetValue=LogGroup('SetValue',Apply$22(Any(All(SetValueAction,InputElement,Value$5,Optional(AssignmentPreposition),StringValue$1),All(Any(SetValueAction,SelectValueAction),Any(All(Article(Any(All(StringReferenceValue,Optional(RelationalPreposition)),OrdinalIndex$1,RandomIndex)),Any(All(SelectboxHint,Optional(RelationalPreposition),InputElement),All(StringInput,SelectboxHint),All(InputElement,Optional(SelectboxHint)))),All(Article(Any(All(Hint,StringValue$1),All(FileHint,Optional(Named),FileHandleValue),All(FileHandleValue,FileHint),All(SelectboxHint,Any(CardinalIndex,StringValue$1)),All(CardinalIndex,SelectboxHint),All(StringValue$1,Any(Hint,SelectboxHint)))),Dynamic(l=>{const P=All(Optional(Any(StoragePreposition,RelationalPreposition)),InputElement);return state$1(l)['element']?Optional(P):P;})),All(StringValue$1,Any(StoragePreposition,RelationalPreposition),InputElement))),All(RandomlySelectAction,Any(All(Optional(All(Optional(IndefiniteArticle),SelectboxHint)),Optional(RelationalPreposition),InputElement),All(Optional(RelationalPreposition),InputElement,Optional(SelectboxHint)))),All(AttachAction,Article(Any(All(FileHint,Optional(Named),FileHandleValue),All(FileHandleValue,Optional(FileHint)))),Optional(All(Optional(Any(StoragePreposition,RelationalPreposition)),InputElement)))))),{Apply:Apply$21,Mutate:Mutate$21}=State({'type':'set\x20variable','data':{},'scope':'internal'}),GenerateAction=Mark(/generate/i,{'type':'actionword'}),RandomlyGenerateAction=Mark(/randomly\s+generate/i,{'type':'actionword'}),OTP=Mutate$21(OTPLiteral,(l,[P])=>{l['names']=[{'name':'otp'}],l['data']['value']=P,l['data']['secret']=!![];}),RandomValue=Mutate$21(RandomValueLiteral,(l,[P])=>{l['names']=[{'name':'random\x20value'}],l['data']['value']=P;}),Generate=LogGroup('Generate',Effect(Apply$21(Any(All(GenerateAction,Any(OTP,RandomValue)),All(RandomlyGenerateAction,RandomValue))),([l],P)=>P['context']['clipboard']={'isRef':!![],'name':l['names']?.[0x0]?.['name'],'scope':l['scope']})),Assert=LogGroup('Assert',Node(All(Mark(/assert|check|validate|verify|make\s+sure/i,{'type':'actionword'}),Optional(That),Condition$1),([l])=>({'type':'assert','condition':l}))),{Apply:Apply$20,Mutate:Mutate$20}=State({'type':'fetch'}),FetchAction$1=Mark(/send/i,{'type':'actionword'}),Url$2=Mutate$20(Mark(Url$3,{'type':'fetch\x20url'}),(l,[P])=>l['url']=P),Endpoint=All(Optional(Any(From,To)),Optional(The),Optional(Endpoint$1),Url$2),ExplicitEndpoint=All(Any(All(Any(From,To),Optional(The),Optional(Endpoint$1)),All(Optional(Any(From,To)),The,Optional(Endpoint$1)),All(Optional(Any(From,To)),Optional(The),Endpoint$1)),Url$2),Method$2=Mark(Mutate$20(Use(/(get|post|put|patch|head|options|trace|delete|connect)/i),(l,[P])=>l['method']=P['toLowerCase']()),{'type':'fetch\x20option','subtype':'method'}),Auth$1=Mutate$20(State({'type':'basic'},({Mutate:l})=>{const P=l(Mark(StringExpression$1({'escape':/[:]/}),{'type':'username'}),(X,[D])=>X['username']=D),R=l(Mark(UnquotedStringExpression({'char':/./,'escape':/[":]/}),{'type':'username'}),(X,[D])=>X['username']=D),F=l(Mark(UnquotedStringExpression({'char':/./,'escape':/[':]/}),{'type':'username'}),(X,[D])=>X['username']=D),o=l(Mark(Mark(StringExpression$1,{'type':'password'}),{'type':'secret'}),(X,[D])=>X['password']=D),z=l(Mark(Mark(UnquotedStringExpression({'char':/./,'escape':/[":]/}),{'type':'password'}),{'type':'secret'}),(X,[D])=>X['password']=D),K=l(Mark(Mark(UnquotedStringExpression({'char':/./,'escape':/[':]/}),{'type':'password'}),{'type':'secret'}),(X,[D])=>X['password']=D);return Mark(All(Optional(Any(As,With)),Optional(The),Mark(Any(User,BasicAuth$1),{'type':'auth\x20type'}),Any(All(P,':',o),DoubleQuoted$1(All(R,':',z)),SingleQuoted$1(All(F,':',K)))),{'type':'fetch\x20option','subtype':'auth'});}),(l,[P])=>l['auth']=P),Cookie$1=Mutate$20(State({'secret':![]},({Mutate:l,state:P})=>{const R=l(Article(Secret),G=>G['secret']=!![]),F=l(Mark(StringExpression$1({'escape':/[=]/}),{'type':'cookie\x20name'}),(G,[m])=>G['name']=m),o=l(Mark(UnquotedStringExpression({'char':/./,'escape':/["=]/}),{'type':'cookie\x20name'}),(G,[m])=>G['name']=m),z=l(Mark(UnquotedStringExpression({'char':/./,'escape':/['=]/}),{'type':'cookie\x20name'}),(G,[m])=>G['name']=m),K=l(Mark(StringExpression$1,{'type':'cookie\x20value'}),(G,[m])=>G['value']=m),X=l(Mark(UnquotedStringExpression({'char':/./,'escape':/["]/}),{'type':'cookie\x20value'}),(G,[m])=>G['value']=m),D=l(Mark(UnquotedStringExpression({'char':/./,'escape':/[']/}),{'type':'cookie\x20value'}),(G,[m])=>G['value']=m),a=G=>Dynamic(m=>P(m)['secret']?Mark(G,{'type':'secret'}):G);return Mark(All(Optional(With),Optional(The),Optional(R),HttpCookie,Any(All(Optional(Any(Named,Name$1)),F,And,Optional(AssociationPreposition),Optional(HttpCookie),Optional(R),Value$5,a(K)),All(F,'=',a(K)),DoubleQuoted$1(All(o,'=',a(X))),SingleQuoted$1(All(z,'=',a(D))))),{'type':'fetch\x20option','subtype':'cookie'});}),(l,[P])=>(l['cookies']??=[])['push'](P)),Headers$1=List(Any(Auth$1,Mutate$20(State({'secret':![]},({Mutate:l,state:P})=>{const R=l(Article(Secret),D=>D['secret']=!![]),F=l(Mark(StringExpression$1({'escape':/[:]/}),{'type':'header\x20name'}),(D,[a])=>D['name']=a),o=l(Mark(StringExpression$1,{'type':'header\x20value'}),(D,[a])=>D['value']=a),z=l(Mark(UnquotedStringExpression({'char':/./,'escape':/["]/}),{'type':'header\x20value'}),(D,[a])=>D['value']=a),K=l(Mark(UnquotedStringExpression({'char':/./,'escape':/[']/}),{'type':'header\x20value'}),(D,[a])=>D['value']=a),X=D=>Dynamic(a=>P(a)['secret']?Mark(D,{'type':'secret'}):D);return Mark(All(Optional(With),Optional(The),Optional(R),HttpHeader,Any(All(Optional(Any(Named,Name$1)),F,And,Optional(AssociationPreposition),Optional(HttpHeader),Optional(R),Value$5,X(o)),All(F,':',X(o)),DoubleQuoted$1(All(F,':',X(z))),SingleQuoted$1(All(F,':',X(K))))),{'type':'fetch\x20option','subtype':'header'});}),(l,[P])=>(l['headers']??=[])['push'](P)),Cookie$1),Optional(AndListSeparator)),BodyType=Mark(Mutate$20(Use(/(json|xml|base64)/i),(l,[P])=>(l['body']??={'data':null})['type']=P['toLowerCase']()),{'type':'body\x20type'}),BodyData=Mark(Mutate$20(AnyExpression$1,(l,[P])=>(l['body']??={'data':null})['data']=P),{'type':'body\x20data'}),Body$2=Mark(All(Optional(With),Optional(BodyType),Optional(HttpBody),BodyData),{'type':'fetch\x20option','subtype':'body'}),StatusCodes$1=Mark(Mutate$20(Any(/any/i,List(Use(/([1-5]\d\d)/),Optional(OrListSeparator))),(l,P)=>l['statuses']=P['length']>0x0?P['map'](R=>Number['parseInt'](R)):'*'),{'type':'status\x20codes'}),Statuses$1=Mark(All(Optional(AndListSeparator),Any(Expect,Expecting),Any(All(Optional(The),HttpStatusCodes,Optional(':'),StatusCodes$1),All(StatusCodes$1,HttpStatusCodes))),{'type':'fetch\x20option','subtype':'statuses'}),Fetch=LogGroup('Fetch',Effect(Apply$20(All(Any(All(FetchAction$1,Method$2,Optional(Http)),All(FetchAction$1,Optional(IndefiniteArticle),Optional(Http),Optional(Method$2)),All(Optional(Http),Method$2)),Optional(Request$1),Any(All(Any(All(Headers$1,Optional(All(Optional(AndListSeparator),NonEmpty(Weak(Body$2))))),NonEmpty(Weak(Body$2))),Optional(All(Optional(AndListSeparator),Headers$1)),ExplicitEndpoint,Optional(Headers$1)),All(Optional(Headers$1),Endpoint,Optional(Any(All(Headers$1,Optional(All(Optional(AndListSeparator),NonEmpty(Weak(Body$2))))),NonEmpty(Weak(Body$2)))),Optional(All(Optional(AndListSeparator),Headers$1)))),Optional(Statuses$1))),([l],P)=>{P['collections']['fetches']['push'](l),P['collections']['variables']['push']({'name':'response'}),P['context']['clipboard']={'isRef':!![],'name':'response'};})),Evaluate=LogGroup('Evaluate',Effect(Node(All(Mark(/evaluate|execute|run/i,{'type':'actionword'}),Optional(The),JavaScript,Optional(CodeSnippet),Optional(/[:-]/),JSExpressionLiteral$1),([l])=>({'type':'evaluate','js':l})),(l,P)=>{P['collections']['variables']['push']({'name':'js-result'}),P['context']['clipboard']={'isRef':!![],'name':'js-result'};})),{Apply:Apply$19,Mutate:Mutate$19}=State({'type':'navigate'}),NavigateAction=All(Any(All(Mark(/navigate/i,{'type':'actionword'}),Optional(All(Optional(The),Browser$1))),Mark(/goto|browse|visit|open/i,{'type':'actionword'})),Optional(To),Optional(The)),GoToPageAction=All(Mark(/go/i,{'type':'actionword'}),Optional(To),Optional(The)),AbsoluteUrl=Mutate$19(Mark(Url$3,{'type':'navigation\x20url'}),(l,[P])=>l['url']=P),ExplicitAbsoluteUrl=Mutate$19(Mark(ExplicitUrl,{'type':'navigation\x20url'}),(l,[P])=>l['url']=P),RelativeUrl=Mutate$19(Mark(StringExpression$1,{'type':'navigation\x20url'}),(l,[P])=>(l['url']=P,l['relative']=!![])),Direction$1=Any(Mutate$19(Any(Back,Previous),l=>l['direction']='back'),Mutate$19(Any(Forward,Next),l=>l['direction']='forward')),VerboseDirection=Any(Mutate$19(All(Back,To,Optional(The),Previous,Website),l=>l['direction']='back'),Mutate$19(All(Forward,To,Optional(The),Next,Website),l=>l['direction']='forward')),CardinalTimes=Mutate$19(CardinalNumberExpression,(l,[P])=>l['times']=P),IterativeTimes=Mutate$19(Any(All(CardinalNumberExpression,Times$3),IterativeNumberExpression),(l,[P])=>l['times']=P),StatusCodes=Mutate$19(Any(/any/i,List(Use(/([1-5]\d\d)/),Optional(OrListSeparator))),(l,P)=>l['statuses']=P['length']>0x0?P['map'](R=>Number['parseInt'](R)):'*'),Statuses=All(Optional(AndListSeparator),Any(Expect,Expecting),Any(All(Optional(The),HttpStatusCodes,Optional(':'),StatusCodes),All(StatusCodes,HttpStatusCodes))),ExplicitNavigateBody=Any(All(VerboseDirection,Optional(IterativeTimes)),All(CardinalTimes,Websites,Direction$1),All(Direction$1,Any(All(CardinalTimes,Websites),Optional(Website))),All(RelativeUrl,Relative,To,Optional(The),Current,Optional(Any(Url$4,Website)),Optional(Statuses)),All(Any(Url$4,All(Website,Optional(LocationPreposition))),AbsoluteUrl,Optional(Statuses))),Navigate=LogGroup('Navigate',Apply$19(Any(All(NavigateAction,Any(ExplicitNavigateBody,All(AbsoluteUrl,Optional(Any(Url$4,Website)),Optional(Statuses)))),All(GoToPageAction,Any(ExplicitNavigateBody,All(ExplicitAbsoluteUrl,Optional(Any(Url$4,Website)),Optional(Statuses)),All(AbsoluteUrl,Any(Url$4,Website),Optional(Statuses)),All(AbsoluteUrl,Optional(Any(Url$4,Website)),Statuses)))))),{Apply:Apply$18,Mutate:Mutate$18}=State({'type':'focus'}),FocusAction=Mark(/(?:(?:set\s+)?focus)/i,{'type':'actionword'}),Element$1=Mutate$18(Element$2,(l,[P])=>l['element']=P),Focus=LogGroup('Focus',Apply$18(All(FocusAction,Optional(LocationPreposition),Element$1))),CheckAction=Mark(/check|tick|select|(?:turn|switch)\s+on/i,{'type':'actionword'}),UncheckAction=Mark(/uncheck|untick|unselect|(?:turn|switch)\s+off/i,{'type':'actionword'}),Check=LogGroup('Check',Node(All(Any(Node(CheckAction,()=>!![]),Node(UncheckAction,()=>![])),Element$2),([l,P])=>({'type':'check','value':l,'element':P}))),Clear=LogGroup('Clear',Node(All(Mark(/clear/i,{'type':'actionword'}),Any(All(Article(String$1),LocationPreposition,Element$2),Longest(Node(String$1,()=>({'state':{'focused':!![]},'fallback':{'type':'textbox'}})),Element$2))),([l])=>({'type':'clear','element':l}))),{Apply:Apply$17,Mutate:Mutate$17}=State({'type':'erase'}),EraseAction=Mark(/erase|delete|remove/i,{'type':'actionword'}),Size=Mutate$17(CardinalNumberExpression,(l,[P])=>l['size']=P),DefaultSize=Mutate$17(Optional(IndefiniteArticle),l=>l['size']=0x1),TargetTextbox=Mutate$17(Element$2,(l,[P])=>l['element']=P),Erase=LogGroup('Erase',Apply$17(All(EraseAction,Any(All(Size,Characters),All(DefaultSize,Character)),Optional(All(Optional(LocationPreposition),TargetTextbox))))),{Apply:Apply$16,Mutate:Mutate$16}=State({'type':'hover'}),HoverAction=Mark(/hover(?:\s+(?:over|inside|on(?:(?:\s+the)?\s+center\s+of|\s+top(?:\s+of)?)?))?|(?:(?:move|place)?\s+(?:the\s+)?)?(?:cursor|mouse)\s+over/i,{'type':'actionword'}),Anchor$2=Mutate$16(Anchor$3({'Element':Element$2}),(l,[P])=>l['element']?l['element']['anchor']=[P,l['element']['anchor']??[]]['flat']():l['element']={'anchor':P}),TargetElement$3=Mutate$16(Element$2,(l,[P])=>l['element']?Object['assign'](l['element'],P,P['anchor']&&l['element']['anchor']?{'anchor':[l['element']['anchor']??[],P['anchor']??[]]['flat']()}:{}):l['element']=P),FocusedElement$2=Mutate$16(ImplicitElement,(l,[P])=>l['element']=P),Hover=LogGroup('Hover',Apply$16(All(HoverAction,Any(All(Optional(LocationPreposition),FocusedElement$2),All(Optional(Weak(Anchor$2)),Optional(LocationPreposition),TargetElement$3))))),{Apply:Apply$15,Mutate:Mutate$15}=State({'type':'type'}),TypeActionKeyword=/type|enter|fill|write|insert/i,TypeAction=Mark(TypeActionKeyword,{'type':'actionword'}),GenerateAndTypeAction=Mark(All(/generate/i,And,TypeActionKeyword),{'type':'actionword'}),Preposition=Any(LocationPreposition,FunctionalPreposition,For),StringValue=Mutate$15(Mark(StringExpression$1,{'type':'value'}),(l,[P])=>l['value']=P),OTPValue=Mutate$15(Mark(OTPLiteral,{'type':'value'}),(l,[P])=>l['value']=P),ClipboardValue=Mutate$15(Mark(Any(PreCondition(l=>l['context']['has']('element'),Node(All(Its,Value$5),(l,P)=>({'operator':'extract','operands':[{'isOperand':!![],'value':P['context']['element']},'string']}))),PreCondition(l=>l['context']['has']('clipboard'),Node(Any(It,Them),(l,P)=>P['context']['clipboard']))),{'type':'value'}),(l,[P])=>l['value']=P),UnquotedCompoundValue=Weak(Fix(Mutate$15(Mark(All(UnquotedStringLiteral$1,UnquotedStringLiteral$1),{'type':'value'}),(l,[P,R])=>l['value']=P+'\x20'+R),l=>'\x22'+l+'\x22')),Value=Any(OTPValue,ClipboardValue,StringValue),MaskedValue=Mutate$15(Mark(Value,{'type':'secret'}),l=>l['secret']=!![]),SecretValue=Any(All(Optional(The),Secret,MaskedValue),All(MaskedValue,Secret)),TextboxElement=Mutate$15(Any(ImplicitElement,Element$2),(l,[P])=>l['element']=P),AnchoredTextboxElement=Mutate$15(Anchor$3({'Element':Element$2}),(l,[P])=>l['element']={'anchor':P}),SecretTextboxElement=Longest(PostCondition(TextboxElement,([l])=>!!l['secret']),All(Optional(The),Secret,TextboxElement)),DefaultTextboxElement=Mutate$15(PreCondition(l=>l['context']['has']('element'),Node(Nothing$1,(l,P)=>P['context']['element'])),(l,[P])=>l['element']={'state':{'focused':!![]},'fallback':P}),SecretDefaultTextboxElement=PreCondition(l=>l['context']['has']('element')&&!!l['context']['element']['secret'],DefaultTextboxElement),ChromeTextboxElement=Mutate$15(ChromeTextbox,(l,[P])=>l['element']=P),ExplicitChromeTextboxElement=Mutate$15(ExplicitChromeTextbox,(l,[P])=>l['element']=P),DialogTextboxElement=Mutate$15(DialogTextbox,(l,[P])=>l['element']=P),ExplicitDialogTextboxElement=Mutate$15(ExplicitDialogTextbox,(l,[P])=>l['element']=P),InBrowserDialog=Mutate$15(All(LocationPreposition,Optional(The),BrowserDialog,Optional(ActionModifierSeparator)),l=>l['element']={'isDialogElementDescriptor':!![],'title':'prompt'}),ConventionalTextboxElement=Any(All(Preposition,TextboxElement),AnchoredTextboxElement),TypeBody=Any(All(Url$4,Value,Preposition,ChromeTextboxElement),All(Value,Preposition,Any(ExplicitChromeTextboxElement,ExplicitDialogTextboxElement)),All(MaskedValue,Preposition,SecretTextboxElement),All(Any(SecretValue,Value),ConventionalTextboxElement),All(SecretValue,Optional(DefaultTextboxElement)),All(SecretTextboxElement,MaskedValue),All(TextboxElement,SecretValue),All(OTPValue,Optional(DefaultTextboxElement)),Longest(All(MaskedValue,SecretDefaultTextboxElement),All(Value,Optional(DefaultTextboxElement)),UnquotedCompoundValue,All(TextboxElement,Weak(Value)))),Type$1=LogGroup('Type',Apply$15(Any(All(TypeAction,TypeBody),All(InBrowserDialog,TypeAction,Value,Optional(All(Preposition,DialogTextboxElement))),All(GenerateAndTypeAction,OTPValue,Optional(Any(ConventionalTextboxElement,DefaultTextboxElement)))))),PartialType=LogGroup('PartialType',Apply$15(TypeBody)),{Apply:Apply$14,Mutate:Mutate$14}=State({'type':'search'}),SearchAction=Mark(/search/i,{'type':'actionword'}),QuotedValue=Mutate$14(Mark(QuotedStringExpression,{'type':'value'}),(l,[P])=>l['value']=P),UnquotedValue=Fix(Mutate$14(Mark(Anything$1,{'type':'value'}),(l,[P])=>l['value']=P['trim']()),l=>'\x22'+l+'\x22'),Input=Mutate$14(Element$2,(l,[P])=>l['element']=P),Search=LogGroup('Search',Dynamic(l=>{const P=Apply$14(All(SearchAction,Optional(For),Optional(The),Longest(All(Any(QuotedValue,UnquotedValue),Optional(All(Optional(LocationPreposition),PostCondition(Input,([R])=>!!R['type'])))),UnquotedValue)));if(!l['options']['intent'])return P;else return Node(Text$2(P),([R],F)=>{const o={'type':'intent','description':R};return F['collections']['intents']['push'](o),o;});})),{Apply:Apply$13,Mutate:Mutate$13}=State({'type':'click'}),ClickAction=Mark(NoBoundary(All(Optional(All(Any(Mutate$13(Any(Node(/left/i,()=>'left'),Node(/right/i,()=>'right')),(l,[P])=>l['button']=P),Mutate$13(MultiplicativeNumberLiteral,(l,[P])=>l['times']=P)),Optional('-'))),/click|press|hit|tap|open|expand|collapse/i)),{'type':'actionword'}),Anchor$1=Mutate$13(Anchor$3({'Element':Element$2}),(l,[P])=>l['element']?l['element']['anchor']=[P,l['element']['anchor']??[]]['flat']():l['element']={'anchor':P}),TargetElement$2=Mutate$13(Element$2,(l,[P])=>l['element']=l['element']?mergeElementDescriptors(l['element'],P):P),FocusedElement$1=Mutate$13(ImplicitElement,(l,[P])=>l['element']=P),ExplicitDialogElement=Mutate$13(ExplicitDialogButton,(l,[P])=>l['element']=P),DialogElement=Mutate$13(DialogButton,(l,[P])=>l['element']=P),ExplicitChromeElement=Mutate$13(ExplicitChromeButton,(l,[P])=>l['element']=P),ChromeElement=Mutate$13(ChromeButton,(l,[P])=>l['element']=P),ControlKey=Mutate$13(Mark(Stringish(ControlKey$1),{'type':'value'}),(l,[P])=>(l['keys']??=[])['push'](P)),Key$1=Mutate$13(Mark(Stringish(KeyboardKey),{'type':'value'}),(l,[P])=>(l['keys']??=[])['push'](P)),ChordSeparator$1=Any(AndListSeparator,'+',Nothing$1),Chord$1=List(All(Optional(The),Any(All(KeyboardKey$1,Key$1),All(Key$1,Optional(KeyboardKey$1)))),ChordSeparator$1),Click=LogGroup('Click',Apply$13(Any(All(Mutate$13(Mark(Text$2(Any(Accept,Dismiss)),{'type':'actionword'}),(l,[P])=>l['element']={'type':'button','title':P}),Optional(Mutate$13(Any(Dialog,Element$2),(l,[P])=>attachAnchor(l['element'],{'position':'inside','element':P})))),All(Optional(All(ControlKey,Optional(All(Optional(ChordSeparator$1),Chord$1)),Optional(ChordSeparator$1))),ClickAction,Any(All(Optional(LocationPreposition),Any(FocusedElement$1,ExplicitDialogElement,ExplicitChromeElement)),All(Optional(Weak(Anchor$1)),Optional(LocationPreposition),TargetElement$2)),Optional(All(While,Holding,Chord$1))),All(LocationPreposition,Optional(The),BrowserToolbar,Optional(ActionModifierSeparator),ClickAction,Optional(LocationPreposition),ChromeElement),All(LocationPreposition,Optional(The),BrowserDialog,Optional(ActionModifierSeparator),ClickAction,Optional(LocationPreposition),DialogElement)))),{Apply:Apply$12,Mutate:Mutate$12}=State({'type':'scroll'}),ScrollAction=Mark(/scroll/i,{'type':'actionword'}),GoToPositionAction=Mark(/go/i,{'type':'actionword'}),Direction=Mutate$12(Any(Node(/upwards?|up/i,()=>'up'),Node(/downwards?|down/i,()=>'down'),Node(/left/i,()=>'left'),Node(/right/i,()=>'right')),(l,[P])=>l['direction']=P),Times$1=Mutate$12(Any(IterativeNumberLiteral,All(CardinalNumberExpression,Times$3)),(l,[P])=>l['times']=P),Distance=Mutate$12(NoBoundary(All(QuantitativeNumberExpression,Optional(Pixels))),(l,[P])=>l['distance']=P),AbsolutePositionMutator=(l,[P])=>{delete l['direction'],delete l['fraction'],l['position']=P;},AbsolutePosition=Mutate$12(All(Optional(To),AbsolutePosition$1),AbsolutePositionMutator),ExplicitAbsolutePosition=Mutate$12(All(To,AbsolutePosition$1),AbsolutePositionMutator),Fraction=Mutate$12(All(Optional(The),Any(InnerRelationalOffset,QuantitativeNumberExpression)),(l,[P])=>l['fraction']=P),ContextElement=Mutate$12(Any(Viewport,Element$2),(l,[P])=>l['element']=P),PageContextElement=Mutate$12(Any(Viewport,PageElement),(l,[P])=>l['element']=P),TargetElement$1=Mutate$12(Element$2,(l,[P])=>{if(l['position']==='bottom')P['orderDirection']='backward';delete l['direction'],delete l['position'],l['element']=P;}),TargetExplicitElement=Mutate$12(ExplicitElement,(l,[P])=>{if(l['position']==='bottom')P['orderDirection']='backward';delete l['direction'],delete l['position'],l['element']=P;}),Scroll=LogGroup('Scroll',Apply$12(Any(All(Any(ScrollAction,GoToPositionAction),Any(All(Fraction,Any(All(ExplicitAbsolutePosition,Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))),All(Optional(Any(Of,LocationPreposition)),ContextElement,Optional(Any(Direction,AbsolutePosition))),All(Direction,Optional(AbsolutePosition),Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))),All(AbsolutePosition,Optional(All(Optional(Any(Of,LocationPreposition)),ContextElement))))),All(Direction,Optional(Any(All(Times$1,Optional(All(Optional(Fraction),Optional(AbsolutePosition),Optional(Any(Of,LocationPreposition)),ContextElement))),All(Optional(By),Distance),All(Optional(Fraction),Optional(AbsolutePosition),Optional(Any(Of,LocationPreposition)),Any(All(To,TargetElement$1),ContextElement)),Fraction))),All(AbsolutePosition,Optional(Any(All(Any(Of,LocationPreposition),ContextElement),PageContextElement,TargetElement$1))),All(ContextElement,Any(All(Direction,Optional(By),Distance),All(Direction,Optional(Times$1),Optional(Fraction)),All(Optional(Times$1),Fraction,Direction))))),All(ScrollAction,To,TargetElement$1),All(GoToPositionAction,To,TargetExplicitElement)))),{Apply:Apply$11,Mutate:Mutate$11}=State({'type':'navigate\x20pdf'}),NavigatePdfAction=Mark(/go|navigate|jump|switch|flip/i,{'type':'actionword'}),ShowPdfPageAction=Mark(/open|view|show/i,{'type':'actionword'}),PdfPage=Mutate$11(Any(All(Any(OrdinalNumberExpression$1,Node(Last$1,()=>-0x1)),Any(PdfPage$1,Page)),All(Any(PdfPage$1,Page),Optional(Any(NumberSign,Number$1)),CardinalNumberExpression)),(l,[P])=>l['page']=P),NavigatePdf=Apply$11(All(Any(All(NavigatePdfAction,To),ShowPdfPageAction),Optional(The),PdfPage)),{Apply:Apply$10,Mutate:Mutate$10}=State({'type':'wait'}),WaitAction=Mark(/wait|halt|pause|delay|block/i,{'type':'actionword'}),TimeInterval=Mutate$10(TimeIntervalExpression,(l,[P])=>l['timeout']=P),Condition=Any(Mutate$10(Condition$1,(l,[P])=>l['condition']=P),Mutate$10(Element$2,(l,[P])=>l['condition']={'isCondition':!![],'operation':{'operator':'visible','operands':[{'isOperand':!![],'value':P}]}})),Wait=LogGroup('Wait',Apply$10(All(WaitAction,Optional(Any(All(Optional(For),Optional(Maximum),TimeInterval,Optional(All(Any(For,Until),Condition))),All(Any(For,Until),Condition,Optional(All(Optional(For),Optional(Maximum),TimeInterval)))))))),{Apply:Apply$9,Mutate:Mutate$9}=State({'type':'refresh'}),RefreshAction=Mark(/refresh|reload/i,{'type':'actionword'}),Type=Any(Mutate$9(/hard(?:ly)?|(?:ignore|ignoring|skip|skipping)(?:\s+the)?(?:\s+cache)/i,l=>l['value']='hard'),Mutate$9(/soft(?:ly)?/i,l=>l['value']='soft')),Refresh=LogGroup('Refresh',Apply$9(Any(All(RefreshAction,Optional(All(Optional(The),Any(Page,BrowserTab))),Optional(Type)),All(Type,RefreshAction,Optional(All(Optional(The),Any(Page,BrowserTab))))))),{Apply:Apply$8,Mutate:Mutate$8}=State({'type':'hit\x20key'}),HitKeyAction=Mark(/hit|press/i,{'type':'actionword'}),TypeKeyAction=Mark(/type/i,{'type':'actionword'}),InputSource=All(LocationPreposition,Optional(The),Keyboard$1),Times=Mutate$8(Any(All(CardinalNumberExpression,Times$3),IterativeNumberExpression),(l,[P])=>l['times']=P),Key=Mutate$8(Mark(Stringish(KeyboardKey),{'type':'value'}),(l,[P])=>(l['keys']??=[])['push'](P)),ArrowKey=Mutate$8(ArrowKey$1,(l,[P])=>(l['keys']??=[])['push'](P)),BackspaceKey=Mutate$8(BackspaceKey$1,(l,[P])=>(l['keys']??=[])['push'](P)),DeleteKey=Mutate$8(DeleteKey$1,(l,[P])=>(l['keys']??=[])['push'](P)),ChordSeparator=Any(AndListSeparator,'+',Nothing$1),Chord=WeakList(All(Optional(The),Any(All(KeyboardKey$1,Key),All(Key,Optional(KeyboardKey$1)))),ChordSeparator),ExplicitChord=WeakList(All(Optional(The),Any(All(KeyboardKey$1,Key),All(Key,KeyboardKey$1))),ChordSeparator),HitKey=LogGroup('HitKey',Apply$8(Any(All(All(InputSource,Optional(','),Any(HitKeyAction,TypeKeyAction)),Optional(LocationPreposition),Chord,Optional(KeyboardKeys),Optional(Times)),All(HitKeyAction,Optional(LocationPreposition),Chord,Optional(Any(KeyboardKeys,InputSource)),Optional(Times)),All(TypeKeyAction,Optional(LocationPreposition),Any(All(ExplicitChord,Optional(Any(KeyboardKeys,InputSource))),All(Chord,Any(KeyboardKeys,InputSource))),Optional(Times))))),HitArrowKey=LogGroup('HitArrowKey',Apply$8(All(ArrowKey,Optional(Times)))),HitBackspaceKey=LogGroup('HitBackspaceKey',Apply$8(All(BackspaceKey,Optional(Times)))),HitDeleteKey=LogGroup('HitDeleteKey',Apply$8(All(DeleteKey,Optional(Times)))),{Apply:Apply$7,Mutate:Mutate$7}=State({'type':'switch\x20target'}),SwitchTargetAction=Mark(/switch\s+to|change\s+to|focus\s+on|click|select/i,{'type':'actionword'}),Title=Mutate$7(StringExpression$1,(l,[P])=>l['title']=P),Index=Mutate$7(Index$1(OrdinalNumberExpression$1),(l,[P])=>l['index']=P),Position=l=>Mutate$7(SequentialRelativePosition(l),(P,[{position:R}])=>P['position']=R),SwitchTarget=LogGroup('SwitchTarget',Apply$7(All(SwitchTargetAction,Optional(The),Any(Position(BrowserTab),All(Index,BrowserTab),All(BrowserTab,Optional(Named),Title),All(Possessive(Browser$1),Title,Tab),All(Title,BrowserTab))))),{Apply:Apply$6,Mutate:Mutate$6}=State({'type':'create\x20target'}),CreateTargetAction=Mark(/create|open/i,{'type':'actionword'}),Url$1=Mutate$6(Mark(Url$3,{'type':'navigation\x20url'}),(l,[P])=>l['url']=P),CreateTarget=LogGroup('CreateTarget',Apply$6(All(CreateTargetAction,Article(All(Optional(New),BrowserTab)),Optional(All(Any(LocationPreposition,AssociationPreposition),Article(Any(Url$4,Website)),Url$1))))),CloseTarget=LogGroup('CloseTarget',Node(All(Mark(/close/i,{'type':'actionword'}),Optional(The),Optional(Current),BrowserTab),()=>({'type':'close\x20target'}))),{Apply:Apply$5,Mutate:Mutate$5}=State({'type':'close'}),CloseAction=Mark(Dismiss,{'type':'action'}),TargetElement=Mutate$5(Any(Dialog,Element$2),(l,[P])=>l['element']=P),FocusedElement=Mutate$5(ImplicitElement,(l,[P])=>l['element']=P),Close=LogGroup('Close',Apply$5(All(CloseAction,Optional(LocationPreposition),Any(FocusedElement,TargetElement)))),{Apply:Apply$4,Mutate:Mutate$4}=State({'type':'go'}),Go=LogGroup('Go',Apply$4(All(Disambiguate(All(Mark(/go/i,{'type':'actionword'}),Optional(To),Optional(The)),l=>[l+'\x20url',l+'\x20element']),Mutate$4(StringExpression$1,(l,[P])=>l['target']=P)))),VisualCheck=LogGroup('VisualCheck',Node(Mark(/visual\s+check/i,{'type':'actionword'}),()=>({'type':'visual\x20check'}))),{Apply:Apply$3,Mutate:Mutate$3}=State({'type':'intent'}),FillAction=Mark(/fill/i,{'type':'actionword'}),FillOutAction=Mark(/fill\s+out/i,{'type':'actionword'}),Form=PostCondition(Element$2,([l])=>l['type']==='form'),Description=l=>Mutate$3(Text$2(l),(P,[R])=>P['description']=R),Intent=LogGroup('Intent',PreCondition(l=>l['options']['intent'],Effect(Apply$3(Any(Description(All(FillOutAction,Anything$1)),Description(All(FillAction,Form)))),([l],P)=>P['collections']['intents']['push'](l)))),{Apply:Apply$2,Mutate:Mutate$2,state}=State({'type':'initialize\x20scope'}),InitializeScopeAction=Mark(/run|execute|invoke|call|do|perform/i,{'type':'actionword'}),ScopeName=Mutate$2(Mark(StringLiteral$1,{'type':'scope\x20name'}),(l,[P])=>l['name']=P),Scope$1=Mark(All(Optional(All(Optional(Each),Optional(Of),Optional(The),TestSteps,Optional(Any(LocationPreposition,Of)))),Optional(The),Any(All(CustomFlowTest,ScopeName),All(ScopeName,Optional(CustomFlowTest)))),{'type':'scope\x20definition'}),Parameter=Mutate$2(Effect(State({'secret':![]},({Mutate:l,state:P})=>{const R=l(Article(Secret),D=>D['secret']=!![]),F=l(Effect(Mark(Node(StringLiteral$1({'escape':/[:=]/}),([D])=>D['toLowerCase']()),{'type':'parameter\x20name'}),([D],a,G)=>{if(isReservedName(D))a['collections']['errors']['push']({'type':'ReservedParameterNameError','pos':G['pos'],'text':a['text']['slice'](G['pos'],a['pos']),'message':D+'\x20is\x20a\x20reserved\x20variable\x20name\x20and\x20cannot\x20be\x20used\x20as\x20an\x20argument'});}),(D,[a])=>{D['name']=a;if(isSecretName(a))D['secret']=!![];}),o=PostCondition(F,(D,a)=>P(a)['secret']),z=l(Mark(AnyExpression$1,{'type':'parameter\x20value'}),(D,[a])=>D['value']=a),K=Mark(z,{'type':'secret'}),X=D=>Dynamic(a=>P(a)['secret']?Mark(D,{'type':'secret'}):D);return Any(All(K,StoragePreposition,Optional(The),o),All(Optional(R),X(z),StoragePreposition,Optional(The),F),All(F,Any(All(Any(AssignmentPreposition,Be),Optional(The)),/[:=]/),Optional(R),X(z)));}),([l],P,R)=>{if(state(P)['parameters']?.['some'](({name:F})=>F===l['name']))P['collections']['errors']['push']({'type':'RedefinedParameterError','pos':R['pos'],'text':P['text']['slice'](R['pos'],P['pos']),'message':'The\x20argument\x20'+l['name']+'\x20is\x20already\x20defined'});}),(l,[P])=>(l['parameters']??=[])['push'](P)),Parameters=Mark(List(All(Optional(Any(With,When,Using)),Optional(Parameters$1),Parameter),AndListSeparator),{'type':'scope\x20parameters'}),AssertionType=Any(Node(/visual\s+and\s+(?:non[-\s]?visual|textual)|(?:non[-\s]?visual|textual)\s+and\s+visual/i,()=>'all'),Node(/visual/i,()=>'visual'),Node(/non[-\s]?visual|textual/i,()=>'nonvisual')),Options$1=Mark(List(All(Any(All(Any(Run,Running),Optional(All(Each,Optional(All(Of,Optional(The)))))),All(Dont,Skip),All(Without,Skipping)),Any(Mutate$2(All(Optional(AssertionType),Assertions),(l,[P='all'])=>{const R=l['options']??={};if(!R['assertions']||P==='all')R['assertions']=P;else{if(R['assertions']!=='all'&&R['assertions']!==P)R['assertions']='all';}}),Mutate$2(Article(All(Start,Url$4)),l=>(l['options']??={})['navigation']='all'))),AndListSeparator),{'type':'scope\x20options'}),InitializeScope=Effect(Apply$2(Mark(All(InitializeScopeAction,Scope$1,Optional(All(Optional(AndListSeparator),Parameters)),Optional(All(Optional(AndListSeparator),Options$1))),{'type':'control\x20flow','subtype':'initialize\x20scope'})),([l],P)=>P['collections']['scopes']['push']({'name':l['name'],'parameters':(l['parameters']??[])['map'](({name:R})=>R),'options':l['options']})),IfKeyword=Mark(/(?:only\s+)?if(?:\s+and\s+only\s+if)?|(?:given|providing)\s+that/i,{'type':'keyword'}),UnlessKeyword=Mark(/unless/i,{'type':'keyword'}),ElseKeyword=Mark(/else|otherwise/i,{'type':'keyword'}),Block=(l,{collapseElseif:collapseElseif=![]}={})=>Mark(l,{'type':'block','mutate':collapseElseif?(P,[R])=>{if(R?.['length']===0x1&&R[0x0]?.['type']==='if')P['type']='empty';}:void 0x0}),Then=All(Then$1,Optional(All(Run,Optional(All(Optional(Any(The,These,This)),Following)),Optional(TestStep),Optional(TestSteps))),Optional(ActionModifierSeparator)),Else=l=>{return LogGroup('Else',Node(All(Optional(BlockSeparator),Mark(ElseKeyword,{'type':'control\x20flow','subtype':'else'}),Optional(ActionModifierSeparator),Block(Optional(l),{'collapseElseif':!![]})),([P],R)=>{return R['collections']['conditionals']['length']=0x0,R['collections']['conditionals']['push'](P?.[0x0]['type']==='if'?'elseif':'else'),P??[];}));},If=l=>{return LogGroup('If',Node(All(Mark(Any(All(IfKeyword,Condition$1),All(UnlessKeyword,NegativeCondition)),{'type':'control\x20flow','subtype':'if'}),Optional(Any(All(Optional(ActionModifierSeparator),Then),ActionModifierSeparator)),Block(Optional(l)),Optional(Else(l))),([P,R,F],o)=>{o['collections']['conditionals']['length']=0x0,o['collections']['conditionals']['push']('if');const z={'type':'if','condition':P};if(R)z['then']=R;if(F)z['otherwise']=F;return z;}));};makeParse(Sanitize$1(ElementType$1));const Currency=Any(Any(/USD/i,/\$/,/U\.?S\.?\s*D(?:ollars?)?/i,/United\s*States\s*D(?:ollars?)?/i),Any(/EUR?O?s?/i,/€/),Any(/GBP/i,/£/,/Pounds?\s*(?:Sterling)?/i,/Great\s*Britain\s*Pounds?/i),Any(/JPY/i,/¥/,/(?:Japanese\s*)?Yen/i),Any(/CHF/i,/Fr\.?/i,/(?:Swiss\s*)?Francs?/i),Any(/CAD/i,/C(?:an)?\$/,/Canad(?:ian|a)\s*D(?:ollars?)?/i),Any(/AUD/i,/A(?:us)?\$/,/Austral(?:ian|ia)\s*D(?:ollars?)?/i),Any(/NZD/i,/NZ\$/,/New\s*Zealand\s*D(?:ollars?)?/i),Any(/CNY/i,/RMB/i,/CN¥/,/元/,/(?:Chinese\s*)?Yuan/i,/Renminbi/i),Any(/HKD/i,/HK\$/,/Hong\s*Kong\s*D(?:ollars?)?/i),Any(/SGD/i,/S\$/,/Singapore\s*D(?:ollars?)?/i),Any(/KRW/i,/₩/,/(?:South\s*)?Korean\s*Won/i),Any(/INR/i,/₹/,/Rs\.?/i,/(?:Indian\s*)?Rupees?/i),Any(/SEK/i,/(?:Swedish\s*)?Kron(?:a|or)/i),Any(/NOK/i,/(?:Norwegian\s*)?Kron(?:e|er)/i),Any(/TRY/i,/₺/,/TL/i,/(?:Turkish\s*)?Liras?/i),Any(/MXN/i,/Mex\$/,/(?:Mexican\s*)?Pesos?/i),Any(/BRL/i,/R\$/,/(?:Brazilian\s*)?Re(?:al|ais)/i),Any(/ZAR/i,/Rand/i,/R/)),SUPPORTED_LOCALES=['en','tr','es','fr','de','it','pt','he'];function getMonthsPattern(l){const P=new Set(),R=new Intl['DateTimeFormat'](l,{'month':'long'}),F=new Intl['DateTimeFormat'](l,{'month':'short'});for(let z=0x0;z<0xc;z++){const K=new Date(0x7d0,z,0x1);P['add'](R['format'](K)['toLowerCase']()),P['add'](F['format'](K)['toLowerCase']());}const o=Array['from'](P)['join']('|');return Use(new RegExp(o,'i'));}const Month=Any(...SUPPORTED_LOCALES['map'](l=>getMonthsPattern(l))),DateDelim=/[\/\-\.]/,TimeValue=Use(/(?:\d{1,2}:\d{2}(?::\d{2})?(?:\s*[ap]m)?)|(?:\d{1,2}\s*[ap]m)/i),TimeZone=Any(/Z/i,All(/[+-]/,/\d{2}/,Optional(All(/:?/,/\d{2}/)))),Year=/\d{4}/,IsoDate=All(Year,/-/,/\d{2}/,/-/,/\d{2}/,Optional(All(/T|\s+/,TimeValue,Optional(TimeZone)))),NumericDate=All(/\d{1,2}/,DateDelim,/\d{1,2}/,DateDelim,/\d{2,4}/),TextDateMonthFirst=All(Month,Optional(/\./),Optional(/\s+/),OrdinalNumberLiteral$1,Optional(All(/,?\s+/,Year))),TextDateDayFirst=All(OrdinalNumberLiteral$1,Optional(/\s+/),Optional(Of),Optional(/\s+/),Month,Optional(/\.?/),Optional(All(/,?\s+/,Year))),DateValue=Mark(Any(IsoDate,NumericDate,All(Month,Optional(/\./),Optional(/\s+/),Any(OrdinalNumberLiteral$1,NonnegativeIntegerNumberLiteral),Optional(/,/),/\s+/,Year),TextDateMonthFirst,TextDateDayFirst),{'type':'date'}),NumberValue=NumericLiteral,Percentage=Any(All(Optional(/[-+]/),Any(All(/%/,Optional(/\s+/),QuantitativeNumberLiteral),NoBoundary(All(QuantitativeNumberLiteral,Optional(/\s+/),/%/)))),Mark(All(QuantitativeNumberLiteral,Optional(/\s+/),Percentage$1),{'type':'percentage'})),Price=Mark(Any(All(NumericLiteral,Optional(/\s+/),Currency),All(Currency,Optional(/\s+/),NumericLiteral),All(/-/,Optional(/\s+/),Currency,Optional(/\s+/),QuantitativeNumberLiteral)),{'type':'price'}),Identifier=Mark(Any(/\S+/),{'type':'identifier'});function maskText(l,{meta:P,mask:mask='***'}){let R=l;const F=[],o=[],z=[];for(const a of P['markers']??[])if(a['type']==='secret'){let G=a['pos'];for(const m of z)if(m['pos']>=a['pos']&&m['pos']+m['length']<=a['pos']+a['text']['length']){if(m['pos']>G){const N={'pos':G,'length':m['pos']-G,'text':mask};if(!o['some'](E=>E['pos']<=N['pos']&&E['pos']+E['length']>=N['pos']+N['length']))o['push'](N);}G=m['pos']+m['length'];}if(a['pos']+a['text']['length']>G){const E={'pos':G,'length':a['pos']+a['text']['length']-G,'text':mask};if(!o['some'](H=>H['pos']<=E['pos']&&H['pos']+H['length']>=E['pos']+E['length']))o['push'](E);}}else{if(a['type']==='reference'||a['type']==='element\x20descriptor')z['push']({'pos':a['pos'],'length':a['text']['length']});}for(let H of P['markers']??[]){let t=0x0;H=o['reduce']((k,O)=>{if(k['pos']<=O['pos']+t&&k['pos']+k['text']['length']>=O['pos']+t+O['length'])k['text']=replace(k['text'],O['pos']+t-k['pos'],O['length'],O['text']);else{if(k['pos']>=O['pos']+t+O['length'])k['pos']+=O['text']['length']-O['length'];}return t+=O['text']['length']-O['length'],k;},{...H}),F['push'](H);}const K=[];let X=0x0;for(const k of o){K['push']({'pos':k['pos']+X,'length':k['text']['length'],'text':R['substring'](k['pos']+X,k['pos']+X+k['length'])}),R=replace(R,k['pos']+X,k['length'],k['text']),X+=k['text']['length']-k['length'];}const D={'text':R,'meta':{...P,'markers':F,'masks':K}};if(D['meta']['navigationUrls'])D['meta']['navigationUrls']=D['meta']['markers']['reduce']((O,i)=>{if(i['type']==='navigation\x20url')O['push'](i['text']['replaceAll'](/^['"]|['"]$/g,''));return O;},[]);return D;}const Empty=LogGroup('Empty',Node(/$/,()=>({'type':'empty'}))),PreinstructionKeyword=Mark(/pre(?:-|\s+)?step/i,{'type':'keyword'}),PreinstructionDescription=All(Prior,Optional(Running),Any(Each,The),Optional(Subsequent),Optional(TestSteps)),SetPreinstructions=l=>{return Node(Mark(All(Any(All(Activate,Optional(IndefiniteArticle),PreinstructionKeyword,Optional(ActionModifierSeparator)),All(Optional(Run),Optional(All(Optional(The),Following)),Any(PreinstructionKeyword,PreinstructionDescription),Optional(ActionModifierSeparator))),l),{'type':'control\x20flow','subtype':'set\x20preinstructions'}),([P])=>({'type':'set\x20preinstructions','instructions':P}));},SetPreinstructionsPostlude=Node(All(Optional(ActionModifierSeparator),PreinstructionDescription),()=>l=>({'type':'set\x20preinstructions','instructions':l})),DropPreinstructions=Node(Mark(Any(All(Cancel,Optional(The),PreinstructionKeyword),All(Any(All(Run,Nothing),All(Dont,Run,Anything)),PreinstructionDescription)),{'type':'control\x20flow','subtype':'drop\x20preinstructions'}),()=>({'type':'drop\x20preinstructions'})),TryKeyword=Mark(/try|optional/i,{'type':'keyword'}),Try=l=>{return Node(Mark(All(Any(All(TryKeyword,Optional(ActionModifierSeparator)),All(Optionally,Optional(All(Run,Optional(All(Optional(The),Following)),Optional(Any(TestStep,TestSteps)))),Optional(ActionModifierSeparator))),l),{'type':'control\x20flow','subtype':'try'}),([P])=>({'type':'try','instructions':P}));},TryPostlude=Node(PreCondition(l=>l['context']['has']('element'),All(Optional(Only),If$1,Optional(It),Optional(/is|does|be|(?:to|can)(?:\s+be)?|(?:have|has)\s+been/i),/visible|shown|shows?(?:\s+up)?|appears?|apparent|displayed/i)),()=>l=>({'type':'try','instructions':l}));function Instructions({allowed:l,disabled:P}={}){function R(o,z){if(P?.['includes'](o))return Never;if(l&&!l['includes'](o))return Never;return z;}const F=Node(Any(List(Mark(Effect(Any(R('intent',Intent),R('switch\x20target',SwitchTarget),R('close\x20target',CloseTarget),R('close',Close),R('create\x20target',CreateTarget),R('hit\x20key',HitKey),R('type',Type$1),R('navigate\x20pdf',NavigatePdf),R('click',Click),Longest(R('navigate',Navigate),R('scroll',Scroll)),R('go',Go),R('search',Search),R('assert',Assert),R('visual\x20check',VisualCheck),R('hover',Hover),R('erase',Erase),R('clear',Clear),R('wait',Wait),R('refresh',Refresh),R('hit\x20key',Weak(HitArrowKey)),R('hit\x20key',Weak(HitBackspaceKey)),R('focus',Focus),R('set\x20variable',SetTimeout),R('set\x20variable',SetVariable),R('set\x20value',SetValue),R('check',Check),R('set\x20variable',Generate),Longest(R('hit\x20key',HitDeleteKey),R('fetch',Fetch)),R('evaluate',Evaluate),Grab,R('type',PreCondition(o=>o['context']['action']?.['type']==='type',PartialType))),([o],z)=>z['context']['action']=o),{'type':'action','mutate':(o,[z],K)=>{o['subtype']=z?.['type']??'empty';if(K['context']['accessed'])o['type']='dependent\x20action';K['context']['refresh']();}}),ActionSeparator)),o=>o);return All(Sanitize$1(Recursive((o,{depth:z})=>{return Customizable(({avoid:K}={})=>{return Node(Any(PreCondition(()=>z===0x0,R('empty',Empty)),PreCondition(()=>z===0x0,R('comment',Comment)),PreCondition(()=>K!=='try',R('try',Try(o({'avoid':'try'})))),PreCondition(()=>K!=='preinstruction',R('set\x20preinstructions',SetPreinstructions(o({'avoid':'preinstruction'})))),PreCondition(()=>K!=='preinstruction',R('drop\x20preinstructions',DropPreinstructions)),R('if',If(o({'avoid':'conditional'}))),R('if',Else(o)),Node(All(F,Optional(Any(TryPostlude,SetPreinstructionsPostlude))),([X,D])=>D?D(X):X),R('initialize\x20scope',InitializeScope)),([X])=>Array['isArray'](X)?X:[X]);});})),Optional(InstructionTerminator));}function normalizeCurlString(l,P=/[]/){return l['replaceAll'](new RegExp(String['raw']`\\([{\\nt]|${P['source']})`,'g'),(R,F)=>{if(F==='n')return'\x0a';else{if(F==='t')return'\x09';}return F;})['replaceAll'](/\\u([0-9a-fA-F]{4})/g,(R,F)=>String['fromCharCode'](parseInt(F,0x10)))['replaceAll'](/\\x([0-9a-fA-F]{2})/g,(R,F)=>String['fromCharCode'](parseInt(F,0x10)));}const CurlString=Any(Any(Node(Use(/\$'([^']*)'/),([l])=>normalizeCurlString(l)),Use(/"([^"]+)"/),Use(/'([^']+)'/)),Use(/(\S+)/)),Sanitize=l=>TokenBoundary(Ignore(/[\s\\]+/,l)),{Apply:Apply$1,Mutate:Mutate$1}=State({'type':'fetch'}),Curl=/curl/i,CliOption=(l,P)=>{return All(Any(All(/--/,l['longhand']),l['shorthand']?All(/-/,l['shorthand']):Never,l['optional']?Nothing$1:Never),P);},Url=Mutate$1(CliOption({'longhand':'url','optional':!![]},CurlString),(l,[P])=>l['url']=P),BasicAuth=Mutate$1(CliOption({'longhand':'user','shorthand':'u'},CurlString),(l,[P])=>{const [R,F]=P['split'](':',0x2)['map'](o=>o['trim']());l['auth']={'type':'basic','username':R,'password':F};}),Header$2=Mutate$1(CliOption({'longhand':'header','shorthand':'H'},CurlString),(l,[P])=>{const R=P['indexOf'](':'),F=R>-0x1?P['slice'](0x0,R)['trim']():P['trim'](),o=R>-0x1?P['slice'](R+0x1)['trim']():'';l['headers']??=[],l['headers']['push']({'name':F,'value':o,'secret':![]});}),Method$1=Mutate$1(Any(CliOption({'longhand':'request','shorthand':'X'},CurlString)),(l,[P])=>{l['method']=P['toLowerCase']();}),DataBody=Mutate$1(CliOption({'longhand':Any('data-urlencode','data-ascii','data'),'shorthand':'d'},CurlString),(l,[P])=>{const [R,F]=P['split']('=',0x2)['map'](K=>K['trim']());if(!F){l['body']??={'data':null},l['body']['data']=R;return;}l['body']??={'data':null};const o=typeof l['body']['data']==='string'?l['body']['data']['split']('&'):[],z=R+'='+F;l['body']['data']=[...o,z]['join']('&');}),Options=Any(BasicAuth,Header$2,Method$1,Any(Mutate$1(CliOption({'longhand':'data-raw'},CurlString),(l,[P])=>{l['body']??={'data':P};}),DataBody,Mutate$1(CliOption({'longhand':'json'},CurlString),(l,[P])=>{l['body']??={'data':null};try{l['body']['data']=convertToStructure(JSON['parse'](P));}catch{l['body']['data']=P;}finally{l['body']['type']='json';}})),Mutate$1(CliOption({'longhand':'cookie','shorthand':'b'},CurlString),(l,[P])=>{l['cookies']??=[];const R=P['split'](';')['map'](F=>F['trim']());for(const F of R){const [o,z]=F['split']('=',0x2);l['cookies']['push']({'name':o,'value':z,'secret':![]});}}),Raw(CliOption({'longhand':/[a-zA-Z0-9.-]+/,'shorthand':/[a-zA-Z]/},Optional(CurlString)))),parse$5=makeParse(Apply$1(Sanitize(All(Curl,Star(Options),Url,Star(Options)))));function parseCurl(l){const P=parse$5(l);if(P['errors']||!P['results'])return null;const [R]=P['results'];return R;}const {Apply,Mutate}=State({'type':'fetch'}),URI=Any(Mutate(Use(/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/),(l,[P])=>l['url']=P),Mutate(Use(/(\S+)/),(l,[P])=>{l['url']=''+(P['startsWith']('/')?'':'/')+P;})),Method=Mutate(Use(/(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS|TRACE|CONNECT)/i),(l,[P])=>l['method']=P['toLowerCase']()),HttpVersion=Use(/HTTP\/[0-9.]+/i),Headers=All(/\n/,List(Mutate(All(Use(/([^:\n]+)/),/:\s*/,Use(/([^\n]*)/)),(l,[P,R])=>{l['headers']??=[],l['headers']['push']({'name':P,'value':R,'secret':![]});}),/\n/)),Body$1=Mutate(Use(/(.+)/s),(l,[P])=>{l['body']={'data':P};}),parse$4=makeParse(Apply(All(Method,/\s+/,URI,/\s+/,HttpVersion,Optional(Headers),Optional(All(/\n\n/,Body$1)))));function parseHttp(l){const P=parse$4(l);if(P['errors']||!P['results'])return null;const R=P['results'][0x0],F=R['headers']?.['find'](o=>o['name']==='Host')?.['value'];if(F)R['url']='https://'+F+R['url'];return R;}function FetchAction(l){const P=['send\x20http'];if(l['method'])P['push'](l['method']);P['push']('request\x20to\x20'+StringExpression(l['url']));const R=[];if(l['auth'])R['push'](Auth(l['auth']));if(l['headers'])l['headers']['forEach'](({name:F,value:o})=>{R['push'](Header({'name':F,'value':o}));});if(l['cookies'])l['cookies']['forEach'](({name:F,value:o})=>{R['push'](Cookie({'name':F,'value':o}));});if(l['body'])R['push'](Body(l['body']));if(R['length']>0x0)P['push'](R['join']('\x20and\x20'));if(l['statuses'])P['push'](Status(l['statuses']));return P['join']('\x20');}function Cookie(l){const P=['with'];if(l['secret'])P['push']('secret');return P['push']('cookie\x20'+StringExpression(l['name'])+'\x20=\x20'+StringExpression(l['value'])),P['join']('\x20');}function Header(l){const P=['with'];if(l['secret'])P['push']('secret');return P['push']('header\x20'+StringExpression(l['name'])+':\x20'+StringExpression(l['value'])),P['join']('\x20');}function Body(l){if(l['type'])return'with\x20'+l['type']+'\x20body\x20'+AnyExpression(l['data']);else return'with\x20body\x20'+AnyExpression(l['data']);}function Status(l){if(l==='*')return'expecting\x20any\x20status\x20code';else return'expecting\x20status\x20code'+(l['length']>0x1?'s':'')+'\x20'+l['join']('\x20or\x20');}function Auth(l,P={}){return'with\x20basic\x20auth\x20'+StringExpression(l['username'])+':'+StringExpression(l['password']);}function ElementDescriptor(l){const P=['the'];if(l['nth']!=null)P['push'](OrdinalIndex(l['nth']));if(l['reference'])P['push'](Reference(l['reference'])),P['push'](l['type']?ElementType(l['type'],l['vocabulary']):'element');else{if(l['orderDirection']==='backward'){P['push']('last'),P['push'](l['type']?ElementType(l['type'],l['vocabulary']):'element');if(typeof l['title']==='string')P['push']('with\x20text\x20'+StringExpression(l['title']));else{if(l['title']&&'name'in l['title'])P['push']('with\x20'+l['title']['name']);}}else{if(l['title']&&typeof l['title']==='object'&&'isPattern'in l['title']){P['push'](l['type']?ElementType(l['type']):'element');if('name'in l['title'])P['push']('with\x20'+l['title']['name']);}else{if(typeof l['title']==='string'&&isPatternName(l['title']))P['push'](l['type']?ElementType(l['type']):'element'),P['push']('with\x20text\x20'+StringExpression(l['title']));else{if(l['title']&&typeof l['title']==='string'&&isNamedColor(l['title']))P['push'](l['type']?ElementType(l['type'],l['vocabulary']):'element'),P['push']('with\x20text\x20'+StringExpression(l['title'],{'avoid':'unquoted'}));else{if(typeof l['color']==='string'&&isNamedColor(l['color']))P['push'](l['color']);const R=l['title']!=null&&typeof l['title']==='object'&&('isRef'in l['title']||'isJSExpressionRef'in l['title']||l['title']['chunks']['length']===0x1&&typeof l['title']['chunks'][0x0]!=='string');if(l['title']&&!R)P['push'](StringExpression(l['title'],{'avoid':typeof l['title']==='string'&&isElementType(l['title'])?'unquoted':void 0x0}));P['push'](l['type']?ElementType(l['type'],l['vocabulary']):'element');if(typeof l['color']==='string'&&!isNamedColor(l['color']))P['push']('with\x20color\x20'+StringExpression(l['color']));if(l['title']&&R)P['push']('with\x20text\x20'+StringExpression(l['title']));}}}}}if(l['selector']){if(l['selector']['type']==='css')P['push']('with\x20css\x20selector\x20\x27'+StringExpression(l['selector']['selector'])+'\x27');else{if(l['selector']['type']==='xpath')P['push']('with\x20xpath\x20selector\x20\x27'+StringExpression(l['selector']['selector'])+'\x27');}}if(l['anchor'])P['push'](Anchor(l['anchor']));return P['join']('\x20');}function ElementType(l,P){l=Array['isArray'](l)?l[0x0]:l;if(P&&P[l])return P[l];switch(l){case'table-cell':return'cell';case'table-head-cell':return'header\x20cell';case'table-row':return'row';case'table-column':return'column';case'table-leaf-row':return'row';case'table-leaf-column':return'column';case'table-stub-column':return'stub\x20column';case'table-head-row':return'header\x20row';case'textbox':return'field';case'combobox':return'dropdown';case'datetimepicker':return'date\x20and\x20time\x20picker';case'datepicker':return'date\x20picker';case'timepicker':return'time\x20picker';case'colorpicker':return'color\x20picker';case'radiogroup':return'radio\x20group';case'checkboxgroup':return'checkbox\x20group';case'listitem':return'list\x20item';case'menuitem':return'menu\x20item';case'pdfpage':return'document\x20page';default:return l;}}function Anchor(l){if(Array['isArray'](l)&&l['length']===0x2&&(typeIs(l[0x0],'table-column')||typeIs(l[0x0],'table-row'))&&(typeIs(l[0x1],'table-column')||typeIs(l[0x1],'table-row'))){const F=extractCommonTableAnchor(l[0x0],l[0x1]),o=F?removeDeepestTableAnchor(l[0x0]):l[0x0],z=F?removeDeepestTableAnchor(l[0x1]):l[0x1];let K=Anchor(o)+'\x20and\x20'+Anchor(z);if(F)K+='\x20'+Anchor(F);return K;}const P=Array['isArray'](l)?l[0x0]:l,R=[];if(P['position']==='near')R['push']('near\x20to');else{if(P['position']==='leftof')R['push']('to\x20the\x20left\x20of');else{if(P['position']==='rightof')R['push']('to\x20the\x20right\x20of');else{if(P['position']==='below')R['push']('below\x20of');else{if(P['position']==='above')R['push']('above\x20of');else{if(P['position']==='aboveleftof')R['push']('to\x20the\x20left\x20and\x20above\x20of');else{if(P['position']==='aboverightof')R['push']('to\x20the\x20right\x20and\x20above\x20of');else{if(P['position']==='belowleftof')R['push']('to\x20the\x20left\x20and\x20below\x20of');else{if(P['position']==='belowrightof')R['push']('to\x20the\x20right\x20and\x20below\x20of');else{if(P['position']==='inside'&&typeIs(P,'table'))R['push']('of');else{if(P['position']==='inside')R['push']('in');else{if(P['position']==='left')R['push']('at\x20the\x20left\x20of');else{if(P['position']==='right')R['push']('at\x20the\x20right\x20of');else{if(P['position']==='top')R['push']('at\x20the\x20top\x20of');else{if(P['position']==='bottom')R['push']('at\x20the\x20bottom\x20of');else{if(P['position']==='topleft')R['push']('at\x20the\x20left\x20and\x20top\x20of');else{if(P['position']==='topright')R['push']('at\x20the\x20right\x20and\x20top\x20of');else{if(P['position']==='bottomleft')R['push']('at\x20the\x20left\x20and\x20bottom\x20of');else{if(P['position']==='bottomright')R['push']('at\x20the\x20right\x20and\x20bottom\x20of');}}}}}}}}}}}}}}}}}}if(P['element']){if('isViewportDescriptor'in P['element'])R['push']('the\x20viewport');else{if('isDialogDescriptor'in P['element'])R['push']('the\x20native\x20browser\x20dialog');else R['push'](ElementDescriptor(P['element']));}}return R['join']('\x20');}function Reference(l){if('isRef'in l)return'{'+ReferenceName(l)+'}';else return'{%'+JSExpressionLiteral(l['expression'])+'%}';}function ReferenceName(l){return(l['modifiers']??[])['reduce']((P,R)=>{if('get'in R){if(typeof R['get']==='string')return test(Identifier$1,R['get'])?P+'.'+R['get']:P+'['+StringLiteral(R['get'])+']';else{if(typeof R['get']==='number')return P+'['+R['get']+']';else{if('isRef'in R['get']||'isJSExpressionRef'in R['get'])return P+'['+Reference(R['get'])+']';else{if('isInterpolatedString'in R['get'])return P+'['+InterpolatedStringLiteral(R['get'])+']';}}}}else{if('match'in R){const F=R['match'];if('pattern'in F)return P+'/'+F['pattern']+'/';else{if('name'in F)return P+'/'+F['name']+'/';}return P+'/'+String(F)+'/';}}return P;},l['name']);}function Literal(l,P){if(typeof l==='string')return StringLiteral(l,P?.['quoting']);else return JSON['stringify'](l);}function AnyExpression(l,P){if(l&&typeof l==='object'){if('isInterpolatedString'in l)return InterpolatedStringLiteral(l,P?.['quoting']);else{if('isStructure'in l)return StructureLiteral(l,P);else{if('isRef'in l||'isJSExpressionRef'in l)return Reference(l);}}return'';}else return Literal(l,P);}function JSExpressionLiteral(l){if(l['chunks']['length']===0x1)return typeof l['chunks'][0x0]==='string'?UnquotedStringLiteral(l['chunks'][0x0]):Reference(l['chunks'][0x0]);return l['chunks']['reduce']((P,R)=>{return P+(typeof R==='string'?UnquotedStringChunk(R):Reference(R));},'');}function StructureLiteral(l,P){if(l['type']==='array')return'['+l['items']['map'](R=>AnyExpression(R,P))['join'](',\x20')+']';else return'{'+l['items']['map'](R=>StringExpression(R['key'],P?.['quoting'])+':\x20'+AnyExpression(R['value'],P))['join'](',\x20')+'}';}function StringExpression(l,P){if(typeof l==='string')return StringLiteral(l,P);else{if('isInterpolatedString'in l)return InterpolatedStringLiteral(l,P);else return Reference(l);}}function Quoted(l,P='double\x20quoted'){if(P==='double\x20quoted')return DoubleQuoted(l);else{if(P==='single\x20quoted')return SingleQuoted(l);else{if(P==='unquoted')return l;else return'';}}}function DoubleQuoted(l){return'\x22'+l+'\x22';}function SingleQuoted(l){return'\x27'+l+'\x27';}function StringLiteral(l,P){if(P?.['prefer']&&P['prefer']!==P?.['avoid']){if(P['prefer']==='unquoted'&&!l['includes']('\x20')&&!/^['"]|^[\d,.]+$/['test'](l))return UnquotedStringChunk(l);else{if(P['prefer']==='double\x20quoted'&&!l['includes']('\x22'))return DoubleQuoted(DoubleQuotedStringChunk(l));else{if(P['prefer']==='single\x20quoted'&&!l['includes']('\x27'))return SingleQuoted(SingleQuotedStringChunk(l));}}}if(P?.['avoid']!=='unquoted'&&!l['includes']('\x20')&&!/^['"]/['test'](l))return UnquotedStringChunk(l);if(P?.['avoid']!=='double\x20quoted'&&!l['includes']('\x22'))return DoubleQuoted(DoubleQuotedStringChunk(l));else{if(P?.['avoid']!=='single\x20quoted'&&!l['includes']('\x27'))return SingleQuoted(SingleQuotedStringChunk(l));else return P?.['avoid']!=='double\x20quoted'?DoubleQuoted(DoubleQuotedStringChunk(l)):SingleQuoted(SingleQuotedStringChunk(l));}}function UnquotedStringLiteral(l){return UnquotedStringChunk(l);}function InterpolatedStringLiteral(l,P){if(l['chunks']['length']===0x1)return typeof l['chunks'][0x0]==='string'?StringLiteral(l['chunks'][0x0],P):Reference(l['chunks'][0x0]);const R=l['chunks']['reduce']((o,z,K)=>{if(typeof z==='string'){if(z['includes']('\x20')||K===0x0&&/^['"]/['test'](z))o['delete']('unquoted');else{if(z['includes']('\x22'))o['delete']('double\x20quoted');else{if(z['includes']('\x27'))o['delete']('single\x20quoted');}}}return o;},new Set(['unquoted','double\x20quoted','single\x20quoted']));if(P?.['avoid'])R['delete'](P?.['avoid']);const F=[...R][0x0]??(P?.['avoid']!=='double\x20quoted'?'double\x20quoted':'single\x20quoted');return Quoted(l['chunks']['reduce']((o,z)=>{return o+(typeof z==='string'?StringChunk(z,F):Reference(z));},''),F);}function StringChunk(l,P='double\x20quoted'){if(P==='unquoted')return UnquotedStringChunk(l);else{if(P==='double\x20quoted')return DoubleQuotedStringChunk(l);else{if(P==='single\x20quoted')return SingleQuotedStringChunk(l);else return'';}}}function UnquotedStringChunk(l){return l['replaceAll'](/[{]|\\(?=[\{])/g,(P,R)=>{return P==='{'&&!startsWith$2(Reference$1('any'),l['substring'](R))?P:'\x5c'+P;});}function SingleQuotedStringChunk(l){return l['replaceAll'](/['{]|\\(?=[\'{])/g,(P,R)=>{return P==='{'&&!startsWith$2(Reference$1('any'),l['substring'](R))?P:'\x5c'+P;});}function DoubleQuotedStringChunk(l){return l['replaceAll'](/["{]|\\(?=[\"{])/g,(P,R)=>{return P==='{'&&!startsWith$2(Reference$1('any'),l['substring'](R))?P:'\x5c'+P;});}function OrdinalIndex(l){return OrdinalNumberExpression(typeof l==='number'?l+0x1:l);}function OrdinalNumberExpression(l){if(typeof l==='number')return OrdinalNumberLiteral(l);else{if('isRef'in l||'isJSExpressionRef'in l)return Reference(l);else return'';}}function OrdinalNumberLiteral(l){if(l===0x1)return'first';else{if(l===0x2)return'second';else{if(l===0x3)return'third';}}const P=l%0x64;if(P>=0xb&&P<=0xd)return l+'th';switch(l%0xa){case 0x1:return l+'st';case 0x2:return l+'nd';case 0x3:return l+'rd';default:return l+'th';}}function typeIs(l,P){return Boolean(l&&l['element']&&'type'in l['element']===!![]&&l['element']['type']===P);}function findDeepestTableAnchor(l){if(!l['element']||'isViewportDescriptor'in l['element']||'isDialogDescriptor'in l['element'])return;if(typeIs(l,'table')){if(l['element']['anchor']&&!Array['isArray'](l['element']['anchor']))return findDeepestTableAnchor(l['element']['anchor'])||l;return l;}if(l['element']['anchor']&&!Array['isArray'](l['element']['anchor']))return findDeepestTableAnchor(l['element']['anchor']);}function extractCommonTableAnchor(l,P){const R=findDeepestTableAnchor(l),F=findDeepestTableAnchor(P);if(!R||!F)return;if(R['position']===F['position']&&R['element']&&F['element']){const o=R['element'],z=F['element'];if('type'in o&&'type'in z&&o['type']===z['type']&&o['title']===z['title'])return R;}}function removeDeepestTableAnchor(l){if(!l['element']||'isViewportDescriptor'in l['element']||'isDialogDescriptor'in l['element']||Array['isArray'](l['element']['anchor']))return l;if(l['element']['anchor']&&!Array['isArray'](l['element']['anchor'])&&typeIs(l['element']['anchor'],'table')){const P=l['element']['anchor'];if(P['element']&&!('isViewportDescriptor'in P['element'])&&!('isDialogDescriptor'in P['element'])&&!P['element']['anchor']){const {anchor:R,...F}=l['element'];return{...l,'element':F};}}if(l['element']['anchor']&&!Array['isArray'](l['element']['anchor']))return{...l,'element':{...l['element'],'anchor':removeDeepestTableAnchor(l['element']['anchor'])}};return l;}const cache=new Map();function getParse({allowed:l,disabled:P}){const R=(l?l['toSorted']()['join'](','):'*')+'|'+(P?P['toSorted']()['join'](','):'');let F=cache['get'](R);if(!F)cache['set'](R,F=makeParse(Instructions({'allowed':l,'disabled':P})));return F;}function parseText(l,{split:P,fix:R,mask:F,replacements:o,intent:intent=!![],locale:locale='en-US',allowed:z,disabled:K}={}){let X=0x0;for(const m of o??[]){l=replace(l,m['pos']+X,m['length'],m['text']),X+=m['text']['length']-m['length'];}const D=getParse({'allowed':z,'disabled':K})(l,{'intent':intent,'locale':locale});if(R&&D['errors']){const N=parseCurl(l);if(N)return parseText(FetchAction(N),{'split':P,'intent':intent,'fix':R,'mask':F,'locale':locale});const E=parseHttp(l);if(E)return parseText(FetchAction(E),{'split':P,'intent':intent,'fix':R,'mask':F,'locale':locale});}if(R&&D['fixes']&&!D['errors'])return parseText(D['fixes']['sort']((H,t)=>t['pos']-H['pos'])['reduce']((H,{pos:t,text:k,fix:O})=>replace(H,t,k['length'],O),l),{'split':P,'mask':F,'intent':intent,'locale':locale});if(P&&!D['errors']){const H=[];for(let t=D['markers']['length']-0x1;t>=0x0;--t){const k=D['markers'][t];if(k['type']==='action'||k['type']==='dependent\x20action'||k['type']==='control\x20flow'){const O=H[0x0];if(!O||O['pos']>k['pos']){if(O&&O['type']==='dependent\x20action'&&k['type']!=='control\x20flow')H[0x0]={...k,'text':l['substring'](k['pos'],O['pos']+O['text']['length'])};else{if(O&&k['subtype']==='else'&&O['subtype']==='if')H[0x0]={...k,'text':l['substring'](k['pos'],O['pos']+O['text']['length'])};else H['unshift'](k);}}}}if(H['length']>0x1)return nestPieces(resolveImplicitReferences(H,D['markers'])['map']((i,q)=>({'pos':H[q]['pos'],'result':parseText(i,{'intent':intent,'mask':F,'locale':locale})[0x0]})),D['markers']['filter'](i=>i['type']==='block'));}const a=D['results']?.[0x0]??[],G={'text':l,'result':a,'meta':{}};G['meta']['instructions']=a['map'](i=>i['type']);if(D['fixes'])G['meta']['fixes']=D['fixes'];if(D['disambiguations'])G['meta']['disambiguations']=D['disambiguations'];if(D['variables'])G['meta']['variables']=D['variables'];if(D['extractors'])G['meta']['extractors']=D['extractors'];if(D['operands'])G['meta']['operands']=D['operands'];if(D['randomValues'])G['meta']['randomValues']=D['randomValues'];if(D['files'])G['meta']['files']=D['files'];if(D['fetches'])G['meta']['fetches']=D['fetches'];if(D['intents'])G['meta']['intents']=D['intents'];if(D['conditionals'])G['meta']['conditional']=D['conditionals'][0x0];if(D['scopes'])G['meta']['scope']=D['scopes']['at'](-0x1);D['references']&&(G['meta']['references']=D['references'],G['meta']['parameters']=D['references']['reduce']((i,q)=>{if(!i['some'](T=>T['name']===q['name'])&&!D['variables']?.['some'](T=>T['name']===q['name']))i['push']({'name':q['name'],'type':q['type']});return i;},[]));if(D['markers']){G['meta']['markers']=D['markers']['filter'](q=>q['type']!=='empty'&&q['type']!=='block');const i=G['meta']['markers']['reduce']((q,T)=>{if(T['type']==='navigation\x20url')q['push'](T['text']['replaceAll'](/^['"]|['"]$/g,''));return q;},[]);if(i['length']>0x0)G['meta']['navigationUrls']=i;}if(D['errors']?.[0x0])G['error']=D['errors'][0x0];if(F){const q=maskText(l,{'meta':G['meta']});G['text']=q['text'],G['meta']=q['meta'];}return[G];}function nestPieces(l,P){function R(z){return P['reduce']((K,X)=>X['pos']<=z&&z<X['pos']+X['text']['length']?K+0x1:K,0x0);}const F=[],o=[];for(const z of l){const K=R(z['pos']);while(o['length']>0x0&&o['at'](-0x1)['depth']>=K)o['pop']();const X={'result':z['result'],'children':[]};(o['at'](-0x1)?.['node']['children']??F)['push'](X),o['push']({'node':X,'depth':K});}return F['map'](function D(a){return a['children']['length']>0x0?{'head':a['result'],'body':a['children']['map'](D)}:a['result'];});}function resolveImplicitReferences(l,P){return l['map'](R=>{const F=P['filter'](o=>o['pos']>=R['pos']&&o['pos']+o['text']['length']<=R['pos']+R['text']['length']);return F['filter'](o=>o['type']==='implicit\x20element\x20descriptor'&&o['element'])['filter'](o=>!F['some'](z=>z['type']==='element\x20descriptor'&&z['pos']<o['pos']))['toSorted']((o,z)=>z['pos']-o['pos'])['reduce']((o,z)=>replace(o,z['pos']-R['pos'],z['text']['length'],ElementDescriptor(z['element'])),R['text']);});}makeParse(StandaloneStringExpression),makeParse(Sanitize$1(StructureLiteral$1));const store=new WeakMap();function unseal(l){return store['get'](l);}function parseElementFragment(l){const P=makeParse(Sanitize$1(Element$2()))(l['trim']());return{'text':l,'result':P['results']?.[0x0],'error':P['errors']?.[0x0],'meta':{'markers':P['markers']}};}const parse$1=makeParse(Any(Index$1(OrdinalNumberLiteral$1),NonnegativeIntegerNumberLiteral,CardinalNumberLiteral));function parseIndex(l){if(typeof l==='number')return Number['isInteger'](l)&&l>=0x0?l:null;if(typeof l!=='string')return null;const {results:P,errors:R}=parse$1(l['trim']()['toLowerCase']());return!R?.['length']&&Number['isInteger'](P?.[0x0])?P[0x0]:null;}const PATTERNS$1={'price':Price,'percentage':Percentage,'number':NumberValue,'date':DateValue,'time':TimeValue,'code':Identifier};function extractPattern(l,P){const R=PATTERNS$1[l];if(!R)return null;return search(R,P)?.['text']??null;}function brandedHasInstance(l,P){return function(R){if(this!==l)return Function['prototype'][Symbol['hasInstance']]['call'](this,R);return typeof R==='object'&&R!==null&&R[P]===!![];};}function classBrand(l){return Symbol['for']('@applitools/nlp-utils.'+l);}function setBrand(l,P){Object['defineProperty'](l,P,{'value':!![]});}const EVENT_TARGET_BRAND=classBrand('EventTarget');var EventTarget$1=class EventTarget$1 extends globalThis['EventTarget']{static [Symbol['hasInstance']]=brandedHasInstance(EventTarget$1,EVENT_TARGET_BRAND);#listeners=new Map();#queue=new Set();#corked=![];#groups=new Map();#addListener(l,P){if(this.#listeners['has'](l))this.#listeners['get'](l)['add'](P);else this.#listeners['set'](l,new Set([P]));this['addEventListener'](l,P);if(l!=='listenerAdded'&&l!=='listenerRemoved')super['dispatchEvent'](new EventTargetListenerAddedEvent({'event':l,'count':this.#listeners['get'](l)['size']}));}#addOnceListener(l,P){if(this.#listeners['has'](l))this.#listeners['get'](l)['add'](P);else this.#listeners['set'](l,new Set([P]));this['addEventListener'](l,R=>{P(R),this.#listeners['get'](l)?.['delete'](P);if(l!=='listenerAdded'&&l!=='listenerRemoved')super['dispatchEvent'](new EventTargetListenerRemovedEvent({'event':l,'count':this.#listeners['get'](l)['size']}));},{'once':!![]});if(l!=='listenerAdded'&&l!=='listenerRemoved')super['dispatchEvent'](new EventTargetListenerAddedEvent({'event':l,'count':this.#listeners['get'](l)['size']}));}#removeListener(l,P){this.#listeners['get'](l)?.['delete'](P),this['removeEventListener'](l,P);}get['corked'](){return this.#corked;}constructor(){super(),setBrand(this,EVENT_TARGET_BRAND);}['dispatch'](l){this['dispatchEvent'](l);}['on'](l,P,R){this.#addListener(l,P);const F=()=>this['off'](l,P);if(R?.['key']){let o=this.#groups['get'](R['key']);if(!o)this.#groups['set'](R['key'],o=[]);o['push'](F);}return F;}['once'](l,P,R){if(P){this.#addOnceListener(l,P);const F=()=>this['off'](l,P);if(R?.['key']){let o=this.#groups['get'](R['key']);if(!o)this.#groups['set'](R['key'],o=[]);o['push'](F);}return F;}else return new Promise(z=>this.#addOnceListener(l,z));}['off'](l,P){if(!l)this.#listeners['forEach']((R,F)=>R['forEach'](o=>this.#removeListener(F,o))),this.#listeners['clear']();else{if(!P){if(this.#listeners['has'](l)){const R=l;this.#listeners['get'](R)?.['forEach'](F=>this.#removeListener(R,F)),this.#listeners['delete'](R);}else{const F=l;this.#groups['get'](F)?.['forEach'](o=>o()),this.#groups['delete'](F);}}else{const o=l;this.#removeListener(o,P);}}}['cork'](){this.#corked=!![];}['uncork'](){this.#corked=![],this.#queue['forEach'](l=>this['dispatch'](l)),this.#queue['clear']();}['dispatchEvent'](l){if(this.#corked)return this.#queue['add'](l),![];return super['dispatchEvent'](l);}['addEventListener'](l,P,R){return super['addEventListener'](l,P,R);}['removeEventListener'](l,P,R){return super['removeEventListener'](l,P,R);}},EventTargetListenerAddedEvent=class extends Event{['event'];['count'];constructor({event:l,count:P}){super('listenerAdded'),this['event']=l,this['count']=P;}},EventTargetListenerRemovedEvent=class extends Event{['event'];['count'];constructor({event:l,count:P}){super('listenerRemoved'),this['event']=l,this['count']=P;}};function on(l,P,R){return l['addEventListener'](P,R),()=>l['removeEventListener'](P,R);}function once$1(l,P,R){return l['addEventListener'](P,R,{'once':!![]}),()=>l['removeEventListener'](P,R);}async function abortable(l,P){if(P){if(P['aborted'])return Promise['reject'](P['reason']);let R;const F=new Promise((o,z)=>{R=once$1(P,'abort',()=>{z(P['reason']);});});return Promise['race']([l['finally'](()=>R()),F]);}else return l;}const EVENT_TARGET_NODE_BRAND=classBrand('EventTargetNode');var EventTargetNode=class EventTargetNode extends EventTarget$1{static [Symbol['hasInstance']]=brandedHasInstance(EventTargetNode,EVENT_TARGET_NODE_BRAND);constructor(){super(),setMaxListeners(0x64,this),setBrand(this,EVENT_TARGET_NODE_BRAND);}};const debugLogger={'log':(l,P)=>debuglog('nlp:runner')('%s\x20%o',l,P),'error':(l,P)=>debuglog('nlp:runner:error')('%s\x20%o',l,P),'trace':(l,P)=>debuglog('nlp:runner:trace')('%s\x20%o',l,P),'debug':(l,P)=>debuglog('nlp:runner:debug')('%s\x20%o',l,P)};let activeLogger=debugLogger;function use(l){activeLogger=l??debugLogger;}function log(l,P){activeLogger['log'](l,P);}function error(l,P){activeLogger['error'](l,P);}function trace(l,P){activeLogger['trace'](l,P);}function debug(l,P){activeLogger['debug'](l,P);}function serializeError(l){if(l instanceof Error){const P={'name':l['name'],'message':l['message']};if(l['stack'])P['stack']=l['stack'];const R=l['code'];if(typeof R==='string')P['code']=R;if(l['cause']!==void 0x0)P['cause']=serializeError(l['cause']);return P;}return{'name':'Error','message':typeof l==='string'?l:inspect(l,{'depth':0x3})};}const LEVEL_WEIGHT={'trace':0x0,'debug':0x1,'info':0x2,'error':0x3};function makeEventLogger({downstream:l}={}){const P=new Set();function R(o,z,K){F['downstream']?.[levelMethod(o)](z,K);if(LEVEL_WEIGHT[o]<LEVEL_WEIGHT[F['minLevel']]||P['size']===0x0)return;const X={'type':z,'level':o,'timestamp':Date['now'](),'data':serializeErrors(K)};for(const D of P)try{D(X);}catch{}}const F={'minLevel':'trace','downstream':l,'log':(o,z)=>R('info',o,z),'error':(o,z)=>R('error',o,z),'trace':(o,z)=>R('trace',o,z),'debug':(o,z)=>R('debug',o,z),'onLog'(o){return P['add'](o),()=>P['delete'](o);}};return F;}function levelMethod(l){return l==='info'?'log':l;}function serializeErrors(l){let P;for(const [R,F]of Object['entries'](l))F instanceof Error&&(P??={...l},P[R]=serializeError(F));return P??l;}const COLOR_BRAND=classBrand('Color');var Color=class Color{static [Symbol['hasInstance']]=brandedHasInstance(Color,COLOR_BRAND);['r'];['g'];['b'];['a'];constructor(l,P,R,F=0x1){this['r']=l,this['g']=P,this['b']=R,this['a']=F,setBrand(this,COLOR_BRAND);}static['from'](l){return new Color(l['r'],l['g'],l['b'],l['a']);}['toString'](){return colorToString(this);}['equals'](l,P=0x5){return Math['abs'](this['r']-l['r'])<=P&&Math['abs'](this['g']-l['g'])<=P&&Math['abs'](this['b']-l['b'])<=P&&Math['abs'](this['a']-l['a'])<=P;}['toRGBAString'](){return'rgba('+this['r']+',\x20'+this['g']+',\x20'+this['b']+',\x20'+this['a']+')';}['diff'](l){return differenceHyab()(this['toCulori'](),l['toCulori']())/0x15e;}['getColorFamily'](){const l=nearest(colorFamilies['flatMap'](P=>P['colors']),differenceHyab())(this['toCulori']())[0x0];return colorFamilies['find'](P=>P['colors']['includes'](l))?.['name']||'unknown';}['similarTo'](l,P=0.75){return this['getSimilarity'](l)>=P;}['getSimilarity'](l){const P=this['getColorFamily']()===l['getColorFamily']();return Math['min']((0x1-this['diff'](l))*(P?1.2:0.8),0x1);}['toCulori'](){return{'mode':'rgb','r':this['r']/0xff,'g':this['g']/0xff,'b':this['b']/0xff,'alpha':this['a']};}static['fromCulori'](l){const P=rgb(l);return new Color(P['r']*0xff,P['g']*0xff,P['b']*0xff,l['alpha']);}};function stringToColor(l){const P=l?.['trim']();if(!P)return null;const R=parse(P['replace'](/\s/g,'')['toLowerCase']());if(R)return Color['fromCulori'](R);const F=getKnownColor(P);if(F)return new Color(F['r'],F['g'],F['b'],0x1);const {rgba:o}=S(P);if(o){const [z,K,X,D]=o;return new Color(clampByte(z),clampByte(K),clampByte(X),clampAlpha(D));}return null;}function stringToColorOrThrow(l){const P=stringToColor(l);if(P===null)throw new Error('Invalid\x20color\x20string:\x20'+l);return P;}function objectToColor(l){if(l==null)return null;if(!('r'in l)||!('g'in l)||!('b'in l))return null;return new Color(l['r'],l['g'],l['b'],'a'in l?l['a']:0x1);}let knownColors=null;function getKnownColor(l){function P(R){return R['toLowerCase']()['replaceAll']('\x20','');}if(!knownColors)knownColors=Object['fromEntries'](colornames['map'](({name:R,hex:F})=>{return[P(R),{'r':parseInt(F['slice'](0x1,0x3),0x10),'g':parseInt(F['slice'](0x3,0x5),0x10),'b':parseInt(F['slice'](0x5,0x7),0x10)}];}));return knownColors[P(l)];}function clampByte(l){if(Number['isNaN'](l))return NaN;return Math['max'](0x0,Math['min'](0xff,l|0x0));}function clampAlpha(l){if(Number['isNaN'](l))return NaN;return Math['max'](0x0,Math['min'](0x1,l));}function colorToString(l){const P=colornames['find'](({hex:R})=>R===rgbaToHex(l));if(P)return P['name']['toLowerCase']()['replaceAll']('\x20','');return'rgba('+l['r']+',\x20'+l['g']+',\x20'+l['b']+',\x20'+l['a']+')';}function rgbaToHex(l){return'#'+l['r']['toString'](0x10)['padStart'](0x2,'0')+l['g']['toString'](0x10)['padStart'](0x2,'0')+l['b']['toString'](0x10)['padStart'](0x2,'0');}const colorFamilies=[{'name':'red','colors':['#CD5C5C','#F08080','#FA8072','#E9967A','#FFA07A','#DC143C','#FF0000','#B22222','#8B0000']},{'name':'pink','colors':['#FFC0CB','#FFB6C1','#DB7093','#FF69B4','#FF1493','#C71585']},{'name':'orange','colors':['#FFA07A','#FF7F50','#FF6347','#FF4500','#FF8C00','#FFA500']},{'name':'yellow','colors':['#FFFFE0','#FFFACD','#FAFAD2','#FFEFD5','#FFE4B5','#FFDAB9','#EEE8AA','#FFD700','#FFFF00','#F0E68C','#BDB76B']},{'name':'purple','colors':['#E6E6FA','#D8BFD8','#DDA0DD','#EE82EE','#DA70D6','#FF00FF','#BA55D3','#9370DB','#7B68EE','#6A5ACD','#663399','#8A2BE2','#9400D3','#9932CC','#8B008B','#800080','#4B0082','#483D8B']},{'name':'green','colors':['#ADFF2F','#7FFF00','#7CFC00','#9ACD32','#6B8E23','#808000','#556B2F','#00FF00','#32CD32','#98FB98','#90EE90','#228B22','#008000','#006400','#00FA9A','#00FF7F','#3CB371','#2E8B57','#66CDAA','#8FBC8B','#20B2AA','#008B8B','#008080']},{'name':'blue','colors':['#00FFFF','#E0FFFF','#AFEEEE','#7FFFD4','#40E0D0','#48D1CC','#00CED1','#5F9EA0','#B0E0E6','#ADD8E6','#87CEEB','#87CEFA','#00BFFF','#1E90FF','#4682B4','#B0C4DE','#6495ED','#7B68EE','#4169E1','#0000FF','#0000CD','#00008B','#000080','#191970']},{'name':'brown','colors':['#FFF8DC','#FFEBCD','#FFE4C4','#FFDEAD','#F5DEB3','#DEB887','#D2B48C','#BC8F8F','#F4A460','#DAA520','#B8860B','#CD853F','#D2691E','#8B4513','#A0522D','#A52A2A','#800000']},{'name':'white','colors':['#FFFFFF','#FFFAFA','#F0FFF0','#F5FFFA','#F0FFFF','#F0F8FF','#F8F8FF','#F5F5F5','#FFF5EE','#F5F5DC','#FDF5E6','#FFFAF0','#FFFFF0','#FAEBD7','#FAF0E6','#FFF0F5','#FFE4E1']},{'name':'gray','colors':['#DCDCDC','#D3D3D3','#C0C0C0','#A9A9A9','#808080','#696969','#778899','#708090','#2F4F4F']},{'name':'black','colors':['#000000']}],POINT_BRAND=classBrand('Point');var Point=class Point{static [Symbol['hasInstance']]=brandedHasInstance(Point,POINT_BRAND);['x'];['y'];constructor(l,P){this['x']=l,this['y']=P,setBrand(this,POINT_BRAND);}['equals'](l,P=0.1){return Math['abs'](this['x']-l['x'])<P&&Math['abs'](this['y']-l['y'])<P;}['distance'](l){return Math['hypot'](this['x']-l['x'],this['y']-l['y']);}};const VECTOR_BRAND=classBrand('Vector');var Vector=class Vector{static [Symbol['hasInstance']]=brandedHasInstance(Vector,VECTOR_BRAND);static ['down']=new Vector(0x0,0x1);static ['left']=new Vector(-0x1,0x0);static ['right']=new Vector(0x1,0x0);static ['up']=new Vector(0x0,-0x1);static ['leftUp']=new Vector(-0x1,-0x1);static ['rightUp']=new Vector(0x1,-0x1);static ['leftDown']=new Vector(-0x1,0x1);static ['rightDown']=new Vector(0x1,0x1);static['fromPoints'](l,P){return new Vector(P['x']-l['x'],P['y']-l['y']);}['x'];['y'];constructor(l,P){this['x']=l,this['y']=P,setBrand(this,VECTOR_BRAND);}get['magnitude'](){return Math['hypot'](this['x'],this['y']);}['cross'](l){return this['x']*l['y']-this['y']*l['x'];}['dot'](l){return this['x']*l['x']+this['y']*l['y'];}};const SEGMENT_BRAND=classBrand('Segment');var Segment=class Segment{static [Symbol['hasInstance']]=brandedHasInstance(Segment,SEGMENT_BRAND);['start'];['end'];constructor(l,P){this['start']=l instanceof Point?l:new Point(l['x'],l['y']),this['end']=P instanceof Point?P:new Point(P['x'],P['y']),setBrand(this,SEGMENT_BRAND);}['toOrthogonal'](){const l=Math['abs'](this['end']['x']-this['start']['x'])<=Math['abs'](this['end']['y']-this['start']['y'])?new Point(this['end']['x'],this['start']['y']):new Point(this['start']['x'],this['end']['y']);return[new Segment(this['start'],l),new Segment(l,this['end'])];}['contains'](l){const P=Vector['fromPoints'](this['start'],this['end']),R=Vector['fromPoints'](this['start'],l);if(P['cross'](R)!==0x0)return![];return Math['min'](this['start']['x'],this['end']['x'])<=l['x']&&l['x']<=Math['max'](this['start']['x'],this['end']['x'])&&Math['min'](this['start']['y'],this['end']['y'])<=l['y']&&l['y']<=Math['max'](this['start']['y'],this['end']['y']);}};const RECTANGLE_BRAND=classBrand('Rectangle');var Rectangle=class Rectangle{static [Symbol['hasInstance']]=brandedHasInstance(Rectangle,RECTANGLE_BRAND);static['min'](...l){return l['reduce']((P,R)=>R['area']<P['area']?R:P);}static['max'](...l){return l['reduce']((P,R)=>R['area']>P['area']?R:P);}static['union'](l){const [P,...R]=l;return P['union'](...R);}static['intersection'](l){const [P,...R]=l;let F=P;for(const o of R){F=F['intersection'](o);if(!F)return null;}return F;}static['from'](l){return new Rectangle(l['x'],l['y'],l['width'],l['height']);}static['fromQuad'](l){const P=[l[0x0],l[0x2],l[0x4],l[0x6]],R=[l[0x1],l[0x3],l[0x5],l[0x7]],F=Math['min'](...P),o=Math['min'](...R);return new Rectangle(F,o,Math['max'](...P)-F,Math['max'](...R)-o);}['left'];['top'];['right'];['bottom'];get['center'](){return new Point(this['left']+this['width']/0x2,this['top']+this['height']/0x2);}get['leftTop'](){return new Point(this['left'],this['top']);}get['rightTop'](){return new Point(this['right'],this['top']);}get['rightBottom'](){return new Point(this['right'],this['bottom']);}get['leftBottom'](){return new Point(this['left'],this['bottom']);}get['edges'](){return[new Segment(this['leftTop'],this['rightTop']),new Segment(this['rightTop'],this['rightBottom']),new Segment(this['rightBottom'],this['leftBottom']),new Segment(this['leftBottom'],this['leftTop'])];}get['vertices'](){return[this['leftTop'],this['rightTop'],this['rightBottom'],this['leftBottom']];}get['area'](){return this['width']*this['height'];}['x'];['y'];['width'];['height'];constructor(l,P,R,F){this['x']=l,this['y']=P,this['width']=R,this['height']=F,this['left']=l,this['top']=P,this['right']=R===Infinity?Infinity:l+R,this['bottom']=F===Infinity?Infinity:P+F,setBrand(this,RECTANGLE_BRAND);}['offset'](l){return new Rectangle(this['x']+l['x'],this['y']+l['y'],this['width'],this['height']);}['scale'](l){return new Rectangle(this['x']*l,this['y']*l,this['width']*l,this['height']*l);}['resize']({left:l,right:P,top:R,bottom:F}){const o=this['left']-(l??0x0),z=Math['max'](o,this['right']+(P??0x0)),K=this['top']-(R??0x0),X=Math['max'](K,this['bottom']+(F??0x0));return new Rectangle(o,K,z-o,X-K);}['union'](...l){let P=this['left'],R=this['top'],F=this['right'],o=this['bottom'];for(const z of l){P=Math['min'](P,z['left']),R=Math['min'](R,z['top']),F=Math['max'](F,z['right']),o=Math['max'](o,z['bottom']);}return new Rectangle(P,R,F-P,o-R);}['intersection'](l){if(!this['intersects'](l))return null;const P=Math['max'](this['left'],l['left']),R=Math['min'](this['right'],l['right']),F=Math['max'](this['top'],l['top']),o=Math['min'](this['bottom'],l['bottom']);return new Rectangle(P,F,R-P,o-F);}['equals'](l){return this['x']===l['x']&&this['y']===l['y']&&this['width']===l['width']&&this['height']===l['height'];}['contains'](l){if(l instanceof Rectangle)return Math['round'](this['left'])<=Math['round'](l['left'])&&Math['round'](this['top'])<=Math['round'](l['top'])&&Math['round'](this['right'])>=Math['round'](l['right'])&&Math['round'](this['bottom'])>=Math['round'](l['bottom']);else return l['x']>=this['left']&&l['x']<=this['right']&&l['y']>=this['top']&&l['y']<=this['bottom'];}['intersects'](l){return this['left']<l['right']&&this['right']>l['left']&&this['top']<l['bottom']&&this['bottom']>l['top'];}['distance'](l){const P=Math['max'](0x0,l['left']-this['right'],this['left']-l['right']),R=Math['max'](0x0,l['top']-this['bottom'],this['top']-l['bottom']);return Math['hypot'](P,R);}['toJSON'](){return{'x':this['x'],'y':this['y'],'width':this['width'],'height':this['height']};}[Symbol['for']('nodejs.util.inspect.custom')](l,P){return'('+P['stylize'](this['left']['toFixed'](0x1),'number')+',\x20'+P['stylize'](this['top']['toFixed'](0x1),'number')+')\x20'+P['stylize'](this['width']['toFixed'](0x1),'number')+'\x20x\x20'+P['stylize'](this['height']['toFixed'](0x1),'number');}};const RTREE_BRAND=classBrand('RTree');var RTree=class RTree{static [Symbol['hasInstance']]=brandedHasInstance(RTree,RTREE_BRAND);#root;#maxItems;#minItems;constructor({maxItems:maxItems=0x9,minItems:l}={}){this.#maxItems=Math['max'](0x4,maxItems),this.#minItems=l??Math['max'](0x2,Math['floor'](this.#maxItems*0.4)),this.#root=new RNode({'leaf':!![],'minItems':this.#minItems}),setBrand(this,RTREE_BRAND);}*['levels'](){let l=[this.#root];while(l['length']>0x0)if(l[0x0]['leaf']){yield l['flatMap'](P=>P['children']['map'](R=>R['rect']));return;}else{const P=[],R=[];for(const F of l){P['push'](F['rect']),R['push'](...F['children']);}yield P,l=R;}}['insert'](l){const P=[];let R=this.#root;while(!R['leaf']){P['push'](R),R=R['chooseChild'](l['rect']);}return P['push'](R),R['add'](l),this.#balance(P),this;}['search'](l){const P=[],R=[this.#root];while(R['length']>0x0){const F=R['shift']();if(F['rect']['intersects'](l)){if(F['leaf']){for(const o of F['children'])if(o['rect']['intersects'](l))P['push'](o['data']);}else R['push'](...F['children']);}}return P;}#balance(l){for(let P=l['length']-0x1;P>=0x0;--P){const R=l[P];if(R['children']['length']>this.#maxItems){const F=R['split']();if(P===0x0)this.#root=new RNode({'leaf':![],'minItems':this.#minItems})['add'](R,F);else l[P-0x1]['add'](F);}}}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){let F='';const o=[{'node':this.#root,'depth':0x0}];while(o['length']>0x0){const {node:z,depth:K}=o['shift']();if(z instanceof RNode)o['unshift'](...z['children']['map'](X=>({'node':X,'depth':K+0x1}))),F+='\x20\x20'['repeat'](K)+R(z,P)+'\x0a';else F+='\x20\x20'['repeat'](K)+('RItem\x20'+R({'rect':z['rect'],'data':z['data']},{...P,'compact':!![],'breakLength':Infinity})+'\x0a');}return F;}},RNode=class RNode{#rect;#children=[];#leaf;#minItems;get['rect'](){return this.#rect??new Rectangle(0x0,0x0,0x0,0x0);}get['children'](){return this.#children;}get['leaf'](){return this.#leaf;}constructor({leaf:l,minItems:P}){this.#leaf=l,this.#minItems=P;}*['descendants'](){const l=[this];while(l['length']>0x0){const P=l['shift']();yield P;if(P['leaf'])yield*P['children'];else l['push'](...P['children']);}}['chooseChild'](l){let P=this.#children[0x0],R=P['rect']['union'](l)['area']-P['rect']['area'],F=P['rect']['area'];for(let o=0x1;o<this.#children['length'];++o){const z=this.#children[o],K=z['rect']['union'](l)['area']-z['rect']['area'];(K<R||K===R&&z['rect']['area']<F)&&(R=K,F=z['rect']['area'],P=z);}return P;}['add'](...l){return this.#children['push'](...l),this.#rect=this.#rect?this.#rect['union'](...l['map'](P=>P['rect'])):Rectangle['union'](l['map'](P=>P['rect'])),this;}['split'](){const l=[...this.#children],[P,R]=findSeeds(l)['map'](o=>({'rect':l[o]['rect'],'nodes':l['splice'](o,0x1)}));while(l['length']>0x0){if(R['nodes']['length']+l['length']<=this.#minItems){R['nodes']['push'](...l),R['rect']=R['rect']['union'](...l['map'](z=>z['rect']));break;}if(P['nodes']['length']+l['length']<=this.#minItems){P['nodes']['push'](...l),P['rect']=P['rect']['union'](...l['map'](z=>z['rect']));break;}let o={'difference':-Infinity,'index':0x0,'group':R,'rect':R['rect']};for(let z=0x0;z<l['length'];++z){const K=l[z],X={'rect':R['rect']['union'](K['rect']),'group':R},D=X['rect']['area']-R['rect']['area'],a={'rect':P['rect']['union'](K['rect']),'group':P},G=a['rect']['area']-P['rect']['area'],m=Math['abs'](D-G);if(m>o['difference'])o={'difference':m,'index':z,...D<G?X:a};}o['group']['nodes']['push'](...l['splice'](o['index'],0x1)),o['group']['rect']=o['group']['rect']['union'](o['rect']);}this.#children=R['nodes'],this.#rect=R['rect'];const F=new RNode({'leaf':this.#leaf,'minItems':this.#minItems});return F.#children=P['nodes'],F.#rect=P['rect'],F;}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){return'RNode\x20'+R({'rect':this['rect'],'leaf':this['leaf']},{...P,'compact':!![],'breakLength':Infinity});}};function findSeeds(l){let P=-0x1,R=[0x0,0x0];for(let F=0x0;F<l['length'];F++){const o=l[F];for(let z=F+0x1;z<l['length'];z++){const K=l[z],X=o['rect']['union'](K['rect'])['area']-o['rect']['area']-K['rect']['area'];X>P&&(P=X,R=[z,F]);}}return R;}const RAY_BRAND=classBrand('Ray');(class Ray{static [Symbol['hasInstance']]=brandedHasInstance(Ray,RAY_BRAND);static['fromPoints'](l,P){return new Ray(l,Vector['fromPoints'](l,P));}['origin'];['direction'];constructor(l,P){this['origin']=l,this['direction']=P,setBrand(this,RAY_BRAND);}['contains'](l){const P=new Vector(l['x']-this['origin']['x'],l['y']-this['origin']['y']);if(P['cross'](this['direction'])!==0x0)return![];return P['dot'](this['direction'])>=0x0;}['intersection'](l){const P=l['direction']['cross'](this['direction']);if(Math['abs'](P)<Number['EPSILON'])return null;const R=l['origin']['x']-this['origin']['x'],F=l['origin']['y']-this['origin']['y'],o=(l['direction']['x']*F-l['direction']['y']*R)/P,z=(this['direction']['x']*F-this['direction']['y']*R)/P;if(o>=0x0&&z>=0x0)return new Point(this['origin']['x']+o*this['direction']['x'],this['origin']['y']+o*this['direction']['y']);return null;}['distance'](l){const P=Vector['fromPoints'](this['origin'],l);if(this['direction']['dot'](P)<0x0)return this['origin']['distance'](l);return Math['abs'](this['direction']['cross'](P)/this['direction']['magnitude']);}});const PATTERNS={'price':l=>extractPattern('price',l),'percentage':l=>extractPattern('percentage',l),'number':l=>extractPattern('number',l),'date':l=>extractPattern('date',l),'time':l=>extractPattern('time',l),'code':l=>extractPattern('code',l)};function getPatternMatcher(l){return PATTERNS[l];}const DEBUG_BUS_KEY=Symbol['for']('applitools.nlp.debugBus'),debugBus=globalThis[DEBUG_BUS_KEY]??=new EventTarget$1(),WATCHER_BRAND=classBrand('Watcher');function makeWatcher(l){return new Watcher(l);}var Watcher=class Watcher{static [Symbol['hasInstance']]=brandedHasInstance(Watcher,WATCHER_BRAND);#promise;#resolve;#reject;#result;#hint;#signal;#timers=new Map();#listeners=[];get['promise'](){if(!this.#promise){this.#promise=new Promise((...l)=>[this.#resolve,this.#reject]=l);if(this.#result){if(this.#result['status']==='fulfilled')this.#resolve(this.#result['value']);else this.#reject(this.#result['reason']);}}return this.#promise;}get['pending'](){return!this.#result;}get['settled'](){return!!this.#result;}get['hint'](){return this.#hint;}get[Symbol['toStringTag']](){return'Watcher';}constructor(l){this.#hint=l?.['hint'],this.#signal=l?.['signal'];if(this.#signal){if(this.#signal['aborted'])this['reject'](this.#signal['reason']);else this.#listeners['push'](once$1(this.#signal,'abort',()=>void this['reject'](this.#signal['reason'])));}setBrand(this,WATCHER_BRAND);}async['then'](l,P){return this['promise']['then'](l,P);}async['catch'](l){return this['promise']['catch'](l);}async['finally'](l){return this['promise']['finally'](l);}['reset'](l){this.#timers['forEach'](P=>P['cancel']()),this.#hint=l?.['hint'];if(this.#signal!==l?.['signal'])this.#signal=l?.['signal'];this.#listeners['forEach'](P=>P()),this.#listeners=[];this.#result&&(this.#result=void 0x0,this.#promise=void 0x0,this.#resolve=void 0x0,this.#reject=void 0x0);if(this.#signal){if(this.#signal['aborted'])this['reject'](this.#signal['reason']);else this.#listeners['push'](once$1(this.#signal,'abort',()=>void this['reject'](this.#signal['reason'])));}return this;}['resolve'](l,{delay:P,key:R}={}){if(P&&P>0x0){R??='default',this.#timers['get'](R)?.['cancel']();const F=setTimeout(()=>void this['resolve'](l),P);this.#timers['set'](R,{'cancel':()=>(clearTimeout(F),this.#timers['delete'](R))});}else this.#timers['forEach'](o=>o['cancel']()),this.#result??={'status':'fulfilled','value':l},this.#resolve?.(l);return this;}['reject'](l,{delay:P,key:R}={}){if(P&&P>0x0){R??='default',this.#timers['get'](R)?.['cancel']();const F=setTimeout(()=>void this['reject'](l),P);this.#timers['set'](R,{'cancel':()=>(clearTimeout(F),this.#timers['delete'](R))});}else this.#timers['forEach'](o=>o['cancel']()),this.#result??={'status':'rejected','reason':l},this.#reject?.(l);return this;}};function sleep(l,{signal:P}={}){return makeWatcher({'signal':P})['resolve'](void 0x0,{'delay':l});}function until(l,{timeout:P,signal:R}){const F=sleep(P,{'signal':R});return l['finally'](()=>void F['resolve']()),F;}const PROGRESS_EVENT_BRAND=classBrand('ProgressEvent');var ProgressEvent=class ProgressEvent extends Event{static [Symbol['hasInstance']]=brandedHasInstance(ProgressEvent,PROGRESS_EVENT_BRAND);constructor(){super('progress'),setBrand(this,PROGRESS_EVENT_BRAND);}};function rectToSamplingPoints(l){const P=Math['round'](l['left']+l['width']/0x2),R=Math['round'](l['top']+l['height']/0x2),F=P+Math['floor'](l['width']/0x4),o=P-Math['ceil'](l['width']/0x4),z=l['height']/0x2*0.15,K=Math['ceil'](l['top']+z),X=Math['floor'](l['top']+l['height']-z);return[{'x':o,'y':R},{'x':F,'y':R},{'x':P,'y':R},{'x':P,'y':K},{'x':P,'y':X}];}function calculateObscurationRatio(l){if(l['length']===0x0)return 0x1;const P=l['flat']();return P['filter'](R=>R)['length']/P['length'];}const MAX_PROJECTED_TEXT=0xa0;function clip(l){return l['length']>MAX_PROJECTED_TEXT?l['slice'](0x0,MAX_PROJECTED_TEXT)+'…':l;}function projectAXNode(l){if(!l)return null;const P={};try{if(l['type'])P['type']={...l['type']};if(l['text'])P['text']=clip(l['text']);const R=l['visibleLabel']||l['geometricLabel']||l['declarativeLabel'];if(R)P['label']=clip(R);const F=l['borderRect'];if(F)P['rect']={'x':F['x'],'y':F['y'],'width':F['width'],'height':F['height']};}catch{}return P;}function projectDescriptor(l){if(!l)return l;const {node:P,anchor:R,fallback:F,...o}=l,z={...o};if(P)z['node']=projectAXNode(P);if(R)z['anchor']=(Array['isArray'](R)?R:[R])['map'](K=>({...K,'element':K['element']&&!('isViewportDescriptor'in K['element'])?projectDescriptor(K['element']):K['element']}));if(F)z['fallback']=projectDescriptor(F);return z;}function projectPrioritizedCandidates(l,P){return l['map'](R=>{let F=0x1;return{'nodeId':R['node']['debugLog']?.['id'],'node':projectAXNode(R['node']),'quality':R['quality'],'prioritizers':P['map'](o=>{let z;try{const K=o['value'](R);z=Array['isArray'](K)?K['join'](',\x20'):K;}catch{z=void 0x0;}return{'name':o['name'],'priorityOrder':F++,'order':typeof o['compare']==='function'?'custom':o['compare']['order']??'asc','value':typeof z==='string'?clip(z):z};})};});}const eventLogger=makeEventLogger();use(eventLogger);const RUNNER_TYPES=new Set(['instructionExecutionStarted','instructionExecutionFinished','subinstructionExecutionStarted','subinstructionExecutionFinished']),RECORDER_TYPES=new Set(['recordingStarted','recordingStopped','instructionRecorded','elementSelectionStarted','elementSelectionStopped','elementDescriptorGenerated','elementSelectorGenerated','recorderError']);function isLegacyLogEventType(l){return RUNNER_TYPES['has'](l)||RECORDER_TYPES['has'](l);}function makeLogEventFromStructured(l){return new LogEvent(l['data']!=null&&!(typeof l['data']==='object'&&Object['keys'](l['data'])['length']===0x0)?{'type':l['type'],'data':l['data']}:{'type':l['type']});}var LogEvent=class LogEvent extends CustomEvent{['component'];constructor(l){super('log',{'detail':{...l,'timestamp':l['timestamp']??Date['now']()}}),this['component']=RUNNER_TYPES['has'](l['type'])?'runner':'recorder';}['clone'](){return new LogEvent(this['detail']);}};const bus=new EventTarget$1();eventLogger['onLog'](l=>{if(isLegacyLogEventType(l['type']))bus['dispatch'](makeLogEventFromStructured(l));});function makeScript(l){if(l instanceof Script)return l;else{if(typeof l!=='object')return new Script({'source':l});else return new Script(l);}}function makeBundledScript({name:l,url:P}){return new Script({'source':readFileSync(P,{'encoding':'utf8'}),'name':l,'bundled':!![]});}var Script=class{['source'];['name'];['bundled'];constructor({source:l,name:P,bundled:R}){this['source']=l['toString'](),this['name']=P,this['bundled']=!!R;}async['compile'](l){if(this['bundled']&&this['name']&&knownBundledSnippets['has'](this['name']))return await l['evaluate'](makeExpression({'name':'registerRuntimeBundled_'+this['name'],'source':bundleSnippet(this['name'])})),makeScript({'name':this['name'],'source':'(...args)\x20=>\x20'+this['name']+'(...args)'});return this;}['toString'](){return this['source'];}['toJSON'](){return this['source'];}[Symbol['toPrimitive']](){return this['source'];}[Symbol['for']('nodejs.util.inspect.custom')](){return this['name']?'NamedScript('+this['name']+')':'Script('+(this['source']['length']>0xc8?this['source']['substring'](0x0,0xc8)+'...':this['source'])+')';}};function makeExpression(l){return l instanceof Expression?l:new Expression(typeof l==='object'?l:{'source':l});}function makeBundledExpression({name:l,url:P}){return new Expression({'source':readFileSync(P,{'encoding':'utf8'}),'name':l,'bundled':!![]});}var Expression=class{['source'];['name'];['bundled'];constructor({source:l,name:P,bundled:R}){this['source']=typeof l==='string'?l:'('+l['toString']()+')()',this['name']=P,this['bundled']=!!R;}async['compile'](){if(this['bundled']&&this['name']&&knownBundledSnippets['has'](this['name']))return makeExpression({'name':this['name'],'source':bundleSnippet(this['name'])});return this;}['toString'](){return this['source'];}['toJSON'](){return this['source'];}[Symbol['toPrimitive']](){return this['source'];}[Symbol['for']('nodejs.util.inspect.custom')](){return this['name']?'NamedExpression('+this['name']+')':'Expression('+(this['source']['length']>0xc8?this['source']['substring'](0x0,0xc8)+'...':this['source'])+')';}};const knownBundledSnippets=new Map();function provideRolldownConfig(l){for(const P of l)if(!Array['isArray'](P['output'])&&P['output']?.['name'])knownBundledSnippets['set'](P['output']['name'],P);}function bundleSnippet(l){return execFileSync(process['execPath'],[new URL('../../assets/bundler-CqGVGUSF.ts',import.meta.url)['pathname'],JSON['stringify'](knownBundledSnippets['get'](l))],{'maxBuffer':0xa*0x400*0x400,'encoding':'utf8'});}const findNodeBySelector=makeBundledScript({'name':'findNodeBySelector','url':new URL('../../assets/find-node-by-selector-FKXS0K9G.js',import.meta.url)}),findNodesBySelector=makeBundledScript({'name':'findNodesBySelector','url':new URL('../../assets/find-nodes-by-selector-Cbl5Yyn7.js',import.meta.url)}),getElementSelector=makeBundledScript({'name':'getElementSelector','url':new URL('../../assets/get-element-selector-DdXbhL__.js',import.meta.url)}),getElementValue=makeBundledScript({'name':'getElementValue','url':new URL('../../assets/get-element-value-Br7RXcCX.js',import.meta.url)}),setElementValue=makeBundledScript({'name':'setElementValue','url':new URL('../../assets/set-element-value-CipEuFvw.js',import.meta.url)}),canTypeIntoElement=makeBundledScript({'name':'canTypeToElement','url':new URL('../../assets/can-type-to-element-Ly-SUrz_.js',import.meta.url)}),isElementAcceptableInvisible=makeBundledScript({'name':'isElementAcceptableInvisible','url':new URL('../../assets/is-element-acceptable-invisible-BWAx59YN.js',import.meta.url)}),checkVisibility=makeBundledScript({'name':'checkVisibility','url':new URL('../../assets/check-visibility-NBT6SZvi.js',import.meta.url)}),isFrameContentVisible=makeBundledScript({'name':'isFrameContentVisible','url':new URL('../../assets/is-frame-content-visible-D-Jj5gM9.js',import.meta.url)}),getObscurationRatio=makeBundledScript({'name':'getObscurationRatio','url':new URL('../../assets/get-obscuration-ratio-zVFVUD5T.js',import.meta.url)}),setElementCaretPosition=makeBundledScript({'name':'setElementCaretPosition','url':new URL('../../assets/set-element-caret-position-2rBkIsy9.js',import.meta.url)}),registerPort=makeBundledScript({'name':'registerPort','url':new URL('../../assets/register-port-BZpidK-7.js',import.meta.url)}),visibilityTracker=makeBundledExpression({'name':'visibilityTracker','url':new URL('../../assets/visibility-tracker-BscfcZdV.js',import.meta.url)}),filepickerMocker=makeBundledExpression({'name':'filepickerMocker','url':new URL('../../assets/filepicker-mocker-BCrF2vqr.js',import.meta.url)});var AbortError=class extends Error{['retriable'];constructor(l,P){super(l,P),this['retriable']=P?.['retriable']??![];}},FlushError=class extends Error{},AutomatorError=class extends Error{constructor(l){super(l),this['name']=this['constructor']['name'];}},NavigationFailedError=class extends AutomatorError{['url'];['reason'];constructor({url:l,reason:P}){super('Navigation\x20failed\x20due\x20to\x20the\x20page\x20being\x20unavailable'),this['url']=l,this['reason']=P;}},NavigationTimedOutError=class extends AutomatorError{['url'];['timeout'];constructor({url:l,timeout:P}){super('Navigation\x20timed\x20out'),this['url']=l,this['timeout']=P;}},NoHistoryEntryError=class extends AutomatorError{['offset'];constructor({offset:l}){super('Can’t\x20go\x20to\x20the\x20'+(l>0x0?'next':'previous')+'\x20page'),this['offset']=l;}},BodyConsumedError=class extends AutomatorError{['accessor'];constructor({accessor:l}){super('Response\x20body\x20has\x20already\x20been\x20consumed;\x20cannot\x20call\x20\x22'+l+'\x22\x20again'),this['accessor']=l;}},UnresponsiveTargetError=class extends AutomatorError{['method'];['commandId'];['sessionId'];constructor({method:l,commandId:P,sessionId:R}){super('Devtools\x20command\x20\x22'+l+'\x22\x20that\x20was\x20sent\x20with\x20id\x20'+P+'\x20to\x20the\x20session\x20\x22'+R+'\x22\x20is\x20timed\x20out'),this['method']=l,this['commandId']=P,this['sessionId']=R;}};function makeConnection(l){return new Connection(l);}let index=0x0;var Connection=class{#commands=new Map();#events=new Map();#listeners=[];#signal;#timeout=0x7530;async #handleMessage(l){try{const P=JSON['parse'](l['data']['toString']('utf8'));if(P['id']!==void 0x0){const R=this.#commands['get'](P['id']);if(R){trace('cdpCommandSucceeded',{'method':R['method'],'payload':P,'sessionId':this['sessionId']});if(P['error'])error('cdpCommandFailed',{'method':R['method'],'params':R['params'],'response':P,'sessionId':this['sessionId']}),R['watcher']['reject'](new Error(P['error']['message']));else R['watcher']['resolve'](P['result']);}}else{if(this['sessionId']===P['sessionId'])this.#events['get'](P['method'])?.['forEach'](async F=>{try{await F?.(P['params']);}catch(o){error('cdpEventHandlerFailed',{'method':P['method'],'sessionId':this['sessionId'],'raw':l['data']['toString']('utf8'),'error':o});}});}}catch(F){error('cdpMessageParsingFailed',{'sessionId':this['sessionId'],'raw':l['data']['toString']('utf8'),'error':F});}}['socket'];['sessionId'];constructor(l){this['socket']=l['socket'],setMaxListeners(0x3e8,this['socket']),this['sessionId']=l['sessionId'],this.#signal=l['signal'];if(l['timeout']!=null)this.#timeout=l['timeout'];this.#listeners['push'](on(this['socket'],'message',this.#handleMessage['bind'](this))),this.#listeners['push'](on(this['socket'],'error',({error:P})=>{error('connectionSocketError',{'sessionId':this['sessionId'],'error':P});})),this.#listeners['push'](on(this['socket'],'close',({code:P,reason:R})=>{log('connectionSocketClosed',{'sessionId':this['sessionId'],'code':P,'reason':R});}));if(this.#signal)this.#listeners['push'](once$1(this.#signal,'abort',()=>this['abort'](this.#signal['reason'])));}get['timeout'](){return this.#timeout;}set['timeout'](l){this.#timeout=l;}['abort'](l){this.#listeners['forEach'](P=>P()),this.#commands['forEach'](({method:P,params:R,watcher:F})=>{error('cdpCommandAborted',{'method':P,'params':R,'reason':l,'sessionId':this['sessionId']}),F['reject'](l);}),this.#commands['clear'](),this.#events['clear']();}['flush'](l){this.#commands['forEach'](({method:P,params:R,watcher:F})=>{error('cdpCommandFlushed',{'method':P,'params':R,'reason':l,'sessionId':this['sessionId']}),F['reject'](l);});}async['execute'](l,P,{signal:R}={}){const F=makeWatcher();if(R?.['aborted']||this.#signal?.['aborted'])return error('cdpCommandNotSent',{'method':l,'params':P,'sessionId':this['sessionId'],'reason':R?.['reason']||this.#signal?.['reason']}),F['reject'](R?.['reason']||this.#signal?.['reason']),F;let o;if(R)o=once$1(R,'abort',()=>{if(F['settled'])return;error('cdpCommandAborted',{'method':l,'params':P,'reason':R['reason'],'sessionId':this['sessionId']}),F['reject'](R['reason']);});const z=++index;if(!process.env.PLAY)F['reject'](new UnresponsiveTargetError({'method':l,'commandId':z,'sessionId':this['sessionId']}),{'delay':this.#timeout});return this.#commands['set'](z,{'method':l,'params':P,'watcher':F}),trace('cdpCommandSent',{'method':l,'commandId':z,'params':P,'sessionId':this['sessionId'],'awaitsResponse':!![]}),this['socket']['send'](JSON['stringify']({'sessionId':this['sessionId'],'id':z,'method':l,'params':P})),F['finally'](()=>{this.#commands['delete'](z),o?.();});}['send'](l,P){const R=++index;trace('cdpCommandSent',{'method':l,'params':P,'sessionId':this['sessionId'],'awaitsResponse':![]}),this['socket']['send'](JSON['stringify']({'sessionId':this['sessionId'],'id':R,'method':l,'params':P}));}['on'](l,P){let R=this.#events['get'](l);if(!R)this.#events['set'](l,R=new Set());return R['add'](P),()=>R['delete'](P);}['once'](l,P){if(P){const R=this['on'](l,(...F)=>{return R(),P(...F);});return R;}else return new Promise((F,o)=>{const z=this['on'](l,(...K)=>{return z(),F(...K);});});}};function makeFrameManager(){return new FrameManager();}var FrameManager=class{#tree=new Map();['has'](l){return!!this.#tree['get'](l)?.['frame'];}*['getFramesIterator'](l){const P=this.#tree['get'](l);if(!P||!P['frame'])throw new Error('Cannot\x20recreate\x20the\x20frame\x20tree,\x20because\x20root\x20frame\x20with\x20id\x20'+l+'\x20is\x20missing');const R=[l];for(let F=0x0;F<R['length'];++F){const o=R[F],z=this.#tree['get'](o);if(z){if(!z['frame'])throw new Error('Cannot\x20recreate\x20the\x20frame\x20tree,\x20because\x20frame\x20with\x20id\x20'+o+'\x20is\x20missing');yield z['frame'],R['push'](...z['childFrameIds']);}}}['get'](l){return this.#tree['get'](l)?.['frame'];}['add'](l){const P=this.#tree['get'](l['frameId']);if(!P||P['frame']){if(P?.['frame'])this['delete'](l['frameId']);this.#tree['set'](l['frameId'],{'frame':l,'childFrameIds':new Set()});}else P['frame']=l;if(l['parentFrameId']){if(!this.#tree['has'](l['parentFrameId']))this.#tree['set'](l['parentFrameId'],{'frame':void 0x0,'childFrameIds':new Set([l['frameId']])});else this.#tree['get'](l['parentFrameId'])['childFrameIds']['add'](l['frameId']);}}['delete'](l){const P=this.#tree['get'](l);if(P?.['frame']?.['parentFrameId'])this.#tree['get'](P['frame']['parentFrameId'])?.['childFrameIds']['delete'](l);this.#tree['delete'](l);const R=[l];for(let F=0x0;F<R['length'];++F){const o=R[F],z=this.#tree['get'](o);z&&(R['push'](...z['childFrameIds']),this.#tree['delete'](o));}}['deleteDescendants'](l){const P=this.#tree['get'](l);if(P){const R=[...P['childFrameIds']];for(let F=0x0;F<R['length'];++F){const o=R[F],z=this.#tree['get'](o);z&&(R['push'](...z['childFrameIds']),this.#tree['delete'](o));}P['childFrameIds']['clear']();}}};function makeWindow(l){return new Window(l);}var Window=class extends EventTargetNode{#targets=new Set();['windowId'];['browser'];constructor({browser:l,windowId:P}){super(),this['browser']=l,this['windowId']=P,this['on']('targetAttached',({target:R})=>{this.#targets['add'](R);}),this['on']('targetDetached',({target:R})=>{this.#targets['delete'](R);if(this.#targets['size']===0x0)this['dispatch'](new WindowDestroyedEvent(this));});}*['targets'](){yield*this.#targets['values']();}*['pages'](){yield*this.#targets['values']()['filter'](l=>l['type']==='page');}async['setBounds'](l){await this['browser']['connection']['execute']('Browser.setWindowBounds',{'windowId':this['windowId'],'bounds':{'left':l['x'],'top':l['y'],'width':l['width'],'height':l['height'],'windowState':'normal'}});}async['setSize'](l){await this['browser']['connection']['execute']('Browser.setWindowBounds',{'windowId':this['windowId'],'bounds':{'left':0x0,'top':0x0,'width':l['width'],'height':l['height'],'windowState':'normal'}});}async['setContentsSize'](l){await this['browser']['connection']['execute']('Browser.setContentsSize',{'windowId':this['windowId'],...l});}},WindowTargetAttachedEvent=class extends Event{['target'];constructor(l){super('targetAttached'),this['target']=l;}},WindowTargetDetachedEvent=class extends Event{['target'];constructor(l){super('targetDetached'),this['target']=l;}},WindowDestroyedEvent=class extends Event{['window'];constructor(l){super('destroyed'),this['window']=l;}};function makeWindowManager(){return new WindowManager();}var WindowManager=class{#windows=new Map();['get'](l){return this.#windows['get'](l);}['getOrCreate']({windowId:l,browser:P}){const R=this.#windows['get'](l);if(R)return R;const F=makeWindow({'browser':P,'windowId':l});return this.#windows['set'](l,F),F['once']('destroyed',()=>this.#windows['delete'](l)),P['dispatch'](new BrowserWindowCreatedEvent(F)),F;}*[Symbol['iterator']](){yield*this.#windows['values']();}};function makePagesHistory(l){return new PagesHistory(l);}var PagesHistory=class{#activatingPage;#stack=[];#index=0x0;constructor({browser:l}){l['on']('activePageChanged',({target:P})=>{this.#activatingPage!==P&&(this['push'](P),this.#activatingPage=void 0x0);}),l['on']('pageClosed',({target:P})=>this['delete'](P));}get['nextPage'](){if(this.#index<this.#stack['length']-0x1)return this.#stack[this.#index+0x1];}get['previousPage'](){if(this.#index>0x0)return this.#stack[this.#index-0x1];}['push'](l){if(this.#index<this.#stack['length']-0x1)this.#stack=this.#stack['slice'](0x0,this.#index+0x1);const P=this.#stack[this.#stack['length']-0x1];if(!(P&&P===l))this.#stack['push'](l);this.#index=this.#stack['length']-0x1;}['delete'](l){this.#stack=this.#stack['filter'](P=>P['targetId']!==l['targetId']);if(this.#stack['length']<=0x1)this.#index=0x0;else{if(this.#index>=this.#stack['length'])this.#index=this.#stack['length']-0x1;}}async['activatePreviousPage'](){this.#activatingPage=this['previousPage'];if(!this.#activatingPage)return![];return this.#activatingPage['once']('activated',()=>this.#index-=0x1),await this.#activatingPage['activate'](),!![];}async['activateNextPage'](){this.#activatingPage=this['nextPage'];if(!this.#activatingPage)return![];return this.#activatingPage['once']('activated',()=>this.#index+=0x1),await this.#activatingPage['activate'](),!![];}};function localizeRemoteValue({evaluator:l,value:P}){const R=P['type'];if(R==='undefined'||R==='boolean'||R==='string')return P['value'];else{if(R==='number'){if(P['value']['unserializableValue']){if(P['value']['unserializableValue']==='Infinity')return Infinity;else{if(P['value']['unserializableValue']==='-Infinity')return-Infinity;else{if(P['value']['unserializableValue']==='-0')return-0x0;else{if(P['value']['unserializableValue']==='NaN')return NaN;}}}}return P['value'];}else{if(R==='bigint')return BigInt(P['unserializableValue']['slice'](0x0,-0x1));else{if(R==='symbol')return null;else{if(R==='object'){if(P['subtype']==='null')return null;return new RemoteObjectHandle({'evaluator':l,'value':P});}else{if(R==='function')return new RemoteFunctionHandle({'evaluator':l,'value':P});}}}}}return null;}var RemoteObjectHandle=class{#value;#cache=new Map();#revoked=![];async #resolveSerializedValue(l,{path:path=[]}={}){const P=l['weakLocalObjectReference'];if(P!==void 0x0&&this.#cache['has'](P))return this.#cache['get'](P);let R;const F=l['type'];if(F==='undefined'||F==='boolean'||F==='string')R=l['value'];else{if(F==='null')R=null;else{if(F==='number'){if(l['value']==='Infinity')R=Infinity;else{if(l['value']==='-Infinity')R=-Infinity;else{if(l['value']==='-0')R=-0x0;else{if(l['value']==='NaN')R=NaN;else R=l['value'];}}}}else{if(F==='bigint')R=BigInt(l['value']);else{if(F==='symbol')R=null;else{if(F==='node')R=makeWebNode({'evaluator':this['evaluator'],'handle':path['length']===0x0?this:void 0x0,'nodeId':l['value']['backendNodeId'],'preview':'<'+(l['value']['localName']??'#node')+'\x20'+(l['value']['attributes']?Object['entries'](l['value']['attributes'])['map'](([o,z])=>o+'=\x22'+z+'\x22')['join']('\x20'):'')+'/>'});else{if(F==='array'){const o=[],z=l['value'];for(const [K,X]of z['entries']())o['push'](await this.#resolveSerializedValue(X,{'path':[...path,{'type':'value','index':K}]}));R=o;}else{if(F==='set'){const D=new Set(),a=l['value'];for(const [G,m]of a['entries']())D['add'](await this.#resolveSerializedValue(m,{'path':[...path,{'type':'value','index':G}]}));R=D;}else{if(F==='object'){const N={},E=l['value'];for(const [H,[t,k]]of E['entries']())N[t]=await this.#resolveSerializedValue(k,{'path':[...path,{'type':'value','index':H}]});R=N;}else{if(F==='map'){const O=new Map(),i=l['value'];for(const [q,[T,B]]of i['entries']()){const c=typeof T==='string'?T:await this.#resolveSerializedValue(T,{'path':[...path,{'type':'key','index':q}]}),n=await this.#resolveSerializedValue(B,{'path':[...path,{'type':'value','index':q}]});O['set'](c,n);}R=O;}else{if(F==='function')R=await this['evaluator']['execute']((C,Z)=>{for(const w of Z){const I=(Array['isArray'](C)||C instanceof Set||C instanceof Map?Array['from'](C['entries']()):Object['entries'](C))[w['index']];if(!I)throw new Error('Can\x27t\x20resolve\x20remote\x20object');C=I[w['type']==='key'?0x0:0x1];}return C;},[this,path]);else throw new Error('Can\x27t\x20resolve\x20serialized\x20remote\x20value\x20of\x20type\x20\x22'+F+'\x22');}}}}}}}}}}if(P!==void 0x0)this.#cache['set'](P,R);return R;}['evaluator'];get['objectId'](){return this.#value['objectId'];}get['revoked'](){return this.#revoked;}constructor({evaluator:l,value:P}){this['evaluator']=l,this.#value=P;}async['resolve'](){if(this.#value['type']==='object'&&this.#value['subtype']==='node')return makeWebNode({'evaluator':this['evaluator'],'handle':this});else{if(this.#value['deepSerializedValue']){const l=await this.#resolveSerializedValue(this.#value['deepSerializedValue']);return await this['revoke'](),l;}else throw new Error('Can\x27t\x20resolve\x20unserialized\x20remote\x20object');}}async['revoke'](){!this.#revoked&&(this.#revoked=!![],await this['evaluator']['target']['connection']['execute']('Runtime.releaseObject',{'objectId':this['objectId']}));}['asArgument'](){if(this['evaluator']['destroyed'])throw new StaleRemoteObjectHandleError('Remote\x20object\x20with\x20id\x20'+this['objectId']+'\x20is\x20stale');return!this.#revoked?{'objectId':this['objectId']}:{'value':null};}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){let F;if(this.#value['deepSerializedValue']){F=stringifySerializedRemoteValue(this.#value['deepSerializedValue'],{'depth':l-0x1});if(this.#value['deepSerializedValue']['type']==='node'&&P['maxStringLength'])F=F['substring'](0x0,P['maxStringLength'])+'...';}else{if(this.#value['preview'])F=stringifyRemoteValuePreview(this.#value['preview']);else F=this.#value['description']??'';}return'RemoteObjectHandle\x20{'+F+'}';}},RemoteFunctionHandle=class extends RemoteObjectHandle{async['resolve'](){const l=(...P)=>this['call'](...P);return l['handle']=this,l;}async['call'](...l){return await this['evaluator']['execute']((P,R)=>P(...R),[this,l]);}},StaleRemoteObjectHandleError=class extends Error{};function stringifyRemoteValuePreview(l){const P=l['type'];if(P==='object'){const F=l['subtype'];if(F==='null'||F==='regexp')return l['description'];else{if(F==='node')return'<'+l['description']+'/>';else{if(F==='array')return'['+l['properties']['map'](o=>R(o))['join'](',\x20')+(l['overflow']?'\x20...,\x20[length]:\x20'+/\d+/['exec'](l['description'])?.[0x0]:'')+']';else{if(F==='set'||F==='weakset')return l['description']+'\x20{'+(l['entries']??[])['map'](o=>stringifyRemoteValuePreview(o['value']))['join'](',\x20')+(l['overflow']?'\x20...':'')+'}';else{if(!F)return'['+l['properties']['map'](o=>o['name']+':\x20'+R(o))['join'](',\x20')+(l['overflow']?'\x20...':'')+']';else{if(F==='map'||F==='weakmap')return l['description']+'\x20{'+(l['entries']??[])['map'](o=>stringifyRemoteValuePreview(o['key'])+'\x20=>\x20'+stringifyRemoteValuePreview(o['value']))['join'](',\x20')+'\x20'+(l['overflow']?'...':'')+'}';else{if(F==='date')return'Date\x20{'+l['description']+'}';else{if(F==='promise'){const o=l['properties']['find'](K=>K['name']==='[[PromiseState]]')?.['value']??'pending',z=l['properties']['find'](K=>K['name']==='[[PromiseResult]]');return'Promise\x20{<'+o+'>'+(o!=='pending'&&z?R(z):'')+'}';}else{if(F==='error')return'Error\x20{'+l['description']+'}';else return'{<unknown>:\x20'+F+'}';}}}}}}}}}else{if(P==='string')return'\x27'+l['description']?.['replaceAll']('\x27','\x5c\x27')+'\x27';else return l['description'];}function R(K){return K['valuePreview']?stringifyRemoteValuePreview(K['valuePreview']):K['value'];}}function stringifySerializedRemoteValue(l,{depth:P}){const R=l['type'];if(R==='undefined'||R==='null')return R;else{if(R==='boolean'||R==='number')return l['value'];else{if(R==='bigint')return l['value']+'n';else{if(R==='string')return'\x27'+l['value']['replaceAll']('\x27','\x5c\x27')+'\x27';else{if(R==='symbol')return'';else{if(R==='node'){const F=Object['entries'](l['value']['attributes']??{})['map'](([o,z])=>o+'=\x22'+z+'\x22')['join']('\x20');return'<'+(l['value']['localName']??'#node')+'\x20'+F+'/>';}else{if(R==='regexp')return'';else{if(R==='date')return'';else{if(R==='array'){const o='Array('+l['value']['length']+')';if(P===0x0)return o;return'['+l['value']['map'](z=>stringifySerializedRemoteValue(z,{'depth':P-0x1}))['join'](',\x20')+']';}else{if(R==='set'){const z='Set('+l['value']['length']+')';if(P===0x0)return z;return z+'\x20{'+l['value']['map'](K=>stringifySerializedRemoteValue(K,{'depth':P-0x1}))['join'](',\x20')+'}';}else{if(R==='object'){const K='Object('+l['value']['length']+')';if(P===0x0)return K;return'{'+l['value']['map'](([X,D])=>X+':\x20'+stringifySerializedRemoteValue(D,{'depth':P-0x1}))['join'](',\x20')+'}';}else{if(R==='map'){const X='Map('+l['value']['length']+')';if(P===0x0)return X;return X+'\x20{'+l['value']['map'](([D,a])=>(typeof D==='string'?D:stringifySerializedRemoteValue(D,{'depth':P-0x1}))+'\x20=>\x20'+stringifySerializedRemoteValue(a,{'depth':P-0x1}))['join'](',\x20')+'}';}else return'{<unknown>:\x20'+R+'}';}}}}}}}}}}}}function boxToRect(l){return{'x':l['x'],'y':l['y'],'width':l['width'],'height':l['height'],'top':l['height']<0x0?l['y']+l['height']:l['y'],'left':l['width']<0x0?l['x']+l['width']:l['x']};}function hostnameOf(l){if(!l)return void 0x0;try{return new URL(l)['hostname'];}catch{return;}}function matchesDomain(l,P){return P['some'](R=>l===R||l['endsWith']('.'+R));}const AD_FRAME_PATTERNS=/(?:doubleclick\.net|googlesyndication\.com|googleadservices\.com|google(?:tag|ad)manager\.com|adnxs\.com|pubmatic\.com|amazon-adsystem\.com|rubiconproject\.com|casalemedia\.com|criteo\.(?:com|net)|sharethrough\.com|yieldmo\.com|gumgum\.com|openx\.net|bidswitch\.net|media\.net|seedtag\.com|3lift\.com|undertone\.com|ads\.yahoo\.com|pub\.network|lijit\.com|adsrvr\.org|2mdn\.net|moatads\.com|serving-sys\.com|taboola\.com|outbrain\.com)/i;function isAdUrl(l){const P=hostnameOf(l);return P?AD_FRAME_PATTERNS['test'](P):![];}const ANALYTICS_DOMAINS=['google-analytics.com','analytics.google.com','omtrdc.net','2o7.net','demdex.net','contentsquare.net','hotjar.com','fullstory.com','mixpanel.com','amplitude.com','segment.io','segment.com','newrelic.com','nr-data.net','scorecardresearch.com','quantserve.com','chartbeat.com','clarity.ms'],ANALYTICS_HOSTNAME_PREFIX=/^s?metrics\./i;function isAnalyticsUrl(l){const P=hostnameOf(l);if(!P)return![];return matchesDomain(P,ANALYTICS_DOMAINS)||ANALYTICS_HOSTNAME_PREFIX['test'](P);}function isNonBlockingRequest(l,P){return l==='Ping'||l==='EventSource'||isAdUrl(P)||isAnalyticsUrl(P);}function makeWebNode(l){return new WebNode(l);}var WebNode=class{#handle;#nodeId;#contentFrame=void 0x0;#attributes;#description;#preview;async #getDescription(){if(this.#description)return this.#description;const l=await this['frame']['target']['connection']['execute']('DOM.describeNode',{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']});return this.#description=l['node'];}['evaluator'];get['frame'](){return this['evaluator']['frame'];}constructor({evaluator:l,handle:P,nodeId:R,preview:F}){this['evaluator']=l,this.#handle=P,this.#nodeId=R,this.#preview=F;}async['asRemoteObjectHandle'](){if(this.#handle)return this.#handle;const l=await this['frame']['target']['connection']['execute']('DOM.resolveNode',{'executionContextId':this['evaluator']['evaluatorId'],'backendNodeId':this.#nodeId});return this.#handle=localizeRemoteValue({'evaluator':this['evaluator'],'value':l['object']});}async['equal'](l){if(this['frame']!==l['frame'])return![];const P=await Promise['all']([this['getNodeId'](),l['getNodeId']()]);return P[0x0]===P[0x1];}async['normalize'](){return this['execute'](l=>{if(l instanceof Element&&['::before','::after']['includes'](l['tagName']))return l['parentElement'];if(l instanceof SVGElement){let P=l;while(P['viewportElement'])P=P['viewportElement'];return P;}return l;});}async['isConnected'](){return this['execute'](l=>l['isConnected'])['catch'](()=>![]);}async['isEnabled'](){return this['execute'](l=>l instanceof Element?l['matches'](':enabled'):![]);}async['isHovered'](){return this['execute'](l=>l instanceof Element?l['matches'](':hover'):l['parentElement']?.['matches'](':hover')??![]);}async['getNodeId'](){if(this.#nodeId)return this.#nodeId;return(await this.#getDescription())['backendNodeId'];}async['getValue']({hint:hint='string',acceptFormValue:l}={}){return await this['execute'](getElementValue,[{'hint':hint,'acceptFormValue':l}]);}async['getText'](){return await this['execute'](l=>l['textContent']);}async['getScreenBox'](){const l=await this['getBox']();try{let P=this['frame'];while(P&&!P['isMain']){if(P['isOutOfProcess']){const R=await(await P['getOwnerNode']())['getBox']();l['x']+=R['x'],l['y']+=R['y'];}P=P['parent'];}return l;}catch(F){throw new Error('Node\x20screen\x20box\x20calculation\x20is\x20failed',{'cause':F});}}async['getBox'](){try{const {model:l}=await this['frame']['target']['connection']['execute']('DOM.getBoxModel',{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']});return{'x':l['border'][0x0],'y':l['border'][0x1],'width':l['border'][0x4]-l['border'][0x0],'height':l['border'][0x5]-l['border'][0x1]};}catch(P){error('nodeBoxCalculationFailed',{'error':P});throw new StaleNodeError('Node\x20with\x20object\x20id\x20'+this.#nodeId+'\x20is\x20stale');}}async['getMetrics'](){return this['execute'](l=>{const P=l instanceof Element?l:l['parentElement'];return{'scrollX':P['scrollLeft'],'scrollY':P['scrollTop'],'scrollWidth':P['scrollWidth'],'scrollHeight':P['scrollHeight'],'clientWidth':P['clientWidth'],'clientHeight':P['clientHeight']};});}async['getContentBoxes'](){try{const {quads:l}=await this['frame']['target']['connection']['execute']('DOM.getContentQuads',{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']}),P=l['map'](R=>Rectangle['fromQuad'](R))['filter'](R=>R['width']>0x0&&R['height']>0x0);if(P['length']===0x0)throw new StaleNodeError('Node\x20with\x20object\x20id\x20'+this.#nodeId+'\x20is\x20stale');return P;}catch(R){error('nodeBoxCalculationFailed',{'error':R});throw new StaleNodeError('Node\x20with\x20object\x20id\x20'+this.#nodeId+'\x20is\x20stale');}}async['getTagName'](){return(await this.#getDescription())['nodeName']['toLowerCase']();}async['getAttribute'](l){if(!this.#attributes){const P=await this.#getDescription();this.#attributes=new Map();if(P['attributes']){for(let R=0x0;R<(P['attributes']?.['length']??0x0);R+=0x2)this.#attributes['set'](P['attributes'][R],P['attributes'][R+0x1]);}}return this.#attributes['get'](l);}async['getContentFrame'](){if(this.#contentFrame===void 0x0){const l=(await this.#getDescription())['frameId'];this.#contentFrame=l?this['frame']['target']['browser']['frameManager']['get'](l):null;if(!this.#contentFrame)throw new Error('Cannot\x20find\x20content\x20frame\x20of\x20the\x20iframe\x20node\x20with\x20with\x20object\x20id\x20\x22'+this.#nodeId+'\x22');}return this.#contentFrame;}async['$'](l){const P=['/','(','../','./','*/']['some'](R=>l['startsWith'](R))?'xpath':'css';return await this['execute']((R,F,o)=>{if(o==='xpath')return document['evaluate'](F['replaceAll']('/svg','/*[local-name()\x20=\x20\x27svg\x27]'),R,null,XPathResult['FIRST_ORDERED_NODE_TYPE'],null)['singleNodeValue'];else return(R instanceof Element?R:R['parentElement'])['querySelector'](F);},[l,P]);}async['$$'](l){const P=['/','(','../','./','*/']['some'](R=>l['startsWith'](R))?'xpath':'css';return await this['execute']((R,F,o)=>{if(o==='xpath'){const z=document['evaluate'](F['replaceAll']('/svg','/*[local-name()\x20=\x20\x27svg\x27]'),R,null,XPathResult['ORDERED_NODE_ITERATOR_TYPE'],null),K=[];let X;while(X=z['iterateNext']())K['push'](X);return K;}else{const D=R instanceof Element?R:R['parentElement'];return Array['from'](D['querySelectorAll'](F));}},[l,P]);}async['execute'](l,P,R){return this['evaluator']['execute'](l,[this,...P??[]],R);}async['focus'](){try{return await this['frame']['target']['connection']['execute']('DOM.focus',{'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']}),!![];}catch{const l=await this['getTagName']();if(l==='html'||l==='body')return!![];if(await this['execute'](P=>P instanceof Element?P['shadowRoot']?.['delegatesFocus']:![])===![])return!![];return![];}}async['hover']({signal:l}){const P=await this['getBox'](),R={'x':P['x']+P['width']/0x2,'y':P['y']+P['height']/0x2},F=this['frame']['target']['mouse']['position'],o=[[R]],z=await this['frame']['target']['getViewportSize']();o['push']([{'x':R['x'],'y':z['height']+0x64},R]);const K=new Segment(F,R)['toOrthogonal']();o['push'](K['map'](X=>X['end']));for(const X of o){await this['frame']['target']['mouse']['move'](X,{'signal':l});const {isObscured:D}=await this['isObscured']();if(!D)return;await this['frame']['target']['mouse']['move'](F,{'signal':l}),await V(0x3e8);}}async['click']({simulate:l,signal:P,...R}={}){if(l)await this['execute'](F=>F['click']());else{const [F]=await this['getContentBoxes'](),o={'x':F['x']+F['width']/0x2,'y':F['y']+F['height']/0x2};await this['hover']({'signal':P}),await this['frame']['target']['mouse']['click'](o,R);}}async['scrollIntoView']({block:block='nearest',inline:inline='nearest'}={}){await this['execute'](async(l,{block:P,inline:R})=>{(l instanceof Element?l:l['parentElement'])['scrollIntoView']({'block':P,'inline':R,'behavior':'instant'}),await new Promise(requestAnimationFrame);},[{'block':block,'inline':inline}],{'await':!![]});}async['tryToUnobscure'](){await this['scrollIntoView']();const {ratio:l}=await this['getObscurationInfo']();if(l!==0x0)await this['scrollIntoView']({'block':'center','inline':'center'});}async['isVisible'](){const {isVisible:l}=await this['execute'](checkVisibility,[{'minSize':0x1,'checkParentsVisibility':!![]}]);return l;}async['getObscurationInfo'](){if(!await this['isVisible']())return{'ratio':0x1,'obscuringElement':null};const {ratio:l,obscuringElement:P}=await this['execute'](getObscurationRatio);if(l===0x0)return{'ratio':0x0,'obscuringElement':null};const R=await this['getContentBoxes']();if(R['length']===0x0)return{'ratio':0x1,'obscuringElement':null};const {dx:F,dy:o}=await this['frame']['target']['mainFrame']['execute'](()=>({'dx':window['scrollX'],'dy':window['scrollY']})),z=await this['execute'](a=>a instanceof Element?a:a['parentElement']),K=[];let X=null;for(const a of R){const G=rectToSamplingPoints(boxToRect(a)),m=await Promise['all'](G['map'](async E=>{const H={'x':E['x']+F,'y':E['y']+o},t=await this['frame']['target']['resolveFromLocation'](H);if(!t)return{'isObscured':![],'node':null};if(await z['equal'](t))return{'isObscured':![],'node':null};if(await z['contains'](t))return{'isObscured':![],'node':null};return{'isObscured':!![],'node':t};})),N=m['map'](E=>E['isObscured']);if(!X){const E=m['find'](H=>H['isObscured']&&H['node']);if(E)X=E['node'];}K['push'](N);}const D=calculateObscurationRatio(K);return{'ratio':Math['min'](D,l),'obscuringElement':X??P};}async['isObscured'](){const {ratio:l,obscuringElement:P}=await this['getObscurationInfo']();return{'isObscured':l>0.5,'obscuringElement':P};}async['isAcceptableInvisible'](){return this['execute'](isElementAcceptableInvisible);}async['scrollTo'](l){await this['execute']((P,{x:R,y:F})=>{if(!(P instanceof Element))return;let o;if(R==='end')o=P['scrollWidth'];else{if(R==='center')o=P['scrollWidth']/0x2;else o=R;}let z;if(F==='end')z=P['scrollHeight'];else{if(F==='center')z=P['scrollHeight']/0x2;else z=F;}P['scrollTo']({'left':o,'top':z,'behavior':'instant'});},[l]);}async['scrollBy'](l){if(await this['execute'](async(R,{x:F,y:o})=>{if(!(R instanceof Element))return!![];const z=R['scrollTop'],K=R['scrollLeft'];return R['scrollBy']({'left':F,'top':o,'behavior':'instant'}),new Promise(X=>{requestAnimationFrame(()=>{const D=R['scrollTop'],a=R['scrollLeft'];if(D===z&&a===K)X(![]);else X(!![]);});});},[l],{'await':!![]}))return;const P=await this['getBox']();await this['frame']['target']['connection']['execute']('Input.dispatchMouseEvent',{'type':'mouseWheel','x':P['x']+P['width']-0x1,'y':P['y']+0x1,'deltaX':l['x']??0x0,'deltaY':l['y']??0x0});}async['setValue'](l){if(await this['execute'](P=>P instanceof HTMLInputElement&&P['type']==='file')){if(typeof l!=='string'&&!Array['isArray'](l))throw new Error('Can\x27t\x20set\x20value\x20of\x20type\x20'+typeof l+'\x20in\x20a\x20filepicker');await this['frame']['target']['connection']['execute']('DOM.setFileInputFiles',{'files':Array['isArray'](l)?l:[l],'backendNodeId':this.#nodeId,'objectId':this.#handle?.['objectId']});}else await this['execute'](setElementValue,[l]);}async['canTypeInto'](){return this['execute'](canTypeIntoElement);}async['type'](l){throw new Error('Web\x20elements\x20do\x20not\x20support\x20direct\x20typing.\x20Use\x20keyboard.type()\x20instead.');}async['contains'](l){if(this['frame']!==l['frame'])return![];return this['execute']((P,R)=>P['contains'](R),[l]);}async['generateXpath'](){return this['execute'](l=>{let P='';const R=l['ownerDocument'];if(!R)return P;let F=l;if(l instanceof Element&&l['id'])P='//'+l['tagName']+'[@id=\x22'+l['id']+'\x22]';else while(F&&F!==R){const o=F['parentNode'];if(o){const z=F['tagName'];P='/'+z+'['+(Array['prototype']['filter']['call'](o['childNodes'],K=>K['tagName']===z)['indexOf'](F)+0x1)+']'+P;}F=o;}return P;});}async['getDescription'](){return this['generateXpath']();}async['isTextNode'](){return this['execute'](l=>l instanceof Text);}async['getParent'](){return await this['execute'](l=>l['parentElement']);}async['getSelector'](){return this['execute'](getElementSelector);}async['isContentEditable'](){return this['execute'](l=>l instanceof HTMLElement?l['isContentEditable']:![]);}async['setCaretPosition'](l){return this['execute'](setElementCaretPosition,[l]);}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){R['styles']['node']='magentaBright';const F=this.#handle?.[Symbol['for']('nodejs.util.inspect.custom')](l,P,R)??this.#preview;return F?P['stylize'](F,'node'):'Node\x20'+R({'nodeId':this.#nodeId},{...P,'compact':!![],'breakLength':Infinity});}async['isLabelOf'](l){return this['execute']((P,R)=>{if(!(R instanceof HTMLInputElement)||!R['labels'])return![];return Array['from'](R['labels'])['some'](F=>F['contains'](P));},[l]);}},StaleNodeError=class extends Error{},PortOutgoingMessageEvent=class extends Event{['name'];['payload'];constructor(l,P){super('outgoingMessage'),this['name']=l,this['payload']=P;}},PortIncommingMessageEvent=class extends Event{['name'];['payload'];constructor(l,P){super('incommingMessage'),this['name']=l,this['payload']=P;}};function makePort(l){return new Port(l);}var Port=class extends EventTargetNode{#watchers={'initialized':makeWatcher()};async #initialize(){const l='__'+this['name']['replaceAll']('\x20','_')+'_post_message';this['evaluator']['target']['connection']['on']('Runtime.bindingCalled',({executionContextId:P,name:R,payload:F})=>{if(this['evaluator']['evaluatorId']===P&&R===l){const o=JSON['parse'](F);this['dispatch'](new PortIncommingMessageEvent(o['name'],o['payload']));}}),await this['evaluator']['target']['connection']['execute']('Runtime.addBinding',{'name':l,'executionContextId':this['evaluator']['evaluatorId']}),await this['evaluator']['execute'](registerPort,[this['name']]),log('portInitialized',{'portName':this['name'],'evaluatorId':this['evaluator']['evaluatorId'],'frameId':this['evaluator']['frame']?.['frameId']});}#closed=![];['evaluator'];['name'];constructor({evaluator:l,name:P}){super(),this['evaluator']=l,this['name']=P,this.#initialize()['then'](()=>this.#watchers['initialized']['resolve']())['catch'](R=>this.#watchers['initialized']['reject'](R)),this['evaluator']['on']('destroyed',()=>{if(this.#closed)return;this.#closed=!![],log('portClosed',{'portName':this['name'],'evaluatorId':this['evaluator']['evaluatorId']});}),this['on']('outgoingMessage',async({name:R,payload:F})=>{try{await this['evaluator']['execute']((o,z,K)=>{const X=globalThis;X['ports'][o]['dispatchEvent'](new X['PortIncommingMessageEvent'](z,K));},[this['name'],R,F]);}catch(o){error('portMessageSendFailed',{'portName':this['name'],'messageName':R,'evaluatorId':this['evaluator']['evaluatorId'],'error':o});}});}['send'](l,P){this['dispatch'](new PortOutgoingMessageEvent(l,P));}async['wait'](l){await this.#watchers[l];}};function makeEvaluator(l){return new Evaluator(l);}var Evaluator=class extends EventTargetNode{#evaluatorId;#destroyed=![];#controller=new AbortController();['type'];['name'];['target'];['frame'];get['evaluatorId'](){return this.#evaluatorId;}get['destroyed'](){return this.#destroyed;}constructor(l){super(),this.#evaluatorId=l['evaluatorId'];if('target'in l)this['target']=l['target'];else this['target']=l['frame']['target'],this['frame']=l['frame'];this['name']=l['name'],this['type']=l['type'],this['target']['connection']['on']('Runtime.executionContextsCleared',()=>{log('executionContextDestroyed',{'contextId':this.#evaluatorId,'frameId':this['frame']?.['frameId'],'targetId':this['target']['targetId'],'reason':'cleared'}),log('evaluatorDestroyed',{'evaluatorId':this.#evaluatorId,'frameId':this['frame']?.['frameId'],'targetId':this['target']['targetId'],'reason':'cleared'}),this.#controller['abort'](new AbortError('Evaluator\x20with\x20id\x20\x22'+this.#evaluatorId+'\x22\x20is\x20destroyed\x20in\x20the\x20middle\x20of\x20operation',{'retriable':this['frame']&&!this['frame']['destroyed']})),this['dispatch'](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),this.#controller=new AbortController();}),this['target']['connection']['on']('Runtime.executionContextDestroyed',({executionContextId:R})=>{this.#evaluatorId===R&&(log('executionContextDestroyed',{'contextId':this.#evaluatorId,'frameId':this['frame']?.['frameId'],'targetId':this['target']['targetId'],'reason':'destroyed'}),log('evaluatorDestroyed',{'evaluatorId':this.#evaluatorId,'frameId':this['frame']?.['frameId'],'targetId':this['target']['targetId'],'reason':'destroyed'}),this['dispatch'](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),this.#controller=new AbortController());});if(l['logs'])this['target']['connection']['on']('Runtime.consoleAPICalled',({executionContextId:R,type:F,timestamp:o,args:z})=>{if(this.#evaluatorId===R)try{const K=z['map'](X=>localizeRemoteValue({'evaluator':this,'value':X}));this['dispatch'](new EvaluatorLogEvent({'type':F,'timestamp':o,'args':K}));}catch{}});const P=this['type']+'-'+this.#evaluatorId;this['frame']?.['on']('destroyed',()=>this['dispatch'](new EvaluatorDestroyedEvent({'evaluatorId':this.#evaluatorId})),{'key':P}),this['on']('destroyed',()=>{this.#destroyed=!![],this.#controller['abort'](new AbortError('Evaluator\x20with\x20id\x20\x22'+this.#evaluatorId+'\x22\x20is\x20destroyed\x20in\x20the\x20middle\x20of\x20operation',{'retriable':this['frame']&&!this['frame']['destroyed']})),this['frame']?.['off'](P);});}async['execute'](l,P,R){const F=await this['target']['connection']['execute']('Runtime.callFunctionOn',{'executionContextId':this.#evaluatorId,'functionDeclaration':await makeScript(l)['compile'](this),'arguments':await Promise['all']((P??[])['map'](async z=>{if(z instanceof RemoteObjectHandle)return z['asArgument']();if(z instanceof WebNode)return(await z['asRemoteObjectHandle']())['asArgument']();if(typeof z==='bigint')return{'unserializableValue':z+'n'};if(z===Infinity)return{'unserializableValue':'Infinity'};if(z===-Infinity)return{'unserializableValue':'-Infinity'};if(Object['is'](z,-0x0))return{'unserializableValue':'-0'};if(Number['isNaN'](z))return{'unserializableValue':'NaN'};return{'value':z};})),'awaitPromise':R?.['await'],'serializationOptions':{'serialization':'deep'}},{'signal':this.#controller['signal']});if(F['exceptionDetails']){const z=F['exceptionDetails']['exception']?.['description']?.['replace'](/^\w+:\s*/,'')['replace'](/\n.*/s,'');throw new Error(z??'Error\x20during\x20script\x20evaluation');}const o=localizeRemoteValue({'evaluator':this,'value':F['result']});return o instanceof RemoteObjectHandle?await o['resolve']():o;}async['evaluate'](l,P){const R=await this['target']['connection']['execute']('Runtime.evaluate',{'contextId':this.#evaluatorId,'expression':await makeExpression(l)['compile'](),'awaitPromise':P?.['await'],'serializationOptions':{'serialization':'deep'}},{'signal':this.#controller['signal']});if(R['exceptionDetails']){const o=R['exceptionDetails']['exception']?.['description']?.['replace'](/^\w+:\s*/,'')['replace'](/\n.*/s,'');throw new Error(o??'Error\x20during\x20script\x20evaluation');}const F=localizeRemoteValue({'evaluator':this,'value':R['result']});return F instanceof RemoteObjectHandle?await F['resolve']():F;}async['resolve']({nodeId:l}){const P=await this['target']['connection']['execute']('DOM.resolveNode',{'executionContextId':this['evaluatorId'],'backendNodeId':l});return await localizeRemoteValue({'evaluator':this,'value':P['object']})['resolve']();}async['port'](l){const P=makePort({'evaluator':this,'name':l});return await P['wait']('initialized'),P;}},EvaluatorLogEvent=class extends Event{['type'];['timestamp'];['args'];constructor({type:l,timestamp:P,args:R},F){super('log',F),this['type']=l,this['timestamp']=P,this['args']=R;}},EvaluatorDestroyedEvent=class extends Event{['evaluatorId'];constructor({evaluatorId:l},P){super('destroyed',P),this['evaluatorId']=l;}};function makeRemoteStream(l,P){let R=typeof P==='string'?P:void 0x0;const F=typeof P==='function'?P:void 0x0;let o=![],z;async function K(){if(R)return R;return z??=F()['then'](D=>R=D),z;}async function X(){if(o)return;o=!![];if(!R)return;try{await l['execute']('IO.close',{'handle':R});}catch{}}return new Readable({'read'(D){K()['then'](a=>l['execute']('IO.read',{'handle':a,'size':Math['max'](D,0x40*0x400)}))['then'](({data:a,base64Encoded:G,eof:m})=>{if(a['length']>0x0)this['push'](G?d['from'](a,'base64'):d['from'](a,'utf8'));m&&(this['push'](null),X());},a=>this['destroy'](a instanceof Error?a:new Error(String(a))));},'destroy'(D,a){X()['finally'](()=>a(D));}});}const BFCACHE_LIMIT=0x6;var StylesheetsManager=class{#current={'sheets':new Map()};#bfcache=new Map();get['current'](){return[...this.#current['sheets']['values']()];}['add'](l){this.#current['sheets']['set'](l['stylesheetId'],l);}['remove'](l){return this.#current['sheets']['delete'](l);}['beginNavigation'](){if(this.#current['loaderId']&&this.#current['sheets']['size']>0x0)this.#bfcache['set'](this.#current['loaderId'],this.#current['sheets']);this.#current={'sheets':new Map()};}['commitNavigation'](l,P){if(this.#current['loaderId']===l)return;if(P==='restoration'){const R=this.#bfcache['get'](l);if(R){if(this.#current['loaderId']&&this.#current['sheets']['size']>0x0)this.#bfcache['set'](this.#current['loaderId'],this.#current['sheets']);this.#bfcache['delete'](l),this.#current={'loaderId':l,'sheets':R},this.#evictBfcache(l);return;}}if(this.#current['loaderId']&&this.#current['sheets']['size']>0x0)this.#bfcache['set'](this.#current['loaderId'],this.#current['sheets']),this.#current={'loaderId':l,'sheets':new Map()};else this.#current['loaderId']=l;this.#evictBfcache(l);}#evictBfcache(l){while(this.#bfcache['size']>BFCACHE_LIMIT){let P=![];for(const R of this.#bfcache['keys']()){if(R===l)continue;this.#bfcache['delete'](R),P=!![];break;}if(!P)break;}}},FrameFetchError=class extends Error{['netError'];constructor(l){super(l),this['name']='FrameFetchError',this['netError']=l;}};function makeFrame(l){return new Frame(l);}var Frame=class extends EventTargetNode{#target;#node;#defaultEvaluator;#isolatedEvaluator;#response;#controller=new AbortController();#destroyed=![];#watchers={'determined':makeWatcher({'signal':this.#controller['signal']}),'defaultEvaluatorAttached':makeWatcher({'signal':this.#controller['signal']}),'navigated':makeWatcher({'signal':this.#controller['signal']}),'loaded':makeWatcher({'signal':this.#controller['signal']}),'networkAlmostIdle':makeWatcher({'signal':this.#controller['signal']}),'networkIdle':makeWatcher({'signal':this.#controller['signal']}),'stable':makeWatcher({'signal':this.#controller['signal']})};#isAd=![];#navigatedAt=0x0;#stylesheets=new StylesheetsManager();async #getDefaultEvaluator(){return await this.#watchers['defaultEvaluatorAttached'],this.#defaultEvaluator;}async #getIsolatedEvaluator(){if(this.#isolatedEvaluator)return this.#isolatedEvaluator;const l=await this.#target['connection']['execute']('Page.createIsolatedWorld',{'frameId':this['frameId'],'worldName':'isolated-'+this['frameId']},{'signal':this.#controller['signal']});return this.#isolatedEvaluator=makeEvaluator({'frame':this,'evaluatorId':l['executionContextId'],'type':'isolated','logs':!![]}),log('evaluatorCreated',{'evaluatorId':this.#isolatedEvaluator['evaluatorId'],'frameId':this['frameId']}),this.#isolatedEvaluator['once']('destroyed',()=>this.#isolatedEvaluator=void 0x0),this['dispatch'](new FrameEvaluatorAttached(this.#isolatedEvaluator)),this.#isolatedEvaluator;}async #execute(l,P,R,F){await this['wait']('determined');let o;if(l==='isolated')o=await this.#getIsolatedEvaluator();else o=await this.#getDefaultEvaluator();try{return await o['execute'](P,R,F);}catch(z){if(z instanceof AbortError&&z['retriable'])return this.#execute(l,P,R,F);if(!this.#watchers['loaded']['settled'])return await this['wait']('loaded'),this.#execute(l,P,R,F);throw z;}}async #evaluate(l,P,R){await this['wait']('determined');let F;if(l==='isolated')F=await this.#getIsolatedEvaluator();else F=await this.#getDefaultEvaluator();try{return await F['evaluate'](P,R);}catch(o){if(o instanceof AbortError&&o['retriable'])return this.#evaluate(l,P,R);if(!this.#watchers['loaded']['settled'])return await this['wait']('loaded'),this.#evaluate(l,P,R);throw o;}}async #resolve(l,P){await this['wait']('determined');let R;if(l==='isolated')R=await this.#getIsolatedEvaluator();else R=await this.#getDefaultEvaluator();try{return await R['resolve'](P);}catch(F){if(F instanceof AbortError&&F['retriable'])return this.#resolve(l,P);if(!this.#watchers['loaded']['settled'])return await this['wait']('loaded'),this.#resolve(l,P);throw F;}}['frameId'];['parentFrameId'];get['loaded'](){return this.#watchers['loaded']['settled'];}get['stable'](){return this.#watchers['stable']['settled'];}get['destroyed'](){return this.#destroyed;}get['target'](){return this.#target;}get['response'](){return this.#response;}get['isMain'](){return!this['parentFrameId'];}get['isOutOfProcess'](){return!this['isMain']&&this['frameId']===this.#target['targetId'];}get['isAd'](){return this.#isAd;}get['parent'](){if(!this['parentFrameId'])return null;return this['target']['browser']['frameManager']['get'](this['parentFrameId'])??null;}get['defaultEvaluator'](){return this.#defaultEvaluator;}get['navigatedAt'](){return this.#navigatedAt;}get['stylesheets'](){return this.#stylesheets['current'];}['addStylesheet'](l){this.#stylesheets['add'](l);}['removeStylesheet'](l){return this.#stylesheets['remove'](l);}constructor({target:l,frameId:P,parentFrameId:R}){super(),this.#target=l,this['frameId']=P,this['parentFrameId']=R,this.#watchers['determined']['resolve'](),this.#watchers['navigated']['resolve'](),this['on']('evaluatorAttached',({evaluator:F})=>{F['type']==='default'&&(this.#defaultEvaluator=F,this.#watchers['defaultEvaluatorAttached']['resolve'](),F['on']('log',({type:o,args:z})=>{log('frameConsoleMessage',{'frameId':this['frameId'],'consoleType':o,'args':z});}));}),this['on']('request',({request:F})=>{if(this.#watchers['navigated']['settled'])this['dispatch'](new FrameNavigatingEvent({'url':F['url'],'reason':'unknown'}));}),this['on']('response',({response:F})=>this.#response=F),this['on']('navigating',()=>{this.#watchers['navigated']['reset']({'signal':this.#controller['signal']}),this.#watchers['loaded']['reset']({'signal':this.#controller['signal']}),this.#watchers['stable']['reset']({'signal':this.#controller['signal']})['resolve'](void 0x0,{'delay':this.#target['browser']['frameStabilityTimeout']}),this.#watchers['networkAlmostIdle']['reset']({'signal':this.#controller['signal']}),this.#watchers['networkIdle']['reset']({'signal':this.#controller['signal']});}),this['on']('navigated',({url:F,reason:o,loaderId:z})=>{if(!this['isMain'])this.#isAd=isAdUrl(F);this.#navigatedAt=Date['now'](),this.#watchers['navigated']['resolve']();if(o!=='local')this.#stylesheets['commitNavigation'](z,o);o==='remote'?(this.#watchers['loaded']['reset']({'signal':this.#controller['signal']}),this.#watchers['stable']['reset']({'signal':this.#controller['signal']})['resolve'](void 0x0,{'delay':this.#target['browser']['frameStabilityTimeout']}),this.#watchers['networkAlmostIdle']['reset']({'signal':this.#controller['signal']}),this.#watchers['networkIdle']['reset']({'signal':this.#controller['signal']})):(this.#watchers['loaded']['resolve'](),this.#watchers['stable']['resolve'](),this.#watchers['networkAlmostIdle']['resolve'](),this.#watchers['networkIdle']['resolve']());}),this['on']('loading',()=>{if(this['isAd'])return;this.#stylesheets['beginNavigation'](),this.#watchers['loaded']['reset']({'signal':this.#controller['signal']}),this.#watchers['stable']['reset']({'signal':this.#controller['signal']})['resolve'](void 0x0,{'delay':this.#target['browser']['frameStabilityTimeout']}),this.#watchers['networkAlmostIdle']['reset']({'signal':this.#controller['signal']}),this.#watchers['networkIdle']['reset']({'signal':this.#controller['signal']});}),this['on']('loaded',()=>{this.#watchers['loaded']['resolve'](),this.#watchers['stable']['resolve']();}),this['on']('networkAlmostIdle',()=>{this.#watchers['networkAlmostIdle']['resolve'](),this.#watchers['networkIdle']['reset']({'signal':this.#controller['signal']});}),this['on']('networkIdle',()=>{this.#watchers['networkAlmostIdle']['resolve'](),this.#watchers['networkIdle']['resolve']();}),this['on']('swapping',()=>{log('frameTargetSwapping',{'frameId':this['frameId']}),this.#watchers['determined']['reset']({'signal':this.#controller['signal']}),this.#defaultEvaluator=void 0x0,this.#isolatedEvaluator=void 0x0;}),this['on']('swapped',({target:F})=>{log('frameTargetSwapped',{'frameId':this['frameId'],'targetId':F['targetId']}),this.#target=F,this.#watchers['determined']['resolve'](),this.#watchers['loaded']['reset']({'signal':this.#controller['signal']}),this.#watchers['stable']['reset']({'signal':this.#controller['signal']})['resolve'](void 0x0,{'delay':this.#target['browser']['frameStabilityTimeout']}),this.#watchers['networkAlmostIdle']['reset']({'signal':this.#controller['signal']}),this.#watchers['networkIdle']['reset']({'signal':this.#controller['signal']});}),this['on']('destroyed',()=>{this.#destroyed=!![],this.#controller['abort'](new AbortError('Frame\x20with\x20id\x20\x22'+this['frameId']+'\x22\x20is\x20destroyed\x20in\x20the\x20middle\x20of\x20operation'));});}async['isVisible'](){if(this['isMain'])return!![];const l=await this['getOwnerNode']();if(!l)return![];return await l['execute'](isFrameContentVisible);}async['wait'](l,{signal:P}={}){return abortable(this.#watchers[l],P);}async['getOwnerNode'](){if(this.#node!==void 0x0)return this.#node;if(!this['parent'])return this.#node=null;const l=await this['parent']['$$']('iframe');for(const P of l)if(await P['getContentFrame']()===this)return this.#node=P;throw new Error('Cannot\x20find\x20owner\x20node\x20for\x20the\x20frame');}async['$'](l){const P=[l]['flat']();let R=this;for(const F of P['keys']()){const o=P[F],z=await R['execute'](findNodeBySelector,[o]);if(!z)return null;if(F<P['length']-0x1)R=await z['getContentFrame']();else return z;}return null;}async['$$'](l){const P=[l]['flat']();let R=[this];for(const F of P['keys']()){const o=P[F],z=await R['reduce'](async(K,X)=>{const D=await X['execute'](findNodesBySelector,[o]),a=await K;return a['push'](...D),a;},Promise['resolve']([]));if(z['length']===0x0)return[];if(F<P['length']-0x1)R=await Promise['all'](z['map'](async K=>K['getContentFrame']()));else return z;}return[];}async['fetch'](l,P={}){const R=this['target']['connection'],F={'disableCache':P['disableCache']??![],'includeCredentials':P['includeCredentials']??!![]};let o;try{o=await R['execute']('Network.loadNetworkResource',{'frameId':this['frameId'],'url':l,'options':F});}catch(N){throw new FrameFetchError(N instanceof Error?N['message']:String(N));}const {success:z,httpStatusCode:K,headers:X,netErrorName:D,stream:a}=o['resource'];if(!z&&K===void 0x0)throw new FrameFetchError(D??'unknown');const G={};for(const [E,H]of Object['entries'](X??{}))G[E['toLowerCase']()]=typeof H==='string'?H:String(H);let m;if(a)try{m=await buffer(makeRemoteStream(R,a));}catch(t){throw new FrameFetchError(t instanceof Error?t['message']:String(t));}else m=d['alloc'](0x0);return{'request':{'url':l,'method':'GET','headers':{},'body':()=>Promise['resolve'](new Uint8Array())},'status':K??0xc8,'headers':G,get 'body'(){return Readable['from'](m);},'arrayBuffer':()=>Promise['resolve'](new Uint8Array(m)['buffer']),'base64':()=>Promise['resolve'](m['toString']('base64'))};}async['execute'](l,P,R){return this.#execute('isolated',l,P,R);}async['defaultExecute'](l,P,R){return this.#execute('default',l,P,R);}async['evaluate'](l,P){return this.#evaluate('isolated',l,P);}async['defaultEvaluate'](l,P){return this.#evaluate('default',l,P);}async['resolve'](l){return this.#resolve('isolated',l);}async['defaultResolve'](l){return this.#resolve('default',l);}},FrameEvaluatorAttached=class extends Event{['evaluator'];constructor(l){super('evaluatorAttached'),this['evaluator']=l;}},FrameLifecycleEvent=class extends Event{constructor(l){super(l);}},FrameNavigatingEvent=class extends Event{['url'];['reason'];constructor({url:l,reason:P}){super('navigating'),this['url']=l,this['reason']=P;}},FrameNavigatedEvent=class extends Event{['url'];['reason'];['loaderId'];constructor({url:l,reason:P,loaderId:R}){super('navigated'),this['url']=l,this['reason']=P,this['loaderId']=R;}},FrameDocumentRequestEvent=class extends Event{['request'];constructor(l){super('request'),this['request']=l;}},FrameDocumentResponseEvent=class extends Event{['response'];constructor(l){super('response'),this['response']=l;}},FrameSwappingEvent=class extends Event{constructor(){super('swapping');}},FrameSwappedEvent=class extends Event{['target'];constructor(l){super('swapped'),this['target']=l;}},FrameDestroyedEvent=class extends Event{constructor(){super('destroyed');}};function makeLoader(l){return new Loader(l);}var Loader=class extends EventTargetNode{#frame;constructor({frame:l}){super(),this.#frame=l,this.#frame&&(this['on']('request',({resource:P,request:R})=>{if(P==='Document')this.#frame['dispatch'](new FrameDocumentRequestEvent(R));}),this['on']('response',({resource:P,response:R})=>{if(P==='Document')this.#frame['dispatch'](new FrameDocumentResponseEvent(R));}));}async*['responses'](){const l=makeWatcher();let P=[];this['on']('response',({response:R})=>{P['push'](R),l['resolve'](),l['reset']();});while(!![]){await l,yield*P,P=[];}}},LoaderRequestEvent=class extends Event{['requestId'];['request'];['resource'];constructor(l,{requestId:P,resource:R},F){super('request',F),this['requestId']=P,this['resource']=R,this['request']=l;}},LoaderResponseEvent=class extends Event{['requestId'];['response'];['resource'];constructor(l,{requestId:P,resource:R},F){super('response',F),this['requestId']=P,this['resource']=R,this['response']=l;}};function makeBlockingDialog(l){return new BlockingDialog(l);}var BlockingDialog=class extends EventTargetNode{#handled=![];['target'];['type'];['message'];constructor({target:l,type:P,message:R}){super(),this['target']=l,this['type']=P,this['message']=R;}get['handled'](){return this.#handled;}async['handle'](l,P){log('dialogHandling',{'targetId':this['target']['targetId']}),this.#handled=!![],await this['target']['connection']['execute']('Page.handleJavaScriptDialog',{'accept':l,'promptText':P}),this['dispatch'](new DialogHandledEvent());}};function makeFilepickerDialog(l){return new FilepickerDialog(l);}var FilepickerDialog=class extends EventTargetNode{#handled=![];['frame'];['element'];['multiple'];['accept'];['type']='filepicker';constructor({frame:l,element:P,multiple:R,accept:F}){super(),this['frame']=l,this['element']=P,this['multiple']=R,this['accept']=F;}get['handled'](){return this.#handled;}async['handle'](l){try{await this['element']['setValue'](l),this.#handled=!![],this['dispatch'](new DialogHandledEvent());}catch(P){error('filepickerHandleFailed',{'error':P});}}},DialogHandledEvent=class extends Event{constructor(){super('handled');}};function makeDebugger(l){return new Debugger(l);}var Debugger=class extends EventTargetNode{#watchers={'holds':new Set(),'paused':makeWatcher()};#initialize(){this['target']['connection']['on']('Debugger.paused',async()=>{log('debuggerPaused',{'targetId':this['target']['targetId'],'reason':this.#watchers['paused']['settled']?'manual':'programmatic'});if(this.#watchers['paused']['settled'])this.#watchers['paused']['reset']({'hint':'manual'});this['dispatch'](new DebuggerPausedEvent({'reason':this.#watchers['paused']['hint']}));}),this['target']['connection']['on']('Debugger.resumed',async()=>{log('debuggerResumed',{'targetId':this['target']['targetId']}),this.#watchers['paused']['resolve'](),this.#watchers['holds']['forEach'](l=>l['resolve']()),this.#watchers['holds']['clear'](),this['dispatch'](new DebuggerResumedEvent());}),this.#watchers['paused']['resolve']();}['target'];get['paused'](){return!this.#watchers['paused']['settled'];}constructor({target:l}){super(),this['target']=l,this['target']['wait']('initialized')['then'](()=>this.#initialize());}['hold'](){if(this.#watchers['paused']['settled'])return()=>void 0x0;const l=makeWatcher();return this.#watchers['holds']['add'](l),()=>{this.#watchers['holds']['delete'](l),l['resolve']();};}async['pause'](){this.#watchers['paused']['reset']({'hint':'programmatic'}),await this['target']['connection']['execute']('Debugger.pause'),this['target']['mainFrame']['defaultEvaluate']('1\x20+\x201')['catch'](()=>null);}async['resume'](){await Promise['allSettled'](this.#watchers['holds']);if(!this.#watchers['paused']['settled'])await this['target']['connection']['execute']('Debugger.resume',{'terminateOnResume':![]});}},DebuggerPausedEvent=class extends Event{['reason'];constructor({reason:l},P){super('paused',P),this['reason']=l;}},DebuggerResumedEvent=class extends Event{constructor(l){super('resumed',l);}};const us=buildLayout({'us':{'Escape':{'keyCode':0x1b,'key':'Escape'},'F1':{'keyCode':0x70,'key':'F1'},'F2':{'keyCode':0x71,'key':'F2'},'F3':{'keyCode':0x72,'key':'F3'},'F4':{'keyCode':0x73,'key':'F4'},'F5':{'keyCode':0x74,'key':'F5'},'F6':{'keyCode':0x75,'key':'F6'},'F7':{'keyCode':0x76,'key':'F7'},'F8':{'keyCode':0x77,'key':'F8'},'F9':{'keyCode':0x78,'key':'F9'},'F10':{'keyCode':0x79,'key':'F10'},'F11':{'keyCode':0x7a,'key':'F11'},'F12':{'keyCode':0x7b,'key':'F12'},'Backquote':{'keyCode':0xc0,'shiftKey':'~','key':'`'},'Digit1':{'keyCode':0x31,'shiftKey':'!','key':'1'},'Digit2':{'keyCode':0x32,'shiftKey':'@','key':'2'},'Digit3':{'keyCode':0x33,'shiftKey':'#','key':'3'},'Digit4':{'keyCode':0x34,'shiftKey':'$','key':'4'},'Digit5':{'keyCode':0x35,'shiftKey':'%','key':'5'},'Digit6':{'keyCode':0x36,'shiftKey':'^','key':'6'},'Digit7':{'keyCode':0x37,'shiftKey':'&','key':'7'},'Digit8':{'keyCode':0x38,'shiftKey':'*','key':'8'},'Digit9':{'keyCode':0x39,'shiftKey':'(','key':'9'},'Digit0':{'keyCode':0x30,'shiftKey':')','key':'0'},'Minus':{'keyCode':0xbd,'shiftKey':'_','key':'-'},'Equal':{'keyCode':0xbb,'shiftKey':'+','key':'='},'Backslash':{'keyCode':0xdc,'shiftKey':'|','key':'\x5c'},'Backspace':{'keyCode':0x8,'key':'Backspace'},'Tab':{'keyCode':0x9,'key':'Tab'},'KeyQ':{'keyCode':0x51,'shiftKey':'Q','key':'q'},'KeyW':{'keyCode':0x57,'shiftKey':'W','key':'w'},'KeyE':{'keyCode':0x45,'shiftKey':'E','key':'e'},'KeyR':{'keyCode':0x52,'shiftKey':'R','key':'r'},'KeyT':{'keyCode':0x54,'shiftKey':'T','key':'t'},'KeyY':{'keyCode':0x59,'shiftKey':'Y','key':'y'},'KeyU':{'keyCode':0x55,'shiftKey':'U','key':'u'},'KeyI':{'keyCode':0x49,'shiftKey':'I','key':'i'},'KeyO':{'keyCode':0x4f,'shiftKey':'O','key':'o'},'KeyP':{'keyCode':0x50,'shiftKey':'P','key':'p'},'BracketLeft':{'keyCode':0xdb,'shiftKey':'{','key':'['},'BracketRight':{'keyCode':0xdd,'shiftKey':'}','key':']'},'CapsLock':{'keyCode':0x14,'key':'CapsLock'},'KeyA':{'keyCode':0x41,'shiftKey':'A','key':'a'},'KeyS':{'keyCode':0x53,'shiftKey':'S','key':'s'},'KeyD':{'keyCode':0x44,'shiftKey':'D','key':'d'},'KeyF':{'keyCode':0x46,'shiftKey':'F','key':'f'},'KeyG':{'keyCode':0x47,'shiftKey':'G','key':'g'},'KeyH':{'keyCode':0x48,'shiftKey':'H','key':'h'},'KeyJ':{'keyCode':0x4a,'shiftKey':'J','key':'j'},'KeyK':{'keyCode':0x4b,'shiftKey':'K','key':'k'},'KeyL':{'keyCode':0x4c,'shiftKey':'L','key':'l'},'Semicolon':{'keyCode':0xba,'shiftKey':':','key':';'},'Quote':{'keyCode':0xde,'shiftKey':'\x22','key':'\x27'},'Enter':{'keyCode':0xd,'key':'Enter','text':'\x0d'},'ShiftLeft':{'keyCode':0xa0,'keyCodeWithoutLocation':0x10,'key':'Shift','location':0x1},'KeyZ':{'keyCode':0x5a,'shiftKey':'Z','key':'z'},'KeyX':{'keyCode':0x58,'shiftKey':'X','key':'x'},'KeyC':{'keyCode':0x43,'shiftKey':'C','key':'c'},'KeyV':{'keyCode':0x56,'shiftKey':'V','key':'v'},'KeyB':{'keyCode':0x42,'shiftKey':'B','key':'b'},'KeyN':{'keyCode':0x4e,'shiftKey':'N','key':'n'},'KeyM':{'keyCode':0x4d,'shiftKey':'M','key':'m'},'Comma':{'keyCode':0xbc,'shiftKey':'<','key':','},'Period':{'keyCode':0xbe,'shiftKey':'>','key':'.'},'Slash':{'keyCode':0xbf,'shiftKey':'?','key':'/'},'ShiftRight':{'keyCode':0xa1,'keyCodeWithoutLocation':0x10,'key':'Shift','location':0x2},'ControlLeft':{'keyCode':0xa2,'keyCodeWithoutLocation':0x11,'key':'Control','location':0x1},'MetaLeft':{'keyCode':0x5b,'key':'Meta','location':0x1},'AltLeft':{'keyCode':0xa4,'keyCodeWithoutLocation':0x12,'key':'Alt','location':0x1},'Space':{'keyCode':0x20,'key':'\x20'},'AltRight':{'keyCode':0xa5,'keyCodeWithoutLocation':0x12,'key':'Alt','location':0x2},'AltGraph':{'keyCode':0xe1,'key':'AltGraph'},'MetaRight':{'keyCode':0x5c,'key':'Meta','location':0x2},'ContextMenu':{'keyCode':0x5d,'key':'ContextMenu'},'ControlRight':{'keyCode':0xa3,'keyCodeWithoutLocation':0x11,'key':'Control','location':0x2},'PrintScreen':{'keyCode':0x2c,'key':'PrintScreen'},'ScrollLock':{'keyCode':0x91,'key':'ScrollLock'},'Pause':{'keyCode':0x13,'key':'Pause'},'PageUp':{'keyCode':0x21,'key':'PageUp'},'PageDown':{'keyCode':0x22,'key':'PageDown'},'Insert':{'keyCode':0x2d,'key':'Insert'},'Delete':{'keyCode':0x2e,'key':'Delete'},'Home':{'keyCode':0x24,'key':'Home'},'End':{'keyCode':0x23,'key':'End'},'ArrowLeft':{'keyCode':0x25,'key':'ArrowLeft'},'ArrowUp':{'keyCode':0x26,'key':'ArrowUp'},'ArrowRight':{'keyCode':0x27,'key':'ArrowRight'},'ArrowDown':{'keyCode':0x28,'key':'ArrowDown'},'NumLock':{'keyCode':0x90,'key':'NumLock'},'NumpadDivide':{'keyCode':0x6f,'key':'/','location':0x3},'NumpadMultiply':{'keyCode':0x6a,'key':'*','location':0x3},'NumpadSubtract':{'keyCode':0x6d,'key':'-','location':0x3},'Numpad7':{'keyCode':0x24,'shiftKeyCode':0x67,'key':'Home','shiftKey':'7','location':0x3},'Numpad8':{'keyCode':0x26,'shiftKeyCode':0x68,'key':'ArrowUp','shiftKey':'8','location':0x3},'Numpad9':{'keyCode':0x21,'shiftKeyCode':0x69,'key':'PageUp','shiftKey':'9','location':0x3},'Numpad4':{'keyCode':0x25,'shiftKeyCode':0x64,'key':'ArrowLeft','shiftKey':'4','location':0x3},'Numpad5':{'keyCode':0xc,'shiftKeyCode':0x65,'key':'Clear','shiftKey':'5','location':0x3},'Numpad6':{'keyCode':0x27,'shiftKeyCode':0x66,'key':'ArrowRight','shiftKey':'6','location':0x3},'NumpadAdd':{'keyCode':0x6b,'key':'+','location':0x3},'Numpad1':{'keyCode':0x23,'shiftKeyCode':0x61,'key':'End','shiftKey':'1','location':0x3},'Numpad2':{'keyCode':0x28,'shiftKeyCode':0x62,'key':'ArrowDown','shiftKey':'2','location':0x3},'Numpad3':{'keyCode':0x22,'shiftKeyCode':0x63,'key':'PageDown','shiftKey':'3','location':0x3},'Numpad0':{'keyCode':0x2d,'shiftKeyCode':0x60,'key':'Insert','shiftKey':'0','location':0x3},'NumpadDecimal':{'keyCode':0x2e,'shiftKeyCode':0x6e,'key':'\x00','shiftKey':'.','location':0x3},'NumpadEnter':{'keyCode':0xd,'key':'Enter','text':'\x0d','location':0x3}}}['us']);function buildLayout(l){const P=new Map();for(const R in l){const F=l[R],o={'name':R,'key':F['key']||'','code':F['keyCodeWithoutLocation']||F['keyCode']||0x0,'text':F['text']??(F['key']['length']===0x1?F['key']:''),'modifier':['Shift','Control','Alt','Meta']['includes'](F['key']),'commands':F['commands']};let z;if(F['shiftKey']){z={...o},z['key']=F['shiftKey'],z['text']=F['shiftKey'];if(F['shiftKeyCode'])z['code']=F['shiftKeyCode'];}P['set'](R,{...o,'shifted':z});if(o['key']['length']===0x1)P['set'](o['key'],o);if(z)P['set'](z['key'],z);}return P;}function makeMouse(l){return new Mouse(l);}var Mouse=class{#target;#position={'x':0x0,'y':0x0};constructor({target:l}){this.#target=l;}get['position'](){return this.#position;}async['move'](l,{signal:P}){const R=Array['isArray'](l)?l:[l];for(const F of R){const {x:o,y:z}=F,K=this.#position,X=1.7,D=0x5,a=Math['hypot'](o-K['x'],z-K['y'])/X,G=Math['ceil'](a/D);for(let m=0x0;m<G;m++){P?.['throwIfAborted']();const N=m/G,E=lerp(K['x'],o,N),H=lerp(K['y'],z,N);await this.#target['connection']['execute']('Input.dispatchMouseEvent',{'type':'mouseMoved','x':E,'y':H},{'signal':P}),await V(D,void 0x0,{'signal':P});}await this.#target['connection']['execute']('Input.dispatchMouseEvent',{'type':'mouseMoved','x':o,'y':z},{'signal':P}),this.#position={'x':o,'y':z};}}async['click']({x:l,y:P},{button:button='left',times:times=0x1}={}){await this.#target['connection']['execute']('Input.dispatchMouseEvent',{'type':'mousePressed','x':l,'y':P,'button':button,'clickCount':times}),await this.#target['connection']['execute']('Input.dispatchMouseEvent',{'type':'mouseReleased','x':l,'y':P,'button':button,'clickCount':times}),this.#position={'x':l,'y':P};}};function makeKeyboard(l){return new Keyboard(l);}var Keyboard=class{#target;#pressed={'modifiers':new Set(),'keys':new Set()};constructor({target:l}){this.#target=l;}async['press'](l,{raw:P,commands:R}={}){await this['down'](l,{'raw':P,'commands':R}),await V(0xa),await this['up'](l);}async['down'](l,{raw:P,commands:R}={}){for(const F of Array['isArray'](l)?l:[l]){let o=us['get'](F);if(!o)throw new Error('Unknown\x20key\x20\x22'+F+'\x22');if(this.#pressed['modifiers']['has']('Shift')&&o['shifted'])o=o['shifted'];P=!o['text']||P&&o['key']!==o['text'],await this.#target['connection']['execute']('Input.dispatchKeyEvent',{'type':P?'rawKeyDown':'keyDown','modifiers':toModifiersMask(this.#pressed['modifiers']),'windowsVirtualKeyCode':o['code'],'nativeVirtualKeyCode':o['code'],'code':o['name'],'key':o['key'],'text':P?'':o['text'],'unmodifiedText':P?'':o['text'],'commands':[...R??[],...o['commands']??[]]});if(o['modifier'])this.#pressed['modifiers']['add'](o['key']);else this.#pressed['keys']['add'](o['key']);}}async['up'](l){for(const P of Array['isArray'](l)?l['toReversed']():[l]){const R=us['get'](P);if(!R)throw new Error('Unknown\x20key\x20\x22'+P+'\x22');await this.#target['connection']['execute']('Input.dispatchKeyEvent',{'type':'keyUp','modifiers':toModifiersMask(this.#pressed['modifiers']),'windowsVirtualKeyCode':R['code'],'nativeVirtualKeyCode':R['code'],'code':R['name'],'key':R['key']});if(R['modifier'])this.#pressed['modifiers']['delete'](R['key']);else this.#pressed['keys']['delete'](R['key']);}}async['type'](l,{signal:P}={}){for(const R of l){if(us['has'](R))await this['press'](R);else await this.#target['connection']['execute']('Input.dispatchKeyEvent',{'type':'char','text':R});P?.['throwIfAborted'](),await V(0x64);}}async['insert'](l,{keys:P}={}){if(P)await this['press'](P);await this.#target['connection']['execute']('Input.insertText',{'text':l});}};function toModifiersMask(l){let P=0x0;if(l['has']('Alt'))P|=0x1;if(l['has']('Control'))P|=0x2;if(l['has']('Meta'))P|=0x4;if(l['has']('Shift'))P|=0x8;return P;}function lerp(l,P,R){return l*(0x1-R)+P*R;}function makeInjection(l){return new Injection(l);}var Injection=class extends EventTargetNode{#targets=new Set();#evaluators=new Map();#isolated=!![];#deep=!![];#watchers={'injected':makeWatcher()};async #inject(l){try{log('injectionStarted',{'name':this['name'],'targetId':l['targetId']}),await l['wait']('initialized'),this.#targets['add'](l),l['on']('closed',()=>this.#targets['delete'](l));for(const P of l['frames']()){if(!this.#isolated&&P['defaultEvaluator'])await this.#attach(P['defaultEvaluator']);P['on']('evaluatorAttached',async({evaluator:R})=>{if(this.#isolated?R['name']===this['name']:R['type']==='default')await this.#attach(R);});}l['on']('frameAttached',({frame:R})=>{R['on']('evaluatorAttached',async({evaluator:F})=>{if(this.#isolated?F['name']===this['name']:F['type']==='default')await this.#attach(F);});}),l['connection']['on']('Runtime.bindingCalled',({executionContextId:R,name:F,payload:o})=>{if(F===this['binding']){const z=this.#evaluators['get'](l['targetId']+':'+R);if(z){const K=JSON['parse'](o);this['dispatch'](new InjectionIncommingMessageEvent(z,K['name'],K['payload']));}}}),await l['connection']['execute']('Runtime.addBinding',{'name':this['binding'],'executionContextName':this.#isolated?this['name']:void 0x0}),await l['connection']['execute']('Page.addScriptToEvaluateOnNewDocument',{'source':await makeExpression(this['expression'])['compile'](),'worldName':this.#isolated?this['name']:void 0x0,'runImmediately':!![]}),this['dispatch'](new InjectionTargetAttachedEvent(l)),this.#deep&&(l['on']('frameTargetCreated',async({target:R})=>this.#inject(R)),await Promise['all'](Array['from'](l['targets'](),async R=>this.#inject(R))));}catch(R){if(R instanceof AbortError)log('injectionTargetAborted',{'name':this['name'],'targetId':l['targetId'],'error':R});else throw R;}}async #attach(l){log('injectionEvaluatorAttached',{'name':this['name'],'evaluatorId':l['evaluatorId'],'evaluatorName':l['name'],'frameId':l['frame']?.['frameId']}),this.#evaluators['set'](l['target']['targetId']+':'+l['evaluatorId'],l),l['on']('destroyed',({evaluatorId:P})=>this.#evaluators['delete'](l['target']['targetId']+':'+P)),this['dispatch'](new InjectionEvaluatorAttachedEvent(l));}['name'];['binding'];['expression'];constructor({target:l,expression:P,name:R,deep:F,isolated:o}){super(),R??=P instanceof Expression?P['name']:R;if(!R)throw new Error('Cannot\x20create\x20an\x20injection\x20without\x20a\x20name');this['expression']=P,this['name']=R,this['binding']='__'+R['replaceAll']('\x20','_')+'_post_message',this.#deep=F??!![],this.#isolated=o??!![],this['cork'](),this.#inject(l)['then'](()=>{this.#watchers['injected']['resolve']();})['catch'](z=>{this.#watchers['injected']['reject'](z);if(z instanceof AbortError)log('injectionAborted',{'targetId':l['targetId'],'error':z});else error('injectionFailed',{'targetId':l['targetId'],'error':z});})['finally'](()=>nextTick(()=>this['uncork']())),this['on']('outgoingMessage',async({name:z,payload:K,filter:X})=>{try{await this['execute']((D,a,G)=>{const m=globalThis,N=m['ports']?.[D];if(N)setTimeout(()=>N['dispatchEvent'](new m['PortIncommingMessageEvent'](a,G)),0x0);},[this['name'],z,K],{'filter':X});}catch(D){error('injectionPortSendFailed',{'portName':this['name'],'messageName':z,'error':D});}});}*['targets'](){yield*this.#targets['values']();}async['wait'](l){await this.#watchers[l];}async['execute'](l,P,R){let F=Array['from'](this.#evaluators['values']());if(R?.['filter'])F=F['filter'](R['filter']);return Promise['all'](F['map'](o=>o['execute'](l,P,R)));}async['evaluate'](l,P){let R=Array['from'](this.#evaluators['values']());if(P?.['filter'])R=R['filter'](P['filter']);return Promise['all'](R['map'](F=>F['evaluate'](l,P)));}['send'](l,P,R){this['dispatch'](new InjectionOutgoingMessageEvent(l,P,R));}},InjectionTargetAttachedEvent=class extends Event{['target'];constructor(l){super('evaluatorAttached'),this['target']=l;}},InjectionEvaluatorAttachedEvent=class extends Event{['evaluator'];constructor(l){super('evaluatorAttached'),this['evaluator']=l;}},InjectionOutgoingMessageEvent=class extends Event{['name'];['payload'];['filter'];constructor(l,P,R){super('outgoingMessage'),this['name']=l,this['payload']=P,this['filter']=R?.['filter'];}},InjectionIncommingMessageEvent=class extends Event{['evaluator'];['name'];['payload'];constructor(l,P,R){super('incommingMessage'),this['evaluator']=l,this['name']=P,this['payload']=R;}};function makeRequestsTracker(){return new RequestsTracker();}var RequestsTracker=class{#requestsWatchers=new Map();#allDoneWatcher=makeWatcher();get['pending'](){return this.#allDoneWatcher['settled'];}get[Symbol['toStringTag']](){return'RequestTracker';}constructor(){this.#allDoneWatcher['resolve']();}async['wait'](){await this.#allDoneWatcher;}['track'](l,P){this.#requestsWatchers['set'](l,P);if(this.#allDoneWatcher['settled'])this.#allDoneWatcher['reset']();P['finally'](()=>{if(this.#requestsWatchers['get'](l)===P)this['untrack'](l);});}['untrack'](l){const P=this.#requestsWatchers['delete'](l);if(P&&this.#requestsWatchers['size']===0x0)this.#allDoneWatcher['resolve']();return P;}['resolveBy'](l){this.#requestsWatchers['get'](l)?.['resolve']();}['debounceBy'](l,P){this.#requestsWatchers['get'](l)?.['resolve'](void 0x0,{'delay':P,'key':'debounce'});}};function makeIntercepted(l){if(l['intercepted']['responseStatusCode']===void 0x0&&l['intercepted']['responseErrorReason']===void 0x0)return makeInterceptedRequest(l);return makeInterceptedResponse(l);}var Intercepted=class{['_handled']=![];['target'];['frame'];['requestId'];['stage'];['resource'];constructor({target:l,intercepted:P}){this['target']=l,this['frame']=l['browser']['frameManager']['get'](P['frameId']),this['requestId']=P['requestId'],this['resource']=P['resourceType'],this['stage']=P['responseStatusCode']===void 0x0&&P['responseErrorReason']===void 0x0?'request':'response';}get['handled'](){return this['_handled'];}async['fulfill']({status:l,headers:P,body:R}){await this['target']['connection']['execute']('Fetch.fulfillRequest',{'requestId':this['requestId'],'responseCode':l,'responseHeaders':P&&Object['entries'](P)['map'](([F,o])=>({'name':F,'value':o})),'body':R&&d['from'](R)['toString']('base64')}),this['_handled']=!![];}};function makeInterceptedRequest(l){return new InterceptedRequest(l);}var InterceptedRequest=class extends Intercepted{#networkId;#body;['stage']='request';['url'];['method'];['headers'];constructor({target:l,intercepted:P}){super({'target':l,'intercepted':P}),this['url']=P['request']['url']+(P['request']['urlFragment']??''),this['method']=P['request']['method'],this['headers']=P['request']['headers'],this.#networkId=P['networkId'];if(!P['request']['hasPostData'])this.#body=new Uint8Array();else{if(P['request']['postDataEntries']?.['length'])this.#body=d['concat'](P['request']['postDataEntries']['map'](R=>d['from'](R['bytes']??'','base64')));}}async['continue']({headers:l,url:P,method:R,body:F,interceptResponse:o}={}){await this['target']['connection']['execute']('Fetch.continueRequest',{'requestId':this['requestId'],'headers':l&&Object['entries'](l)['map'](([z,K])=>({'name':z,'value':K})),'url':P,'method':R,'postData':F!==void 0x0?d['from'](F)['toString']('base64'):void 0x0,'interceptResponse':o}),this['_handled']=!![];}async['body'](){if(this.#body)return this.#body;if(this.#networkId){const {postData:l}=await this['target']['connection']['execute']('Network.getRequestPostData',{'requestId':this.#networkId});return new TextEncoder()['encode'](l);}return new Uint8Array();}};function makeInterceptedResponse(l){return new InterceptedResponse(l);}var InterceptedResponse=class extends Intercepted{#consumed=![];['stage']='response';['request'];['status'];['error'];['headers'];['body'];constructor({target:l,intercepted:P}){if(P['responseStatusCode']===void 0x0&&P['responseErrorReason']===void 0x0)throw new Error('InterceptedResponse\x20requires\x20a\x20response-stage\x20Fetch\x20event');super({'target':l,'intercepted':P}),this['status']=P['responseStatusCode']??-0x1,this['error']=P['responseErrorReason'],this['headers']=Object['fromEntries']((P['responseHeaders']??[])['map'](({name:R,value:F})=>[R,F])),this['request']=makeInterceptedRequest({'target':l,'intercepted':P}),this['body']=makeRemoteStream(this['target']['connection'],async()=>{this.#assertNotConsumed('body'),this.#consumed=!![];const {stream:R}=await this['target']['connection']['execute']('Fetch.takeResponseBodyAsStream',{'requestId':this['requestId']});return R;});}async['continue'](){await this['target']['connection']['execute']('Fetch.continueResponse',{'requestId':this['requestId']}),this['_handled']=!![];}async['arrayBuffer'](){this.#assertNotConsumed('arrayBuffer'),this.#consumed=!![];const {body:l,base64Encoded:P}=await this['target']['connection']['execute']('Fetch.getResponseBody',{'requestId':this['requestId']}),R=P?d['from'](l,'base64'):d['from'](l,'utf8');return new Uint8Array(R)['buffer'];}async['base64'](){this.#assertNotConsumed('base64'),this.#consumed=!![];const {body:l,base64Encoded:P}=await this['target']['connection']['execute']('Fetch.getResponseBody',{'requestId':this['requestId']});return P?l:d['from'](l,'utf8')['toString']('base64');}#assertNotConsumed(l){if(this.#consumed)throw new BodyConsumedError({'accessor':l});}};function makeInterceptionPatternMatcher(l){const P=[];if(l['url'])P['push'](R=>l['url']['test'](R['request']['url']+(R['request']['urlFragment']??'')));if(l['resource'])P['push'](R=>l['resource']['includes'](R['resourceType']));if(l['stage'])P['push'](R=>l['stage']['includes'](R['responseStatusCode']===void 0x0&&R['responseErrorReason']===void 0x0?'request':'response'));return R=>P['every'](F=>F(R));}function toCDPPattern(l){const P=l['resource']??[void 0x0],R=l['stage']??['request'],F=[];for(const o of P)for(const z of R)F['push']({'urlPattern':'*',...o&&{'resourceType':o},'requestStage':z==='response'?'Response':'Request'});return F;}var StylesheetHandle=class{['stylesheetId'];['frame'];['url'];['inline'];['constructed'];constructor({stylesheetId:l,frame:P,url:R,inline:F,constructed:o}){this['stylesheetId']=l,this['frame']=P,this['url']=R,this['inline']=F,this['constructed']=o;}async['text'](){const {text:l}=await this['frame']['target']['connection']['execute']('CSS.getStyleSheetText',{'styleSheetId':this['stylesheetId']});return l;}};function makeTarget(l){return new Target(l);}var Target=class extends EventTargetNode{#connection;#browser;#evaluator;#url;#title;#mode='normal';#filepickersHidden=![];#loaders=new Map();#dialog=null;#injections=new Map();#visible=void 0x0;#controller=new AbortController();#watchers={'attached':makeWatcher(),'initialized':makeWatcher(),'navigated':makeWatcher({'hint':'chrome'}),'dialogOpened':makeWatcher(),'windowResolved':makeWatcher()};#window;#requestsTracker=makeRequestsTracker();#requestInterceptors=new Set();#filepickerHandlers=new Set();async #initialize(l){try{this.#connection=makeConnection({'socket':this.#browser['connection']['socket'],'signal':this.#controller['signal'],'sessionId':l}),this.#watchers['attached']['resolve'](),await setImmediate();if(this['mainFrame'])this['dispatch'](new TargetMainFrameReadyEvent(this['mainFrame']));this['kind']==='renderer'&&(this.#handleExistentFrames()['catch'](P=>{error('framesExtractionFailed',{'targetId':this['targetId'],'error':P});}),this.#resolveWindow()['catch'](P=>{error('windowResolutionFailed',{'targetId':this['targetId'],'error':P}),this.#watchers['windowResolved']['reject'](P);}),this['connection']['on']('Overlay.inspectNodeRequested',async({backendNodeId:P})=>{if(this.#mode==='element\x20selection')this['dispatch'](new TargetElementSelectedEvent(await this['resolve']({'nodeId':P})));}),this['connection']['on']('Page.frameAttached',({frameId:P,parentFrameId:R})=>{if(this.#browser['frameManager']['has'](P)){log('frameAttached',{'frameId':P,'parentFrameId':R,'reattached':!![]});const F=this.#browser['frameManager']['get'](P);F['dispatch'](new FrameSwappingEvent()),F['dispatch'](new FrameSwappedEvent(this));}else{log('frameAttached',{'frameId':P,'parentFrameId':R,'reattached':![]});const o=makeFrame({'target':this,'frameId':P,'parentFrameId':R});this.#browser['frameManager']['add'](o),this['dispatch'](new TargetFrameAttachedEvent(o));}}),this['connection']['on']('Page.frameDetached',({frameId:P,reason:R})=>{const F=this.#browser['frameManager']['get'](P);if(R==='remove'){log('frameRemoved',{'frameId':P});if(!F)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20is\x20removed\x20but\x20the\x20frame\x20wasn\x27t\x20found');F['dispatch'](new FrameDestroyedEvent()),this.#browser['frameManager']['delete'](P);}else{if(R==='swap'){log('frameSwapped',{'frameId':P,'ownTargetFound':!![]});if(!F)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20is\x20swapped\x20but\x20the\x20frame\x20wasn\x27t\x20found');const o=this.#browser['targetManager']['get'](P);if(!o)return log('frameSwapped',{'frameId':P,'ownTargetFound':![]});F['dispatch'](new FrameSwappedEvent(o));}}}),this['connection']['on']('Page.frameRequestedNavigation',async({frameId:P,reason:R,url:F})=>{log('frameNavigationRequested',{'frameId':P,'url':F,'reason':R});const o=this.#browser['frameManager']['get'](P);if(!o)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20requested\x20navigation\x20but\x20the\x20frame\x20wasn\x27t\x20found');o['dispatch'](new FrameNavigatingEvent({'url':F,'reason':R}));}),this['connection']['on']('Page.frameNavigated',({frame:{id:P,url:R,loaderId:F},type:o})=>{log('frameNavigated',{'frameId':P,'url':R,'navigationType':o});const z=this.#browser['frameManager']['get'](P);if(!z)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20is\x20navigated\x20but\x20the\x20frame\x20wasn\x27t\x20found');this.#browser['frameManager']['deleteDescendants'](P),z['dispatch'](new FrameNavigatedEvent({'url':R,'reason':o==='Navigation'?'remote':'restoration','loaderId':F}));}),this['connection']['on']('Page.navigatedWithinDocument',({frameId:P,url:R})=>{log('frameNavigatedWithinDocument',{'frameId':P,'url':R});const F=this.#browser['frameManager']['get'](P);if(!F)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20is\x20navigated\x20within\x20document\x20but\x20the\x20frame\x20wasn\x27t\x20found');F['dispatch'](new FrameNavigatedEvent({'url':R,'reason':'local','loaderId':''}));}),this['connection']['on']('Page.frameStartedLoading',({frameId:P})=>{log('frameLoadingStarted',{'frameId':P});const R=this.#browser['frameManager']['get'](P);if(!R)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20started\x20loading\x20but\x20the\x20frame\x20wasn\x27t\x20found');R['dispatch'](new FrameLifecycleEvent('loading'));}),this['connection']['on']('Page.frameStoppedLoading',({frameId:P})=>{log('frameLoadingStopped',{'frameId':P});const R=this.#browser['frameManager']['get'](P);if(!R)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20stopped\x20loading\x20but\x20the\x20frame\x20wasn\x27t\x20found');R['dispatch'](new FrameLifecycleEvent('loaded'));}),this['connection']['on']('Page.lifecycleEvent',({frameId:P,name:R})=>{log('frameLifecycleEvent',{'frameId':P,'name':R});const F=this.#browser['frameManager']['get'](P);if(!F)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20fired\x20a\x20lifecycle\x20event\x20but\x20the\x20frame\x20wasn\x27t\x20found');if(R==='load'&&!this.#watchers['initialized']['settled'])F['dispatch'](new FrameLifecycleEvent('loaded'));else{if(R==='networkAlmostIdle')F['dispatch'](new FrameLifecycleEvent('networkAlmostIdle'));else{if(R==='networkIdle')F['dispatch'](new FrameLifecycleEvent('networkIdle'));}}}),this['connection']['on']('Page.javascriptDialogOpening',({type:P,message:R})=>{log('dialogOpened',{'dialogType':P,'message':R}),this.#dialog=makeBlockingDialog({'target':this,'type':P,'message':R}),this.#watchers['dialogOpened']['resolve'](),this['dispatch'](new TargetDialogEvent('opened',this.#dialog));}),this['connection']['on']('Page.javascriptDialogClosed',({result:P,userInput:R})=>{log('dialogClosed',{}),this.#watchers['dialogOpened']['reset'](),this['dispatch'](new TargetDialogEvent('closed',this.#dialog,{'result':P,'value':R})),this.#dialog=null;}),this['connection']['on']('Page.fileChooserOpened',async({frameId:P,backendNodeId:R,mode:F})=>{log('filepickerOpened',{'frameId':P});const o=this.#browser['frameManager']['get'](P);if(!o)throw new Error('Filepicker\x20dialog\x20opened\x20in\x20frame\x20with\x20id\x20\x22'+P+'\x22\x20but\x20the\x20frame\x20wasn\x27t\x20found');const z=R?await o['resolve']({'nodeId':R}):await o['defaultExecute'](()=>globalThis['__mockFilepicker']),K=F==='selectMultiple',X=await z?.['execute'](D=>D['accept'])??'';this.#dialog=makeFilepickerDialog({'frame':o,'element':z,'multiple':K,'accept':X}),this.#dialog['once']('handled',()=>this.#dialog=null);if(this.#filepickerHandlers['size']>0x0)for(const D of this.#filepickerHandlers){await D(this.#dialog);if(this.#dialog['handled'])break;}else this.#watchers['dialogOpened']['resolve'](),this['dispatch'](new TargetFilepickerDialogEvent(this.#dialog));}),this['connection']['on']('Page.windowOpen',async()=>{log('childTargetCreated',{'targetId':this['targetId']}),this['dispatch'](new TargetChildTargetCreatingEvent());}),this['connection']['on']('CSS.styleSheetAdded',({header:P})=>{if(P['origin']==='user-agent'||P['origin']==='inspector')return;const R=this.#browser['frameManager']['get'](P['frameId']);if(!R)return;R['addStylesheet'](new StylesheetHandle({'stylesheetId':P['styleSheetId'],'frame':R,'url':P['sourceURL'],'inline':P['isInline'],'constructed':P['isConstructed']}));}),this['connection']['on']('CSS.styleSheetRemoved',({styleSheetId:P})=>{for(const R of this['frames']())if(R['removeStylesheet'](P))break;})),this['connection']['on']('Target.attachedToTarget',async({sessionId:P,targetInfo:R})=>{log('targetAttached',{'targetId':R['targetId'],'targetType':R['type'],'parentTargetId':this['targetId'],'sessionId':P});if(R['type']==='worker'){await makeConnection({'socket':this.#browser['connection']['socket'],'sessionId':P})['execute']('Runtime.runIfWaitingForDebugger')['catch'](F=>{error('workerResumeFailed',{'targetId':R['targetId'],'error':F});});return;}this.#browser['targetManager']['get'](R['targetId'])?.['dispatch'](new TargetAttachedEvent(P));}),this['connection']['on']('Runtime.executionContextCreated',({context:P})=>{if(P['auxData']?.['frameId']){log('executionContextCreated',{'contextId':P['id'],'contextName':P['name'],'frameId':P['auxData']['frameId']});const R=this['browser']['frameManager']['get'](P['auxData']['frameId']);if(!R)throw new Error('Execution\x20context\x20with\x20id\x20\x22'+P['id']+'\x22\x20and\x20name\x20\x22'+P['name']+'\x22\x20is\x20created\x20for\x20frame\x20with\x20id\x20\x22'+P['auxData']['frameId']+'\x22\x20but\x20the\x20frame\x20wasn\x27t\x20found');const F=makeEvaluator({'frame':R,'name':P['name'],'evaluatorId':P['id'],'type':P['auxData']['type']});R['dispatch'](new FrameEvaluatorAttached(F));}else log('executionContextCreated',{'contextId':P['id'],'targetId':this['targetId']}),this.#evaluator=makeEvaluator({'target':this,'name':P['name'],'evaluatorId':P['id'],'type':'default'});}),this['connection']['on']('Network.requestWillBeSent',({loaderId:P,frameId:R,requestId:F,type:o,request:z,hasUserGesture:K})=>{if(o==='Document')log('requestSent',{'frameId':R,'url':z['url'],'kind':'navigation','resourceType':o});else{if(z['url']['startsWith']('blob:'))log('requestSent',{'frameId':R,'url':z['url'],'kind':'blob','resourceType':o});else{if(K){const D=!isNonBlockingRequest(o,z['url']);log('requestSent',{'targetId':this['targetId'],'url':z['url'],'kind':'userInitiated','resourceType':o,'tracked':D});if(D)this.#requestsTracker['track'](F,makeWatcher()['resolve'](void 0x0,{'delay':0x9c40}));}else{if(R){const a=this.#browser['frameManager']['get'](R);if(a&&Date['now']()-a['navigatedAt']<0xbb8){const G=!isNonBlockingRequest(o,z['url']);log('requestSent',{'frameId':R,'url':z['url'],'kind':'frameSubresource','resourceType':o,'tracked':G});if(G)this.#requestsTracker['track'](F,makeWatcher()['resolve'](void 0x0,{'delay':0x2710}));}}}}}let X=this.#loaders['get'](P);if(!X){if(R){const m=this.#browser['frameManager']['get'](R);if(!m)throw new Error('Frame\x20with\x20id\x20\x22'+R+'\x22\x20received\x20a\x20response\x20but\x20the\x20frame\x20wasn\x27t\x20found');X=makeLoader({'loaderId':P,'frame':m});}else X=makeLoader({'loaderId':P});this.#loaders['set'](P,X);}X['dispatch'](new LoaderRequestEvent(z,{'requestId':F,'resource':o??'Other'}));}),this['connection']['on']('Network.responseReceived',({loaderId:P,frameId:R,requestId:F,type:o,response:z})=>{let K=this.#loaders['get'](P);if(!K){if(R){const a=this.#browser['frameManager']['get'](R);if(!a)throw new Error('Frame\x20with\x20id\x20\x22'+R+'\x22\x20received\x20a\x20response\x20but\x20the\x20frame\x20wasn\x27t\x20found');K=makeLoader({'loaderId':P,'frame':a});}else K=makeLoader({'loaderId':P});this.#loaders['set'](P,K);}K['dispatch'](new LoaderResponseEvent(z,{'requestId':F,'resource':o}));const X=[/^text\/event-stream$/,/^application\/octet-stream$/,/video\/*/],D=z['headers']['content-type']||'';if(X['some'](G=>G['test'](D)))this.#requestsTracker['resolveBy'](F);else this.#requestsTracker['debounceBy'](F,0xbb8);}),this['connection']['on']('Network.dataReceived',({requestId:P})=>{this.#requestsTracker['debounceBy'](P,0xbb8);}),this['connection']['on']('Network.loadingFinished',({requestId:P})=>{this.#requestsTracker['resolveBy'](P);}),this['connection']['on']('Network.loadingFailed',({requestId:P})=>{this.#requestsTracker['resolveBy'](P);}),this['connection']['on']('Fetch.requestPaused',async P=>{const R=makeIntercepted({'target':this,'intercepted':P});for(const {matchers:F,handler:o}of this.#requestInterceptors){if(!F['some'](z=>z(P)))continue;await o(R);if(R['handled'])return;}await R['continue']();}),await Promise['all']([this['kind']==='renderer'&&this['connection']['execute']('Page.enable',{'enableFileChooserOpenedEvent':!![]}),this['kind']==='renderer'&&this['connection']['execute']('Page.setLifecycleEventsEnabled',{'enabled':!![]}),this['connection']['execute']('Network.enable'),this['connection']['execute']('Runtime.enable'),this['kind']==='renderer'&&this['connection']['execute']('DOM.enable'),this['kind']==='renderer'&&this['connection']['execute']('Overlay.enable'),this['kind']==='renderer'&&this['connection']['execute']('CSS.enable'),this['kind']==='renderer'&&this['connection']['execute']('Target.setAutoAttach',{'autoAttach':!![],'flatten':!![],'filter':[{'type':'page'},{'type':'iframe'},{'type':'worker'}],'waitForDebuggerOnStart':!![]}),this['connection']['execute']('Runtime.runIfWaitingForDebugger')]);}catch(P){if(P instanceof AbortError)log('targetInitAborted',{'targetId':this['targetId'],'error':P});else throw P;}this.#watchers['initialized']['resolve']();if(!this.#browser['headless']&&this['kind']==='renderer'&&this['type']!=='iframe')this.#trackVisibility()['catch'](R=>{error('visibilityTrackingFailed',{'targetId':this['targetId'],'error':R});});this.#mockProgrammaticFilepickers()['catch'](R=>{error('filepickerMockingFailed',{'targetId':this['targetId'],'error':R});});if(this['kind']==='renderer')this['hideFilepickers'](this.#browser['filepickersHidden']);}async #resolveWindow(){const {windowId:l}=await this.#browser['connection']['execute']('Browser.getWindowForTarget',{'targetId':this['targetId']});this.#window=this.#browser['windowManager']['getOrCreate']({'windowId':l,'browser':this.#browser}),this.#window['dispatch'](new WindowTargetAttachedEvent(this)),this.#watchers['windowResolved']['resolve']();}async #handleExistentFrames(){const {frameTree:l}=await this['connection']['execute']('Page.getFrameTree'),P=[l];for(let R=0x0;R<P['length'];++R){const F=P[R];if(!this.#browser['frameManager']['has'](F['frame']['id'])){const o=makeFrame({'target':this,'frameId':F['frame']['id'],'parentFrameId':F['frame']['parentId']??null});this.#browser['frameManager']['add'](o),this['dispatch'](new TargetFrameAttachedEvent(o));if(o['frameId']===this['targetId'])this['dispatch'](new TargetMainFrameReadyEvent(this['mainFrame']));}if(F['childFrames'])P['push'](...F['childFrames']);}}async #trackVisibility(){const l=await this['inject'](visibilityTracker,{'name':'visibility_tracker','deep':![]});this.#visible=![],l['on']('incommingMessage',({name:P,payload:R})=>{if(P==='visibilityChanged'){log('targetVisibilityChanged',{'targetId':this['targetId'],'visibility':R});const F=R==='visible';this.#visible!==F&&(this.#visible=F,this['dispatch'](new TargetVisibilityChangeEvent(R)));}}),this['on']('childTargetCreating',async()=>l['send']('childTargetCreating',void 0x0));}async #mockProgrammaticFilepickers(){await this['inject'](filepickerMocker,{'name':'filepicker_mocker','isolated':![]});}['targetId'];['type'];['kind'];['createdAt']=Date['now']();['parent'];['debugger']=makeDebugger({'target':this});['mouse']=makeMouse({'target':this});['keyboard']=makeKeyboard({'target':this});get['initialized'](){return this.#watchers['initialized']['settled'];}get['attached'](){return!!this.#connection;}get['navigated'](){return this.#watchers['initialized']['settled']&&this.#watchers['navigated']['settled'];}get['stable'](){return this.#watchers['initialized']['settled']&&this.#watchers['navigated']['settled']&&(this['mainFrame']['stable']||this.#watchers['dialogOpened']['settled']);}get['pendingRequests'](){return this.#requestsTracker['pending'];}get['download'](){const l=this['mainFrame']['response']?.['headers']??{};return!!(Object['entries'](l)['find'](([P])=>P['toLowerCase']()==='content-disposition')?.[0x1])?.['startsWith']('attachment');}get['visible'](){return this.#visible;}get['mode'](){return this.#mode;}get['title'](){return this.#title;}get['url'](){return this.#url;}get['connection'](){return this.#connection;}get['browser'](){return this.#browser;}get['window'](){return this.#window;}get['popup'](){return!!this['parent']&&this['window']!==this['parent']['window'];}get['mainFrame'](){return this.#browser['frameManager']['get'](this['targetId']);}get['dialog'](){return this.#dialog;}get['injections'](){return Object['fromEntries'](this.#injections['entries']());}constructor({browser:l,parent:P,targetId:R,type:F,url:o,title:z}){super(),this.#browser=l,this.#url=o,this.#title=z,this['parent']=P,this['targetId']=R,this['type']=F,this['kind']=F==='page'||F==='iframe'||F==='other'&&o['startsWith']('devtools:')?'renderer':'worker';if(this['type']==='page'){const K=makeFrame({'target':this,'frameId':this['targetId'],'parentFrameId':null});this.#browser['frameManager']['add'](K);}else{if(this['type']==='iframe'){const X=this.#browser['frameManager']['get'](this['targetId']);if(X){const D=X['target'];X['dispatch'](new FrameSwappingEvent()),this['on']('detached',()=>X['dispatch'](new FrameSwappedEvent(D)));}}}if(this.#browser['headless'])this.#visible=!![];this['on']('attached',({sessionId:a})=>{this.#initialize(a);}),this['on']('changed',({url:a,title:G})=>{this.#url=a,this.#title=G;}),this['on']('closed',()=>{this.#controller['abort'](new AbortError('Target\x20with\x20id\x20\x22'+this['targetId']+'\x22\x20and\x20of\x20type\x20\x22'+this['type']+'\x22\x20is\x20closed\x20in\x20the\x20middle\x20of\x20operation'));if(this.#window)this.#window['dispatch'](new WindowTargetDetachedEvent(this));}),this['on']('dialogOpened',()=>{this['connection']['flush'](new FlushError('Target\x20with\x20id\x20\x22'+this['targetId']+'\x22\x20and\x20of\x20type\x20\x22'+this['type']+'\x22\x20is\x20blocked\x20due\x20to\x20dialog\x20opening'));}),this['on']('mainFrameReady',()=>{this['mainFrame']['on']('navigating',({reason:a})=>{this.#watchers['navigated']['reset']({'hint':a==='unknown'?'chrome':a==='programmatic'?'programmatic':'page'});}),this['mainFrame']['on']('navigated',({url:a,reason:G})=>{this.#watchers['navigated']['resolve']();const m=this.#url;this.#url=a;if(G==='local')this['dispatch'](new TargetNavigatedEvent({'from':m,'to':a,'reason':'page'}));else{if(a!=='chrome-error://chromewebdata/')this['dispatch'](new TargetNavigatedEvent({'from':m,'to':a,'reason':this.#watchers['navigated']['hint']}));}}),this['mainFrame']['on']('loading',()=>{}),this['mainFrame']['on']('loaded',()=>{this.#watchers['navigated']['resolve']();});}),this['on']('frameTargetCreated',({target:a})=>{a['on']('filepickerDialogOpened',({dialog:G})=>this['dispatch'](new TargetFilepickerDialogEvent(G)));});}*['frames'](){if(this.#controller['signal']['aborted'])return;yield*this.#browser['frameManager']['getFramesIterator'](this['targetId']);}*['targets'](){yield*this['frames']()['filter'](l=>l['frameId']!==this['targetId']&&l['isOutOfProcess'])['map'](l=>l['target']);}async['wait'](l,{signal:P}={}){if(l==='stable')await abortable(this.#watchers['initialized'],P),this['kind']==='renderer'&&(await abortable(this.#watchers['navigated'],P),await abortable(Promise['race']([this['mainFrame']['wait']('stable'),this.#watchers['dialogOpened']]),P));else{if(l==='pendingRequests')await abortable(this.#requestsTracker['wait'](),P);else await abortable(this.#watchers[l],P);}}async['activate'](){if(this['type']!=='page')throw new Error('Only\x20page\x20target\x20could\x20be\x20activated');this['dispatch'](new TargetActivatingEvent()),await this['connection']['execute']('Page.bringToFront');if(this.#browser['headless'])this['dispatch'](new TargetActivatedEvent({'reason':'programmatic'}));}async['emulate']({viewport:l,scale:scale=0x1,mobile:mobile=![]}){return this['connection']['execute']('Emulation.setDeviceMetricsOverride',{...l,'deviceScaleFactor':scale,'mobile':mobile});}async['getViewportSize'](){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20get\x20a\x20viewport\x20size\x20of\x20a\x20non-renderer\x20target');const {offsetX:l,offsetY:P}=await this['mainFrame']['execute'](()=>{return{'offsetX':innerWidth-Math['round'](visualViewport['width']),'offsetY':innerHeight-Math['round'](visualViewport['height'])};}),{cssVisualViewport:R}=await this['connection']['execute']('Page.getLayoutMetrics'),{clientWidth:F,clientHeight:o,scale:scale=0x1,zoom:zoom=0x1}=R;return{'width':Math['round']((F+l)*zoom*scale),'height':Math['round']((o+P)*zoom*scale)};}async['captureScreenshot'](l){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20capture\x20screenshot\x20of\x20a\x20non-renderer\x20target');return await this['connection']['execute']('Emulation.setVisibleSize',await this['getViewportSize']()),(await this['connection']['execute']('Page.captureScreenshot',l??{'format':'png'}))['data'];}async['execute'](l,P,R){await this['wait']('stable');if(this['kind']==='renderer')throw new Error('Can\x27t\x20execute\x20script\x20in\x20renderer\x20target,\x20use\x20target\x27s\x20main\x20frame\x20instead');return this.#evaluator['execute'](l,P,R);}async['evaluate'](l,P){if(this['kind']==='renderer')throw new Error('Can\x27t\x20evaluate\x20expression\x20in\x20renderer\x20target,\x20use\x20target\x27s\x20main\x20frame\x20instead');return await this['wait']('stable'),this.#evaluator['evaluate'](l,P);}async['resolve'](l){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20resolve\x20node\x20with\x20a\x20non-renderer\x20target');for(const P of this['frames']()){const R=await P['resolve'](l);if(R)return R;}throw new Error('Cannot\x20resolve\x20node\x20by\x20backend\x20id\x20\x22'+l['nodeId']+'\x22\x20in\x20target\x20with\x20id\x20\x22'+this['targetId']+'\x22');}async['resolveFromLocation'](l,{ignorePointerEventsNone:ignorePointerEventsNone=!![]}={}){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20resolve\x20node\x20with\x20a\x20non-renderer\x20target');try{const {frameId:P,...R}=await this['connection']['execute']('DOM.getNodeForLocation',{'x':Math['round'](l['x']),'y':Math['round'](l['y']),'ignorePointerEventsNone':ignorePointerEventsNone,'includeUserAgentShadowDOM':![]}),F=this['browser']['frameManager']['get'](P);if(!F)throw new Error('Frame\x20with\x20id\x20\x22'+P+'\x22\x20resolved\x20a\x20node\x20but\x20the\x20frame\x20wasn\x27t\x20found');return await F['resolve']({'nodeId':R['backendNodeId']});}catch(o){return error('nodeResolutionFailed',{'error':o}),null;}}async['port'](l){if(this['kind']==='renderer')throw new Error('Can\x27t\x20create\x20a\x20port\x20to\x20renderer\x20target,\x20use\x20target\x27s\x20main\x20frame\x20instead');return this.#evaluator['port'](l);}async['filepicker'](l){const P=[];try{this.#filepickerHandlers['size']===0x0&&(await this['wait']('initialized'),await this['hideFilepickers'](!![])),this.#filepickerHandlers['add'](l),this.#controller['signal']['throwIfAborted'](),P['push'](this['on']('frameTargetCreated',async({target:R})=>P['push'](await R['filepicker'](l)))),P['push'](...await Promise['all'](Array['from'](this['targets'](),R=>R['filepicker'](l))));}catch(R){if(R instanceof AbortError)log('filepickerSetupAborted',{'targetId':this['targetId'],'error':R});else throw R;}return()=>{this.#filepickerHandlers['delete'](l),P['forEach'](F=>F());if(this.#filepickerHandlers['size']===0x0)this['hideFilepickers'](![]);};}async['intercept'](l,P){const R=P??l,F=P?Array['isArray'](l)?l:[l]:[{'stage':['request']}],o={'matchers':F['map'](K=>makeInterceptionPatternMatcher(K)),'patterns':F['flatMap'](K=>toCDPPattern(K)),'handler':R},z=[];try{this.#requestInterceptors['add'](o),await this['wait']('attached'),this['connection']['send']('Fetch.enable',{'patterns':Array['from'](this.#requestInterceptors)['flatMap'](({patterns:K})=>K)}),this.#controller['signal']['throwIfAborted'](),await this['wait']('initialized'),z['push'](this['on']('frameTargetCreated',async({target:K})=>z['push'](await K['intercept'](F,R)))),z['push'](...await Promise['all'](Array['from'](this['targets'](),K=>K['intercept'](F,R))));}catch(K){if(K instanceof AbortError)log('interceptorSetupAborted',{'targetId':this['targetId'],'error':K});else throw K;}return()=>{this.#requestInterceptors['delete'](o),z['forEach'](X=>X());if(this.#requestInterceptors['size']===0x0)this['connection']['send']('Fetch.disable');else this['connection']['send']('Fetch.enable',{'patterns':Array['from'](this.#requestInterceptors)['flatMap'](({patterns:X})=>X)});};}async['navigateThroughHistory'](l){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20navigate\x20a\x20non-renderer\x20target');const {currentIndex:P,entries:R}=await this['connection']['execute']('Page.getNavigationHistory'),F=R[P+l];if(!F)throw new NoHistoryEntryError({'offset':l});this['mainFrame']['dispatch'](new FrameNavigatingEvent({'url':F['url'],'reason':'programmatic'})),this.#watchers['navigated']['reset']({'hint':'programmatic'}),await this['connection']['execute']('Page.navigateToHistoryEntry',{'entryId':F['id']});}async['navigate'](l,{timeout:P}={}){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20navigate\x20a\x20non-renderer\x20target');if(!this.#watchers['navigated']['settled'])await Promise['allSettled']([this.#watchers['navigated']]);this['mainFrame']['dispatch'](new FrameNavigatingEvent({'url':l,'reason':'programmatic'})),this.#watchers['navigated']['reset']({'hint':'programmatic'});if(P)this.#watchers['navigated']['reject'](new NavigationTimedOutError({'url':l,'timeout':P}),{'delay':P});const R=new AbortController();this.#watchers['navigated']['catch'](o=>R['abort'](o));const {errorText:F}=await this['connection']['execute']('Page.navigate',{'url':l},{'signal':R['signal']});if(F){if(F==='net::ERR_INVALID_AUTH_CREDENTIALS')this.#watchers['navigated']['resolve']();else{if(F==='net::ERR_ABORTED'&&[0xcc,0xcd]['includes'](this['mainFrame']['response']['status']))this.#watchers['navigated']['resolve']();else this.#watchers['navigated']['reject'](new NavigationFailedError({'url':l,'reason':F}));}}return await this.#watchers['navigated'],{'url':l,'status':this['mainFrame']['response']['status'],'headers':this['mainFrame']['response']['headers']};}async['reload']({hard:l}={}){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20navigate\x20a\x20non-renderer\x20target');if(l)await this.#browser['clearCookies']();this['mainFrame']['dispatch'](new FrameNavigatingEvent({'url':this['url'],'reason':'programmatic'})),this.#watchers['navigated']['reset']({'hint':'programmatic'}),await this['connection']['execute']('Page.reload',{'ignoreCache':l}),await this.#watchers['navigated'],await Promise['race']([this['wait']('dialogOpened'),this['mainFrame']['wait']('networkAlmostIdle')]);}async['cancelNavigation'](){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20navigate\x20a\x20non-renderer\x20target');await this['connection']['execute']('Page.stopLoading')['catch'](()=>null);}async['devtools'](l){const {targetId:P}=await this.#browser['connection']['execute']('Target.openDevTools',{'targetId':this['targetId']});await this.#browser['wait']('attachedTargets');const R=this.#browser['targetManager']['get'](P);if(l?.['panel']){await R['wait']('stable');const F=AbortSignal['timeout'](0x1388);let o;while(!F['aborted']){o=await R['mainFrame']['$']('.tabbed-pane>>>[aria-label=\x22'+l['panel']+'\x22\x20i]');if(o){await o['click']();break;}}}return R;}async['highlight'](l,P){if(l){const R={'x':Math['round'](l['x']),'y':Math['round'](l['y']),'width':Math['round'](l['width']),'height':Math['round'](l['height']),'color':P?.['color']??{'r':0x6f,'g':0xa8,'b':0xdc,'a':0.66},'outlineColor':P?.['outlineColor']};if(P?.['blink']){const F=0x5;for(let o=0x0;o<F;o++){await this['connection']['execute']('Overlay.highlightRect',R),await sleep(0xfa),await this['connection']['execute']('Overlay.hideHighlight'),await sleep(0x96);}}else await this['connection']['execute']('Overlay.highlightRect',R);}else await this['connection']['execute']('Overlay.hideHighlight');}async['bypassCSP'](l=!![]){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20bypass\x20csp\x20of\x20a\x20non-renderer\x20target');await this['connection']['execute']('Page.setBypassCSP',{'enabled':l});}async['getCookies'](){const {cookies:l}=await this['connection']['execute']('Network.getCookies');return l['reduce']((P,{name:R,value:F})=>P['set'](R,F),new Map());}async['setCookies'](l){await this['connection']['execute']('Network.setCookies',{'cookies':l});}async['inject'](l,{name:P,deep:R,isolated:F}={}){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20peform\x20an\x20injection\x20in\x20a\x20non-renderer\x20target');const o=makeInjection({'target':this,'expression':l,'name':P,'deep':R,'isolated':F});return await o['wait']('injected'),this.#injections['set'](o['name'],o),o;}async['changeMode'](l,P){if(this['kind']!=='renderer')throw new Error('Can\x27t\x20change\x20mode\x20of\x20a\x20non-renderer\x20target');await this['wait']('initialized');if(l==='element\x20selection'){const R=P?.['color']?{'contentColor':P['color'],'paddingColor':P['color'],'borderColor':P['color'],'shapeColor':P['color']}:{};await this['connection']['execute']('Overlay.setInspectMode',{'mode':'searchForNode','highlightConfig':R}),this['on']('frameTargetCreated',({target:F})=>{F['on']('elementSelected',({element:o})=>this['dispatch'](new TargetElementSelectedEvent(o)),{'key':'modeChanger'}),F['changeMode'](l,P);},{'key':'modeChanger'}),await Promise['all'](Array['from'](this['targets'](),F=>{return F['on']('elementSelected',({element:o})=>this['dispatch'](new TargetElementSelectedEvent(o)),{'key':'modeChanger'}),F['changeMode'](l,P);}));}else await this['connection']['execute']('Overlay.setInspectMode',{'mode':'none','highlightConfig':{}}),this['off']('modeChanger'),await Promise['all'](Array['from'](this['targets'](),F=>{return F['off']('modeChanger'),F['changeMode'](l);}));this.#mode=l;}async['hideFilepickers'](l=!![]){try{this.#filepickersHidden!==l&&(await this['connection']['execute']('Page.setInterceptFileChooserDialog',{'enabled':l}),this.#filepickersHidden=l);}catch(P){error('filepickerHideFailed',{'error':P});}}async['close'](){this['dispatch'](new TargetClosedEvent()),this['connection']['send']('Target.closeTarget',{'targetId':this['targetId']});}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){return'Target\x20'+R({'targetId':this['targetId'],'type':this['type'],'url':this['url'],'title':this['title']},P);}},TargetAttachedEvent=class extends Event{['sessionId'];constructor(l){super('attached'),this['sessionId']=l;}},TargetDetachedEvent=class extends Event{constructor(){super('detached');}},TargetActivatingEvent=class extends Event{constructor(){super('activating');}},TargetActivatedEvent=class extends Event{['reason'];constructor({reason:l}){super('activated'),this['reason']=l;}},TargetChangedEvent=class extends Event{['url'];['title'];constructor(l){super('changed'),this['url']=l['url'],this['title']=l['title'];}},TargetNavigatedEvent=class extends Event{['from'];['to'];['reason'];constructor({from:l,to:P,reason:R}){super('navigated'),this['from']=l,this['to']=P,this['reason']=R;}},TargetClosedEvent=class extends Event{constructor(){super('closed');}},TargetVisibilityChangeEvent=class extends Event{['visibility'];constructor(l){super('visibilityChanged'),this['visibility']=l;}},TargetMainFrameReadyEvent=class extends Event{['frame'];constructor(l){super('mainFrameReady'),this['frame']=l;}},TargetFrameAttachedEvent=class extends Event{['frame'];constructor(l){super('frameAttached'),this['frame']=l;}},TargetFrameTargetCreatedEvent=class extends Event{['target'];constructor(l){super('frameTargetCreated'),this['target']=l;}},TargetDialogEvent=class extends Event{['state'];['dialog'];['result'];['value'];constructor(l,P,R={}){super('dialog'+(l[0x0]['toUpperCase']()+l['substring'](0x1))),this['state']=l,this['dialog']=P,this['result']=R['result'],this['value']=R['value'];}},TargetFilepickerDialogEvent=class extends Event{['dialog'];constructor(l){super('filepickerDialogOpened'),this['dialog']=l;}},TargetChildTargetCreatingEvent=class extends Event{constructor(){super('childTargetCreating');}},TargetElementSelectedEvent=class extends Event{['element'];constructor(l){super('elementSelected'),this['element']=l;}};const browsers=new WeakMap();async function makeBrowser(l){if(l['driver']&&browsers['has'](l['driver']))return browsers['get'](l['driver']);if(l['socket']){const P=new Browser({'socket':l['socket'],'driver':l['driver']});if(l['driver'])browsers['set'](l['driver'],P);return P;}else{if(l['wsDebuggerUrl']){const R=new Agent()['compose'](o=>{return(z,K)=>{return z['headers']=z['headers']&&Object['fromEntries'](Object['entries'](z['headers'])['filter'](([X])=>X['toLowerCase']()!=='sec-websocket-extensions')),o(z,K);};}),F=new WebSocket(l['wsDebuggerUrl'],{'dispatcher':R});return await once(F,'open'),makeBrowser({'socket':F,'driver':l['driver']});}else{if(l['debuggerAddress']){const o='http://'+l['debuggerAddress']['replace']('localhost','127.0.0.1'),z=await fetch(o+'/json/version')['catch'](()=>null);if(z?.['status']!==0xc8)throw new Error('Failed\x20to\x20extract\x20websocket\x20debugger\x20url');return makeBrowser({'wsDebuggerUrl':(await z['json']())['webSocketDebuggerUrl']['replace']('localhost','127.0.0.1'),'driver':l['driver']});}else{if(l['driver']){const K=await l['driver']['getCapabilities'](),X=K['get']('se:cdp')?.['replace'](/172.\d+.0.2/,'localhost');if(X)return makeBrowser({'wsDebuggerUrl':X,'driver':l['driver']});return makeBrowser({'debuggerAddress':K['get']('goog:chromeOptions')?.['debuggerAddress']??K['get']('ms:edgeOptions')?.['debuggerAddress']??K['get']('moz:debuggerAddress')??'localhost:9245','driver':l['driver']});}else throw new Error('Cannot\x20create\x20browser\x20-\x20no\x20connection\x20options\x20provided');}}}}var Browser=class extends EventTargetNode{#targets=new Map();#pages=[];#extensions=[];#activePage;#headless;#product;#filepickersHidden=![];#closed=![];#history=makePagesHistory({'browser':this});#watchers={'initialized':makeWatcher(),'attachedTargets':makeWatcher(),'activePage':makeWatcher(),'history':makeWatcher()};async #initialize(){on(this['connection']['socket'],'close',({code:F,reason:o})=>{if(this.#closed)return;log('browserSocketClosed',{'code':F,'reason':o}),this['dispatch'](new BrowserDisconnectedEvent({'code':F,'reason':o}));});const {product:l,userAgent:P}=await this['connection']['execute']('Browser.getVersion');this.#product=l,this.#headless=P['includes']('HeadlessChrome');const R=this.#headless?await this['driver']?.['getWindowHandle']():void 0x0;this['connection']['on']('Target.targetCreated',async({targetInfo:F})=>{log('targetCreated',{'targetId':F['targetId'],'targetType':F['type'],'openerTargetId':F['openerId'],'openerFrameId':F['openerFrameId']});if(!(F['type']==='page'||F['type']==='iframe'&&this['frameManager']['has'](F['targetId'])||F['type']==='service_worker'&&F['url']['startsWith']('chrome-extension://')||F['url']['startsWith']('devtools://')))return;const o=makeTarget({'browser':this,'parent':F['openerId']?this.#targets['get'](F['openerId']):void 0x0,'targetId':F['targetId'],'type':F['type'],'url':F['url'],'title':F['title']});this.#targets['set'](o['targetId'],o),this.#watchers['attachedTargets']['reset'](),this['dispatch'](new BrowserTargetCreatedEvent(o));if(F['type']==='other'&&F['url']['startsWith']('devtools://'))await this['connection']['execute']('Target.attachToTarget',{'targetId':F['targetId'],'flatten':!![]});o['on']('attached',()=>{if(Array['from'](this.#targets['values']())['every'](z=>z['attached'])&&!this.#watchers['attachedTargets']['settled'])this.#watchers['attachedTargets']['resolve']();});if(o['type']==='page'&&!o['url']['startsWith']('devtools://'))this['dispatch'](new BrowserPageCreatedEvent(o)),this.#pages['push'](o),o['on']('attached',()=>{if(this.#activePage){log('activePageChanging',{'reason':this.#activePage===o['parent']?'childOfActive':'newPage'});if(this.#watchers['activePage']['settled'])this.#watchers['activePage']['reset']({'hint':'automatic'});if(this['headless'])o['dispatch'](new TargetActivatedEvent({'reason':'automatic'}));else this.#activePage=void 0x0;}else this.#headless&&o['targetId']===R&&(log('activePageChanging',{'reason':'webdriver'}),o['dispatch'](new TargetActivatedEvent({'reason':'programmatic'})));}),o['on']('activating',()=>{if(this['activePage']!==o&&this.#watchers['activePage']['settled'])this.#watchers['activePage']['reset']({'hint':'programmatic'});}),o['on']('activated',({reason:z})=>{this.#activePage=o,log('activePageChanged',{'targetId':o['targetId']}),this.#watchers['activePage']['resolve'](),this['dispatch'](new BrowserActivePageChangedEvent(o,{'reason':z}));}),o['on']('navigated',({from:z,to:K,reason:X})=>{log('pageNavigated',{'targetId':o['targetId']}),this['dispatch'](new BrowserPageNavigatedEvent(o,{'from':z,'to':K,'reason':X}));}),o['on']('closed',()=>{log('pageClosed',{'targetId':o['targetId']});const z=!o['download']&&(o['initialized']&&!this.#activePage||this.#activePage===o);this['dispatch'](new BrowserPageClosedEvent(o,{'wasActive':z})),this.#targets['delete'](o['targetId']),this.#pages['splice'](this.#pages['indexOf'](o),0x1);if(this.#activePage===o||!this['activePage']&&o['visible']===void 0x0){log('activePageClosed',{'targetId':o['targetId']}),this.#watchers['activePage']['reset']({'hint':'automatic'});if(this['headless']&&o['parent'])log('activePageChanging',{'reason':'parentOfClosed'}),o['parent']['dispatch'](new TargetActivatedEvent({'reason':'automatic'}));else{const K=this.#pages['findLast'](X=>X['visible']);K?(log('activePageChanging',{'reason':'otherVisible'}),K['dispatch'](new TargetActivatedEvent({'reason':'automatic'}))):(log('activePageVacated',{'reason':'noVisiblePage'}),this.#activePage=void 0x0);}}else{if(!this.#activePage)this.#watchers['activePage']['reset']({'hint':'automatic'});}}),o['on']('visibilityChanged',({visibility:z})=>{if(z==='visible'){if(!this.#activePage)log('activePageChanging',{'reason':'becameVisible'}),o['dispatch'](new TargetActivatedEvent({'reason':this.#watchers['activePage']['hint']}));else{if(this.#activePage!==o){if(o['popup'])log('activePageChanging',{'reason':'popupStole'}),o['dispatch'](new TargetActivatedEvent({'reason':'automatic'}));else{log('activePageContested',{});if(this.#watchers['activePage']['settled'])this.#watchers['activePage']['reset']({'hint':'manual'});}}}}else{if(this.#activePage===o&&z==='hidden'&&o['navigated']){log('activePageVacated',{'reason':'activePageHidden'});const K=this.#pages['findLast'](X=>X['visible']);if(K)log('activePageChanging',{'reason':'otherVisible'}),K['dispatch'](new TargetActivatedEvent({'reason':this.#watchers['activePage']['hint']}));else{if(this.#watchers['activePage']['settled'])this.#watchers['activePage']['reset']({'hint':'manual'});this.#activePage=void 0x0;}}}}),o['on']('childTargetCreating',()=>{this.#watchers['attachedTargets']['reset']();});else{if(o['type']==='iframe')this['frameManager']['get'](o['mainFrame']['parentFrameId'])?.['target']['dispatch'](new TargetFrameTargetCreatedEvent(o));else{if(o['type']==='service_worker')this.#extensions['push'](o);}}}),this['connection']['on']('Target.targetDestroyed',({targetId:F})=>{const o=this.#targets['get'](F);o&&(log('targetDestroyed',{'targetId':o['targetId'],'targetType':o['type']}),this.#targets['delete'](F),o['dispatch'](new TargetClosedEvent()));}),this['connection']['on']('Target.targetCrashed',({targetId:F,status:o,errorCode:z})=>{log('targetCrashed',{'targetId':F,'status':o,'errorCode':z});const K=this.#targets['get'](F)??null;this['dispatch'](new BrowserTargetCrashedEvent(K,{'targetId':F,'status':o,'errorCode':z}));}),this['connection']['on']('Target.targetInfoChanged',({targetInfo:F})=>{this.#targets['get'](F['targetId'])?.['dispatch'](new TargetChangedEvent(F));}),this['connection']['on']('Target.attachedToTarget',async({sessionId:F,targetInfo:o})=>{log('targetAttached',{'targetId':o['targetId'],'targetType':o['type'],'sessionId':F}),this.#targets['get'](o['targetId'])?.['dispatch'](new TargetAttachedEvent(F));}),this['connection']['on']('Target.detachedFromTarget',async({sessionId:F,targetId:o})=>{log('targetDetached',{'targetId':o,'sessionId':F}),this.#targets['get'](o)?.['dispatch'](new TargetDetachedEvent());}),await this['connection']['execute']('Target.setDiscoverTargets',{'discover':!![]}),await this['connection']['execute']('Target.setAutoAttach',{'autoAttach':!![],'flatten':!![],'filter':[{'type':'page'},{'type':'iframe'},{'type':'service_worker'}],'waitForDebuggerOnStart':!![]});}['type']='web';['targetManager']=this.#targets;['frameManager']=makeFrameManager();['windowManager']=makeWindowManager();['extensions']=this.#extensions;['driver'];['connection'];['frameStabilityTimeout']=0x9c40;get['headless'](){return this.#headless;}get['product'](){return this.#product;}get['blocked'](){return!!this.#activePage?.['dialog']&&this.#activePage['dialog']['type']!=='filepicker';}get['activePage'](){return this.#activePage;}get['filepickersHidden'](){return this.#filepickersHidden;}get['__previousPage'](){return this.#history['previousPage'];}get['__nextPage'](){return this.#history['nextPage'];}constructor({driver:l,socket:P}){super(),this['driver']=l,this['connection']=makeConnection({'socket':P}),this.#initialize()['then'](()=>this.#watchers['initialized']['resolve']())['catch'](R=>this.#watchers['initialized']['reject'](R));}*['targets'](){yield*this.#targets['values']();}*['pages'](){yield*this.#pages;}async['stabilize'](l,{signal:P,timeout:R}={}){if(l==='basic')await this['wait']('stable',{'signal':P}),await this['activePage']['wait']('initialized',{'signal':P}),!this['activePage']['navigated']&&(this['dispatch'](new BrowserStabilizingNavigationEvent({'done':![]})),await this['activePage']['wait']('navigated',{'signal':P}),this['dispatch'](new BrowserStabilizingNavigationEvent({'done':!![]}))),!this['activePage']['stable']&&(this['dispatch'](new BrowserStabilizingLoadEvent({'done':![]})),await this['activePage']['wait']('stable',{'signal':P}),this['dispatch'](new BrowserStabilizingLoadEvent({'done':!![]})));else{if(l==='strict')await this['stabilize']('basic',{'signal':P}),!this['activePage']['pendingRequests']&&(this['dispatch'](new BrowserStabilizingOutgoingRequestsEvent({'done':![]})),await this['activePage']['wait']('pendingRequests',{'signal':P}),this['dispatch'](new BrowserStabilizingOutgoingRequestsEvent({'done':!![]})));else{if(l==='paranoid')return until(Promise['resolve']()['then'](async()=>{await this['stabilize']('strict',{'signal':P});for(const F of this['activePage']['frames']())try{if(await F['isVisible']())await F['wait']('loaded',{'signal':P});}catch(o){if(P?.['aborted']&&P['reason']===o)throw o;}}),{'timeout':R??0xea60,'signal':P});}}}async['wait'](l,{signal:P}={}){if(l==='stable')await abortable(this.#watchers['initialized'],P),await abortable(this.#watchers['attachedTargets'],P),await abortable(this.#watchers['activePage'],P);else await abortable(this.#watchers[l],P);}async['page']({url:l,automationTimeout:P}){await this.#watchers['activePage'],this.#watchers['attachedTargets']['reset']();const {targetId:R}=await this['connection']['execute']('Target.createTarget',{'url':'about:blank'});await this.#watchers['attachedTargets'];const F=this.#targets['get'](R);if(P!=null)F['connection']['timeout']=P;return await Promise['all']([F['activate'](),l?F['wait']('stable')['then'](()=>F['navigate'](l)['then'](()=>F['wait']('stable'))):null]),F;}async['activatePreviousPage'](){return await this.#watchers['activePage'],this.#history['activatePreviousPage']();}async['activateNextPage'](){return await this.#watchers['activePage'],this.#history['activateNextPage']();}async['intercept'](l,P){const R=P??l,F=P?l:void 0x0,o=[];o['push'](this['on']('pageCreated',async({target:K})=>o['push'](await z(K)))),o['push'](...await Promise['all'](Array['from'](this['pages'](),z)));return()=>o['forEach'](K=>K());function z(K){return F!==void 0x0?K['intercept'](F,R):K['intercept'](R);}}async['filepicker'](l){const P=[];return this['on']('pageCreated',async({target:R})=>P['push'](await R['filepicker'](l))),P['push'](...await Promise['all'](Array['from'](this['pages'](),R=>R['filepicker'](l)))),()=>P['forEach'](R=>R());}async['getCookies'](){const {cookies:l}=await this['connection']['execute']('Storage.getCookies');return l;}async['setCookies'](l){await this['connection']['execute']('Storage.setCookies',{'cookies':l});}async['clearCookies'](){await this['connection']['execute']('Storage.clearCookies');}async['clearOriginStorage'](l){await this['connection']['execute']('Storage.clearDataForOrigin',{'origin':l,'storageTypes':'all'});}async['setWindowSize'](l){await this.#watchers['activePage'],await this['activePage']['wait']('windowResolved'),await this.#activePage['window']['setSize'](l);}async['setViewportSize'](l){await this.#watchers['activePage'],await this['activePage']['wait']('windowResolved');const P=this.#activePage['window'];if(this.#headless){await P['setSize'](l);const R=await this['activePage']['getViewportSize']();if(R['width']!==l['width']||R['height']!==l['height'])await P['setSize']({'width':l['width']+l['width']-R['width'],'height':l['height']+l['height']-R['height']});}else await P['setContentsSize'](l);}async['captureScreenshot'](){return await this['wait']('stable'),this['activePage']['captureScreenshot']();}async['hideFilepickers'](l=!![]){await Promise['all'](Array['from'](this['targets'](),P=>P['hideFilepickers'](l))),this.#filepickersHidden=l;}async['close'](){log('browserClosing',{}),this.#closed=!![],this.#targets['forEach'](l=>l['dispatch'](new TargetClosedEvent()));if(this['driver'])await this['driver']?.['quit']();else await this['connection']['execute']('Browser.close');}},BrowserTargetCreatedEvent=class extends Event{['target'];constructor(l,P){super('targetCreated',P),this['target']=l;}},BrowserPageCreatedEvent=class extends Event{['target'];constructor(l,P){super('pageCreated',P),this['target']=l;}},BrowserPageNavigatedEvent=class extends Event{['target'];['from'];['to'];['reason'];constructor(l,{from:P,to:R,reason:F},o){super('pageNavigated',o),this['target']=l,this['from']=P,this['to']=R,this['reason']=F;}},BrowserPageClosedEvent=class extends Event{['target'];['wasActive'];constructor(l,{wasActive:wasActive=![]}={},P){super('pageClosed',P),this['target']=l,this['wasActive']=wasActive;}},BrowserActivePageChangedEvent=class extends Event{['target'];['reason'];constructor(l,{reason:P},R){super('activePageChanged',R),this['target']=l,this['reason']=P;}},BrowserDisconnectedEvent=class extends Event{['code'];['reason'];constructor({code:l,reason:P},R){super('disconnected',R),this['code']=l,this['reason']=P;}},BrowserTargetCrashedEvent=class extends Event{['target'];['targetId'];['status'];['errorCode'];constructor(l,{targetId:P,status:R,errorCode:F},o){super('targetCrashed',o),this['target']=l,this['targetId']=P,this['status']=R,this['errorCode']=F;}},BrowserWindowCreatedEvent=class extends Event{['window'];constructor(l){super('windowCreated'),this['window']=l;}},BrowserStabilizingNavigationEvent=class extends Event{['done'];constructor({done:l}){super('stabilizingNavigation'),this['done']=l;}},BrowserStabilizingLoadEvent=class extends Event{['done'];constructor({done:l}){super('stabilizingLoad'),this['done']=l;}},BrowserStabilizingOutgoingRequestsEvent=class extends Event{['done'];constructor({done:l}){super('stabilizingOutgoingRequests'),this['done']=l;}},HarRecorder=class extends EventTargetNode{#target;#includeBodies;#unsubscribes=[];#disposed=![];#events=[];#bodies=new Map();#seenRequestIds=new Set();#cachedRequestIds=new Set();#stats={'requestCount':0x0,'bytesIn':0x0,'bytesOut':0x0};constructor({target:l,includeBodies:includeBodies=![]}){super(),this.#target=l,this.#includeBodies=includeBodies,this.#subscribe(),this.#seedActivePage();}get['stats'](){return this.#stats;}get['target'](){return this.#target;}get['includeBodies'](){return this.#includeBodies;}['setIncludeBodies'](l){this.#includeBodies=l;}['toHar'](){const l=this.#events['map'](({method:R,params:F})=>({'method':R,'params':F}));let P;try{P=harFromMessages(l,{'includeTextFromResponseBody':![]});}catch{P=emptyHar();}for(const R of P['log']['entries']){const F=R['_requestId'];if(!F)continue;const o=this.#bodies['get'](F);if(!o||!R['response']?.['content'])continue;R['response']['content']['text']=o['body'];if(o['base64Encoded'])R['response']['content']['encoding']='base64';}return{'har':P,'eventCount':l['length'],'requestCount':this.#stats['requestCount']};}['dispose'](){if(this.#disposed)return;this.#disposed=!![];for(const l of this.#unsubscribes)try{l();}catch{}this.#unsubscribes=[];}#subscribe(){const l=this.#target['connection'];if(!l)return;for(const P of CDP_NETWORK_METHODS)this.#unsubscribes['push'](l['on'](P,R=>{this.#capture(P,R);if(P==='Network.requestWillBeSent')this.#onRequestWillBeSent(R);else{if(P==='Network.requestServedFromCache')this.#onRequestServedFromCache(R);else{if(P==='Network.dataReceived')this.#onDataReceived(R);else{if(P==='Network.loadingFinished')this.#onLoadingFinished(R);}}}}));for(const R of CDP_PAGE_METHODS)this.#unsubscribes['push'](l['on'](R,F=>this.#capture(R,F)));}#seedActivePage(){if(this.#disposed)return;this.#capture('Page.frameStartedLoading',{'frameId':this.#target['targetId']});}#capture(l,P){if(this.#disposed)return;this.#events['push']({'method':l,'params':P,'timestamp':Date['now']()});}#onRequestWillBeSent(l){if(!/^https?:/i['test'](l['request']?.['url']??''))return;this.#seenRequestIds['add'](l['requestId']),this.#stats['requestCount']+=0x1;const P=l['request']?.['postData']?.['length']??0x0;if(P>0x0)this.#stats['bytesOut']+=P;this['dispatch'](new HarRecorderStatsChangedEvent(this.#stats));}#onRequestServedFromCache(l){if(!this.#seenRequestIds['has'](l['requestId']))return;if(this.#cachedRequestIds['has'](l['requestId']))return;this.#cachedRequestIds['add'](l['requestId']),this.#stats['requestCount']-=0x1,this['dispatch'](new HarRecorderStatsChangedEvent(this.#stats));}#onDataReceived(l){if(!this.#seenRequestIds['has'](l['requestId']))return;if(this.#cachedRequestIds['has'](l['requestId']))return;if(typeof l['encodedDataLength']==='number')this.#stats['bytesIn']+=l['encodedDataLength'];this['dispatch'](new HarRecorderStatsChangedEvent(this.#stats));}#onLoadingFinished(l){if(!this.#includeBodies)return;if(!this.#seenRequestIds['has'](l['requestId']))return;if(this.#cachedRequestIds['has'](l['requestId']))return;this.#fetchBody(l['requestId']);}async #fetchBody(l){if(this.#disposed)return;const P=this.#target['connection'];if(!P)return;try{const R=await P['execute']('Network.getResponseBody',{'requestId':l});if(this.#disposed)return;this.#bodies['set'](l,{'body':R['body'],'base64Encoded':R['base64Encoded']});}catch{}}};const CDP_NETWORK_METHODS=['Network.requestWillBeSent','Network.requestWillBeSentExtraInfo','Network.responseReceived','Network.responseReceivedExtraInfo','Network.dataReceived','Network.loadingFinished','Network.loadingFailed','Network.requestServedFromCache'],CDP_PAGE_METHODS=['Page.frameStartedLoading','Page.frameRequestedNavigation','Page.navigatedWithinDocument','Page.frameAttached','Page.loadEventFired','Page.domContentEventFired'];function emptyHar(){return{'log':{'version':'1.2','creator':{'name':'automator','version':''},'pages':[],'entries':[]}};}var HarRecorderStatsChangedEvent=class extends Event{['stats'];constructor(l){super('statsChanged'),this['stats']=l;}};const ErrorCode={'NOT_IMPLEMENTED':'NOT_IMPLEMENTED','HANDLER_ABORTED':'HANDLER_ABORTED','UNKNOWN_ACTION':'UNKNOWN_ACTION','UNRESOLVED_REF':'UNRESOLVED_REF','FAILED_ASSERTION':'FAILED_ASSERTION','MALFORMED_COOKIE':'MALFORMED_COOKIE','MALFORMED_HEADER':'MALFORMED_HEADER','EVALUATION_FAILED':'EVALUATION_FAILED','SWITCH_TO_CURRENT_TAB':'SWITCH_TO_CURRENT_TAB','CLOSE_LAST_TAB':'CLOSE_LAST_TAB','NO_TAB_HISTORY':'NO_TAB_HISTORY','NO_TAB':'NO_TAB','NO_NEXT_TAB':'NO_NEXT_TAB','NO_HISTORY_ENTRY':'NO_HISTORY_ENTRY','UNEXPECTED_REQUEST_STATUS':'UNEXPECTED_REQUEST_STATUS','UNEXPECTED_NAVIGATION_STATUS':'UNEXPECTED_NAVIGATION_STATUS','ELEMENT_NOT_INTERACTIVE':'ELEMENT_NOT_INTERACTIVE','ELEMENT_NOT_TEXTBOX':'ELEMENT_NOT_TEXTBOX','ELEMENT_NOT_CLEARABLE':'ELEMENT_NOT_CLEARABLE','UNHANDLED_DIALOG':'UNHANDLED_DIALOG','NO_ELEMENT':'NO_ELEMENT','ILLEGAL_ELEMENT_DESCRIPTOR':'ILLEGAL_ELEMENT_DESCRIPTOR','NO_OPTION':'NO_OPTION','NO_DIALOG':'NO_DIALOG','CONDITION_TIMED_OUT':'CONDITION_TIMED_OUT','NAVIGATION_FAILED':'NAVIGATION_FAILED','NAVIGATION_TIMED_OUT':'NAVIGATION_TIMED_OUT','FETCH_FAILED':'FETCH_FAILED','UNRESPONSIVE_TAB':'UNRESPONSIVE_TAB','INTERNAL':'INTERNAL','MESSAGE_PARSING':'MESSAGE_PARSING','INVALID_DATA':'INVALID_DATA','OBSCURED_ELEMENT':'OBSCURED_ELEMENT','FORBIDDEN_ACTION':'FORBIDDEN_ACTION','EXCEEDED_ALLOWED_TIMEOUT':'EXCEEDED_ALLOWED_TIMEOUT','NOT_PDF_VIEWER':'NOT_PDF_VIEWER','PDF_PAGE_OUT_OF_RANGE':'PDF_PAGE_OUT_OF_RANGE'};var RunnerError=class extends Error{['code'];['meta'];constructor(l,{code:code=ErrorCode['INTERNAL'],error:P,...R}={}){super(),this['name']=this['constructor']['name'],this['message']=l,this['code']=code,this['meta']=R,P instanceof Error&&(this['message']=l+':\x20'+P['message'],this['stack']=P['stack']);}};function translateAutomatorError(l){if(l instanceof NavigationFailedError)return{'code':ErrorCode['NAVIGATION_FAILED'],'meta':{'url':l['url'],'reason':l['reason']}};if(l instanceof NavigationTimedOutError)return{'code':ErrorCode['NAVIGATION_TIMED_OUT'],'meta':{'url':l['url'],'timeout':l['timeout']}};if(l instanceof NoHistoryEntryError)return{'code':ErrorCode['NO_HISTORY_ENTRY'],'meta':{'offset':l['offset']}};if(l instanceof UnresponsiveTargetError){const {method:P,commandId:R,sessionId:F}=l;return{'code':ErrorCode['UNRESPONSIVE_TAB'],'meta':{'method':P,'commandId':R,'sessionId':F}};}return{'code':ErrorCode['INTERNAL'],'meta':{'original':l}};}async function evaluateJSExpression(l,{context:P,stack:R,automator:F,signal:o}){if(!(F instanceof Browser))throw new Error('Can\x27t\x20evaluate\x20js\x20expression\x20with\x20a\x20non-web\x20automator');const z=await evaluateExpression(l,{'context':P,'stack':R,'automator':F,'signal':o});return await F['wait']('stable'),await F['activePage']['wait']('stable'),await F['activePage']['mainFrame']['defaultEvaluate'](z,{'await':!![]});}function isBase64String(l){return/^[A-Za-z0-9+/]*={0,2}$/['test'](l);}function isUrlString(l){return/(https?:\/\/(?:localhost|[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4})(?::\d{1,5})?\b[-a-zA-Z0-9@:%_\+.~#?&/=]*)/['test'](l);}function isXmlString(l){try{return XMLValidator['validate'](l,{'allowBooleanAttributes':!![]})===!![];}catch{return![];}}function parseXmlString(l){const P=XMLValidator['validate'](l,{'allowBooleanAttributes':!![]});if(P!==!![])throw new RunnerError('Failed\x20to\x20parse\x20malformed\x20XML,\x20with\x20an\x20error\x20\x22'+P['err']['msg']+'\x22');return new XMLParser()['parse'](l);}function stringifyXml(l){return new XMLBuilder()['build'](l);}function stringifyJson(l){return JSON['stringify'](l);}function isJsonString(l){try{return JSON['parse'](l),!![];}catch{return![];}}function parseJsonString(l){try{return JSON['parse'](l);}catch(P){throw new RunnerError('Failed\x20to\x20parse\x20malformed\x20JSON,\x20with\x20an\x20error\x20\x22'+P['message']+'\x22');}}function stringifyJSLiteral(l){if(typeof l==='bigint')return l+'n';else{if(l===Infinity)return'Infinity';else{if(l===-Infinity)return'-Infinity';else{if(Object['is'](l,-0x0))return'-0';else{if(Number['isNaN'](l))return'NaN';else return JSON['stringify'](l);}}}}}function isAlphaNumeric(l){return/^[\p{L}\p{N}]+$/u['test'](l);}function isNumeric(l){return/^\p{N}+$/u['test'](l);}function isCapitalized(l){return/^\p{Lu}/u['test'](l);}function isLowerCase(l){return!/\p{Lu}/u['test'](l);}function isUpperCase(l){return!/\p{Ll}/u['test'](l);}function isCamelCase(l){return/^\p{Ll}[\p{L}\p{N}]*$/u['test'](l);}function isPascalCase(l){return/^\p{Lu}[\p{L}\p{N}]*$/u['test'](l);}function isSnakeCase(l){return/^[\p{Ll}\p{N}_]+$/u['test'](l);}function isKebabCase(l){return/^[\p{Ll}\p{N}-]+$/u['test'](l);}function isReference(l){return!!(l?.['isRef']&&l['name']);}function isJSExpressionReference(l){return!!(l?.['isJSExpressionRef']&&l['expression']);}function isInterpolatedString(l){return!!(l?.['isInterpolatedString']&&l['chunks']);}function isJSExpression(l){return!!(l?.['isJSExpression']&&l['chunks']);}function isStructure(l){return!!(l?.['isStructure']&&l['type']);}function isPattern(l){return!!(l?.['isPattern']&&(l['pattern']||l['name']));}function isExtractor(l){return l?.['operator']==='extract'&&Array['isArray'](l['operands']);}function isOTP(l){return!!l?.['isOTP'];}function isRandomValue(l){return!!l?.['isRandomValue'];}function isFileHandle(l){return!!l?.['isFileHandle'];}function isCondition(l){return!!l?.['isCondition'];}function isOperation(l){return!!(l?.['operator']&&l['operands']);}function isExpressionOperation(l){return!!(l?.['operator']&&l['operands']);}function isElementDescriptor(l){if(l&&typeof l==='object')return Object['keys'](l)['every'](P=>['hints','type','title','color','anchor','nth','reference','selector','orderDirection','superlative','secret']['includes'](P));return![];}function isSelectorElementDescriptor(l){return!!(l&&typeof l==='object'&&typeof l['selector']==='object'&&l['selector']['type']&&l['selector']['selector']);}function isViewportDescriptor(l){return!!l?.['isViewportDescriptor'];}function isDialogDescriptor(l){return!!l?.['isDialogDescriptor'];}function isDialogElementDescriptor(l){return!!l?.['isDialogElementDescriptor'];}const DIALOG_ACCEPT_TITLES=new Set(['ok','accept','agree','allow','confirm','submit','yes']),DIALOG_DISMISS_TITLES=new Set(['cancel','decline','reject','dismiss','discard','close','no']);function toDialogButtonTitle(l){if(typeof l!=='string')return null;if(DIALOG_ACCEPT_TITLES['has'](l['toLowerCase']()))return'ok';if(DIALOG_DISMISS_TITLES['has'](l['toLowerCase']()))return'cancel';return null;}function toDialogElementDescriptor(l){if(l['type']&&l['type']!=='button')return null;if(!Object['keys'](l)['every'](R=>['type','title']['includes'](R)))return null;const P=toDialogButtonTitle(l['title']);return P?{'isDialogElementDescriptor':!![],'title':P}:null;}function isChromeElementDescriptor(l){return!!l?.['isChromeElementDescriptor'];}function toChromeElementDescriptor(l){if(!l['title']||typeof l['title']!=='string')return null;if(!Object['keys'](l)['every'](P=>['type','title']['includes'](P)))return null;if(/^(?:(?:reload|refresh)(?:\s+(?:(?:(?:(?:this|the)\s+)?page)|this))?)$/i['test'](l['title'])){if(l['type']&&l['type']!=='button')return null;return{'isChromeElementDescriptor':!![],'title':'refresh'};}else{if(/^(?:(?:(?:click\s+to\s+)?(?:go\s+)?(?:back|(?:to\s+)?(?:the\s+)?prev(?:ious)?(?:\s+page)?))|<-|<)$/i['test'](l['title'])){if(l['type']&&l['type']!=='button')return null;return{'isChromeElementDescriptor':!![],'title':'back'};}else{if(/^(?:(?:(?:click\s+to\s+)?(?:go\s+)?(?:fwd|forward|(?:to\s+)?(?:the\s+)?next(?:\s+page)?))|->|>)$/i['test'](l['title'])){if(l['type']&&l['type']!=='button')return null;return{'isChromeElementDescriptor':!![],'title':'forward'};}}}return null;}function stringify(l){if(l&&l[Symbol['for']('stringify')])return stringify(l[Symbol['for']('stringify')]());else{if(Array['isArray'](l))return l['map'](stringify)['join']('\x20');else{if(typeof l==='object')return stringifyJson(l);else return String(l);}}}function sizeOf(l){const P=0x5*0x400*0x400;if(typeof l==='string'){if(l['length']>P)throw new RunnerError('String\x20length\x20exceeds\x20the\x20safety\x20limit\x20of\x20'+P+'\x20characters',{'code':ErrorCode['INVALID_DATA']});const R=new Intl['Segmenter']('en',{'granularity':'grapheme'});let F=0x0;for(const o of R['segment'](l))F++;return F;}else{if(Array['isArray'](l))return l['length'];else{if(l instanceof Set||l instanceof Map)return l['size'];else{if(l&&typeof l==='object')return Object['keys'](l)['length'];else throw new RunnerError('Cannot\x20get\x20size\x20of\x20the\x20'+typeof l+'\x20value');}}}}function keysOf(l){if(l instanceof Map)return Array['from'](l['keys']());else{if(l&&typeof l==='object'&&!Array['isArray'](l))return Object['keys'](l);else throw new RunnerError('Cannot\x20get\x20keys\x20of\x20the\x20'+(Array['isArray'](l)?'array':typeof l)+'\x20value');}}function valuesOf(l){if(Array['isArray'](l)||l instanceof Set||l instanceof Map)return Array['from'](l['values']());else{if(l&&typeof l==='object')return Object['values'](l);else throw new RunnerError('Cannot\x20get\x20values\x20of\x20the\x20'+typeof l+'\x20value');}}function entriesOf(l){if(typeof l==='string')return l;else{if(Array['isArray'](l)||l instanceof Set)return Array['from'](l['values']());else{if(l instanceof Map)return Array['from'](l['keys']());else{if(l&&typeof l==='object')return Object['keys'](l);else throw new RunnerError('Cannot\x20get\x20entries\x20of\x20the\x20'+typeof l+'\x20value');}}}}function typeOf(l){if(isElementDescriptor(l)||isDialogDescriptor(l))return'string';else{if(isExtractor(l))return l['operands'][0x1]==='color'||l['operands'][0x1]==='background-color'||l['operands'][0x1]==='foreground-color'?'string':l['operands'][0x1];else{if(isReference(l))return l['type']??'any';else{if(isInterpolatedString(l))return'string';else{if(isStructure(l))return'any';else{if(isOperation(l)){if(['add','sub','mul','div','size']['includes'](l['operator']))return'number';else return'any';}else{if(l===null)return'null';else return typeof l;}}}}}}}function arrayOf(...l){return l['flatMap'](P=>{if(Array['isArray'](P))return P;if(P!==void 0x0)return[P];return[];});}function toLowerCase(l){if(typeof l==='string')return l['toLowerCase']();else{if(Array['isArray'](l))return l['map'](P=>toLowerCase(P));else return l;}}async function extractValue(l,{context:P,stack:R,automator:F,timeout:o,signal:z}){const K=R['extractor'](l),X=l['operands'][0x1],D=await evaluateExpression(l['operands'][0x0]['value'],{'context':P,'stack':R,'automator':F,'timeout':o,'signal':z}),a=await P['axOps']['findNode']({...D,'hints':{...D['hints'],'type':arrayOf(D['hints']?.['type'],X==='string'?['text','valuebox']:['valuebox','text'])}},{'stack':R,'timeout':o??0x0,'signal':z??new AbortController()['signal']});if(!a)return null;const G=K(await a['node']['getValue']({'hint':X})??null);if(X['includes']('color'))return objectToColor(G);return G;}async function evaluateOperand(l,{context:P,stack:R,automator:F,hint:o,signal:z}){const {done:K,value:X}=await evaluateOperandSequence(l,{'context':P,'stack':R,'automator':F,'hint':o,'signal':z})['next']();if(K)throw new RunnerError('Operand\x20not\x20evaluatable');return X;}async function*evaluateOperandSequence(l,{context:P,stack:R,automator:F,hint:o,signal:z}){const K=R['operand'](l);if(isElementDescriptor(l['value'])){const X=l['value'],D=await extractValue({'operator':'extract','operands':[{'isOperand':!![],'value':{...X,'hints':{...X['hints'],'type':arrayOf('valuebox',X['hints']?.['type'])}}},o??'string']},{'context':P,'stack':R,'automator':F,'signal':z});if(D===null)throw new RunnerError('Element\x20not\x20found',{'code':ErrorCode['NO_ELEMENT']});yield K(D);}else{if(isDialogDescriptor(l['value'])){const a=F instanceof Browser?(F?.['activePage']['dialog']&&F['activePage']['dialog']['type']!=='filepicker'&&F['activePage']['dialog']['message'])??null:null;if(a===null)throw new RunnerError('Native\x20dialog\x20not\x20found',{'code':ErrorCode['NO_DIALOG']});yield K(a);}else{const G=await evaluateExpression(l['value'],{'context':P,'stack':R,'automator':F,'signal':z});yield K(o==='string'&&typeof G?.[Symbol['for']('stringify')]==='function'?stringify(G):G,{'secret':R['isSecret'](l['value'])??![]});}}}const operations={'validate':validate,'eq':eq,'lt':lt,'gt':gt,'lte':lte,'gte':gte,'match':match,'includes\x20only':includesOnly,'includes':includes,'starts\x20with':startsWith,'ends\x20with':endsWith,'visible':visible,'clickable':clickable,'enabled':enabled,'hovered':hovered,'checked':checked,'populated':populated},transformers={'ignore\x20case':toLowerCase,'match\x20case':l=>l};function isSizeOperand(l){return isExpressionOperation(l['value'])&&l['value']['operator']==='size';}function validateLengthBoundary(l){const P=typeof l==='number'?l:Number(l);if(P<0x0)throw new RunnerError('Invalid\x20boundary:\x20length\x20comparison\x20values\x20must\x20be\x20non-negative',{'code':ErrorCode['INVALID_DATA']});if(!Number['isFinite'](P))throw new RunnerError('Invalid\x20boundary:\x20non-finite\x20values\x20are\x20not\x20allowed\x20for\x20length\x20comparisons',{'code':ErrorCode['INVALID_DATA']});}async function evaluateCondition(l,{context:P,stack:R,automator:F,signal:o}){const z=new Map();return D(l['operation']);async function*K(a,{hint:G}={}){const m=stringify(a);let N=z['get'](m);if(!N)N={'values':[],'iterator':evaluateOperandSequence(a,{'context':P,'stack':R,'automator':F,'hint':G,'signal':o})},z['set'](m,N);else yield*N['values'];for await(const E of N['iterator']){N['values']['push'](E),yield E;}}async function*X(...[a,...G]){if(!a)yield[];else{const m=[];for await(const N of a){for(const E of m)yield[N,...E];for await(const H of X(...G)){m['push'](H),yield[N,...H];}}}}async function D(a,G={}){const m=R['operation'](a),{operator:N,operands:E}=a;switch(N){case'parens':return m(await D(E[0x0],G));case'ignore\x20case':case'match\x20case':return m(await D(E[0x0],{...G,'mode':N}));case'not':return m(!await D(E[0x0],G));case'and':return m(await D(E[0x0],G)&&await D(E[0x1],G));case'or':return m(await D(E[0x0],G)||await D(E[0x1],G));case'validate':case'match':for await(const H of K(E[0x0])){if(G['mode']&&isPattern(E[0x1])){E[0x1]['flags']??='';if(G['mode']==='ignore\x20case'&&!E[0x1]['flags']['includes']('i'))E[0x1]['flags']+='i';else{if(G['mode']==='match\x20case')E[0x1]['flags']=E[0x1]['flags']['replace']('i','');}}const t=operations[N](stringify(H),await evaluateExpression(E[0x1],{'context':P,'stack':R,'automator':F,'signal':o}));if(t)return m(t);}return m(![]);case'eq':case'lt':case'gt':case'lte':case'gte':case'includes':case'starts\x20with':case'ends\x20with':{const k=typeOf(E[0x1]['value']),O=typeOf(E[0x0]['value']),i=transformers[G['mode']??'match\x20case'];for await(const [q,T]of X(K(E[0x0],{'hint':k}),K(E[0x1],{'hint':O}))){const B=R['nodeFor'](E[0x0],q),c=R['nodeFor'](E[0x1],T);if(B&&c&&await B['node']['equal'](c['node']))continue;['eq','lt','gt','lte','gte']['includes'](N)&&(isSizeOperand(E[0x0])||isSizeOperand(E[0x1]))&&(validateLengthBoundary(q),validateLengthBoundary(T));const n=operations[N](i(q),i(T));if(n)return m(n);}return m(![]);}case'includes\x20only':{const C=typeOf(E[0x0]),Z=transformers[G['mode']??'match\x20case'];for await(const [w,I]of X(K(E[0x0]),X(...E['slice'](0x1)['map'](W=>K(W,{'hint':C}))))){const W=operations[N](Z(w),Z(I));if(W)return m(W);}return m(![]);}case'visible':return m(await operations['visible'](E[0x0]['value'],{'context':P,'stack':R,'automator':F,'signal':o}));case'clickable':case'enabled':case'hovered':return m(await operations[N](E[0x0]['value'],{'context':P,'stack':R,'automator':F,'signal':o}));case'checked':return m(await operations['checked'](E[0x0]['value'],E[0x1],{'context':P,'stack':R,'automator':F,'signal':o}));case'populated':return m(await operations['populated'](E[0x0]['value'],{'context':P,'stack':R,'automator':F,'signal':o}));}}}function validate(l,P){if(P==='alphanumeric')return isAlphaNumeric(l);else{if(P==='numeric')return isNumeric(l);else{if(P==='capitalized')return isCapitalized(l);else{if(P==='lowercase')return isLowerCase(l);else{if(P==='uppercase')return isUpperCase(l);else{if(P==='camelcase')return isCamelCase(l);else{if(P==='pascalcase')return isPascalCase(l);else{if(P==='snakecase')return isSnakeCase(l);else{if(P==='kebabcase')return isKebabCase(l);else return![];}}}}}}}}}function compare(l,P){if(l instanceof Color||P instanceof Color){const X=l instanceof Color?l:stringToColor(l),D=P instanceof Color?P:stringToColor(P);if(!X||!D)return 0x1;return X['similarTo'](D)?0x0:0x1;}const R=stringify(l),F=stringify(P),o=/(?<prefix>.*?)(?<number>\d[\d,]*(?:[.]\d+)?)(?<suffix>.*)/,z=R['match'](o),K=F['match'](o);if(z&&K&&z['groups']['prefix']===K['groups']['prefix']&&z['groups']['suffix']===K['groups']['suffix'])return Number(z['groups']['number']['replaceAll'](',',''))-Number(K['groups']['number']['replaceAll'](',',''));return R===F?0x0:R>F?0x1:-0x1;}function eq(l,P){return stringify(l)===stringify(P)||compare(l,P)===0x0;}function lt(l,P){return compare(l,P)<0x0;}function lte(l,P){return compare(l,P)<=0x0;}function gt(l,P){return compare(l,P)>0x0;}function gte(l,P){return compare(l,P)>=0x0;}function match(l,P){return P['test'](stringify(l));}function startsWith(l,P){if(typeof l==='string')return l['startsWith'](stringify(P));else{if(Array['isArray'](l))return l['at'](0x0)===P;else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof l+'\x20value');}}function endsWith(l,P){if(typeof l==='string')return l['endsWith'](stringify(P));else{if(Array['isArray'](l))return l['at'](-0x1)===P;else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof l+'\x20value');}}function includes(l,P){if(typeof l==='string')return l['includes'](stringify(P));else{if(Array['isArray'](l))return l['includes'](P);else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof l+'\x20value');}}function includesOnly(l,P){if(typeof l==='string')return!l['replace'](new RegExp(P['map'](R=>stringify(R))['join']('|'),'g'),'')['trim']();else{if(Array['isArray'](l))return l['every'](R=>P['includes'](R));else throw new RunnerError('Cannot\x20verify\x20that\x20the\x20item\x20is\x20contained\x20within\x20'+typeof l+'\x20value');}}async function visible(l,{context:P,stack:R,automator:F,signal:o}){if(isElementDescriptor(l)){const z=await evaluateExpression(l,{'context':P,'stack':R,'automator':F,'signal':o}),K=await P['axOps']['findNode'](z,{'stack':R,'signal':o});if(!K)return![];const {ratio:X=0x1}=await K['node']['getObscurationInfo']();return X<=0.5;}else return F instanceof Browser&&!!F['activePage']?.['dialog'];}async function populated(l,{context:P,stack:R,automator:F,signal:o}){const z=await evaluateExpression({...l,'type':[l['type']??[],'inputbox']['flat']()},{'context':P,'stack':R,'automator':F,'signal':o}),K=await P['axOps']['findNode'](z,{'stack':R,'signal':o});if(!K)return![];return!!await K['node']['getValue']({'hint':'boolean','acceptFormValue':!![]});}async function clickable(l,{context:P,stack:R,automator:F,signal:o}){const z=await evaluateExpression(l,{'context':P,'stack':R,'automator':F,'signal':o}),K=await P['axOps']['findNode'](z,{'stack':R,'signal':o});if(!K)return![];return await K['node']['isEnabled']()??![];}async function enabled(l,{context:P,stack:R,automator:F,signal:o}){const z=await evaluateExpression(l,{'context':P,'stack':R,'automator':F,'signal':o}),K=await P['axOps']['findNode'](z,{'stack':R,'signal':o});if(!K)return![];return!K['state']['disabled']&&!K['state']['inert'];}async function hovered(l,{context:P,stack:R,automator:F,signal:o}){const z=await evaluateExpression(l,{'context':P,'stack':R,'automator':F,'signal':o}),K=await P['axOps']['findNode'](z,{'stack':R,'signal':o});if(!K)return![];return await K['node']['isHovered']()??![];}async function checked(l,P,{context:R,stack:F,automator:o,signal:z}){const K=await evaluateExpression({'type':'checkbox',...l},{'context':R,'stack':F,'automator':o,'signal':z}),X=await R['axOps']['findNode'](K,{'stack':F,'signal':z});if(!X)return![];return await X['node']['getValue']({'hint':'boolean'})===P;}async function evaluateExpression(l,{context:P,stack:R,automator:F,timeout:o,signal:z}){return K(l);async function K(X){if(isReference(X)){const D=X,a=D['scope']??'public';if(!(D['name']['toLowerCase']()in P['scope'][a]))throw new RunnerError('Unable\x20to\x20resolve\x20parameter\x20or\x20variable\x20with\x20the\x20name\x20\x22'+D['name']+'\x22',{'code':ErrorCode['UNRESOLVED_REF'],'ref':D});const G=R['reference'](D),m=P['scope'][a][D['name']['toLowerCase']()],N=await(D['modifiers']??[])['reduce'](async(E,H)=>{let t=await E;if('get'in H){const k=await K(H['get']);if(typeof t==='string'){if(isJsonString(t))t=parseJsonString(t);else{if(isXmlString(t))t=parseXmlString(t);}}if(Array['isArray'](t)){if(typeof k==='number'){const O=t['at'](k);if(O===void 0x0)throw new RunnerError('No\x20list\x20value\x20was\x20found\x20at\x20index\x20'+k,{'code':ErrorCode['UNRESOLVED_REF'],'ref':D});return O;}}else{if(t&&typeof t==='object'){const i=await t[Symbol['for']('get')]?.(k)??t[k];if(i===void 0x0)throw new RunnerError('No\x20value\x20is\x20mapped\x20to\x20the\x20key\x20\x22'+k+'\x22',{'code':ErrorCode['UNRESOLVED_REF'],'ref':D});return i;}}throw new RunnerError('Can’t\x20convert\x20the\x20value\x20'+stringifyJson(t)+'\x20to\x20a\x20dictionary\x20as\x20it\x20is\x20not\x20a\x20valid\x20json\x20object\x20or\x20an\x20XML\x20fragment',{'code':ErrorCode['UNRESOLVED_REF'],'ref':D});}else{if('match'in H){const q=stringify(t),T=await K(H['match']);let B=null;if(typeof T==='function'){const c=T(q);c&&(B=[c],B['index']=q['indexOf'](c),B['input']=q);}else B=q['match'](T);if(!B)throw new RunnerError('The\x20regex\x20'+(typeof T==='function'?'custom\x20matcher':'/'+T['source']+'/')+'\x20does\x20not\x20match\x20the\x20value\x20\x22'+q+'\x22',{'code':ErrorCode['UNRESOLVED_REF'],'ref':D});return B['groups']?{...B['groups']}:B['length']===0x1?B[0x0]:B['slice'](0x1);}else return t;}},Promise['resolve'](m['value']));return G(D['type']==='string'?stringify(N):N,{'secret':m['secret']});}else{if(isJSExpressionReference(X))return await evaluateJSExpression(X['expression'],{'context':P,'stack':R,'automator':F,'signal':z});else{if(isInterpolatedString(X))return(await Promise['all'](X['chunks']['map'](async E=>isReference(E)||isJSExpressionReference(E)?K(E):E)))['join']('');else{if(isJSExpression(X))return(await Promise['all'](X['chunks']['map'](async E=>isReference(E)||isJSExpressionReference(E)?stringifyJSLiteral(await K(E)):E)))['join']('');else{if(isPattern(X))return'name'in X?getPatternMatcher(X['name']):new RegExp(X['pattern'],X['flags']);else{if(isStructure(X)){if(X['type']==='array')return Promise['all'](X['items']['map'](async E=>K(E)));else return Object['fromEntries'](await Promise['all'](X['items']['map'](async({key:E,value:H})=>[await K(E),await K(H)])));}else{if(isElementDescriptor(X)){if(!Array['isArray'](X['anchor'])&&isDialogDescriptor(X['anchor']?.['element'])){if(isPattern(X['title']))throw new RunnerError('An\x20element\x20with\x20a\x20pattern\x20title\x20cannot\x20target\x20the\x20native\x20browser\x20dialog',{'code':ErrorCode['ILLEGAL_ELEMENT_DESCRIPTOR']});return{'isDialogElementDescriptor':!![],'title':toDialogButtonTitle(await K(X['title']))??'ok'};}async function E(O){if(isDialogDescriptor(O))throw new RunnerError('The\x20native\x20browser\x20dialog\x20can\x20only\x20be\x20used\x20as\x20the\x20single\x20direct\x20anchor\x20of\x20the\x20target\x20element',{'code':ErrorCode['ILLEGAL_ELEMENT_DESCRIPTOR']});return K(O);}const {reference:H,...t}=X;let k={};if(H){const O=await K(H),i=parseIndex(O);k=i!==null?{'nth':i}:{'title':stringify(O)};}else{if('nth'in X){const q=await K(X['nth']);k={'nth':typeof q==='number'?q:parseIndex(q)??Number(q)};}}return R['descriptor'](X)({...t,...k,...'title'in X&&!isPattern(X['title'])?{'title':await K(X['title'])}:{},...'color'in X?{'color':await K(X['color'])}:{},...'selector'in X&&X['selector']?.['selector']?{'selector':{...X['selector'],'selector':await K(X['selector']['selector'])}}:{},...'anchor'in X&&X['anchor']?{'anchor':Array['isArray'](X['anchor'])?await Promise['all'](X['anchor']['map'](async T=>({...T,'element':T['element']&&await E(T['element'])}))):{...X['anchor'],'element':X['anchor']['element']&&await E(X['anchor']['element'])}}:{},...'fallback'in X?{'fallback':await K(X['fallback'])}:{}});}else{if(isExtractor(X)){const T=await extractValue(X,{'context':P,'stack':R,'automator':F,'timeout':o,'signal':z});if(T===null)throw new RunnerError('Element\x20not\x20found',{'code':ErrorCode['NO_ELEMENT']});return T;}else{if(isExpressionOperation(X)){const B=R['operation'](X),c=await X['operands']['reduce'](async(n,C)=>{const Z=await n;return Z['push'](await evaluateOperand(C,{'context':P,'stack':R,'automator':F,'signal':z})),Z;},Promise['resolve']([]));if(X['operator']==='size')return B(sizeOf(c[0x0]));else{if(X['operator']==='keys')return B(keysOf(c[0x0]));else{if(X['operator']==='values')return B(valuesOf(c[0x0]));else{if(X['operator']==='entries')return B(entriesOf(c[0x0]));else{if(X['operator']==='add')return B(c[0x0]+c[0x1]);else{if(X['operator']==='sub')return B(c[0x0]-c[0x1]);else{if(X['operator']==='div')return B(c[0x0]/c[0x1]);else{if(X['operator']==='mul')return B(c[0x0]*c[0x1]);else throw new RunnerError('Unknown\x20operator');}}}}}}}}else{if(isCondition(X))return evaluateCondition(X,{'context':P,'stack':R,'automator':F,'signal':z});else{if(isOTP(X)){if(!P['actions']['generateOTP'])throw new RunnerError('generateOTP\x20callback\x20not\x20provided',{'code':ErrorCode['INTERNAL']});const n=R['generator'](X),C=await K(X['user']);return n(await P['actions']['generateOTP'](C));}else{if(isFileHandle(X)){const Z=await K(X['filename']);try{return await P['actions']['resolveFilename']?.(Z)??Z;}catch{return Z;}}else{if(isRandomValue(X)){const w=R['generator'](X);if(X['type']==='number')return w(Math['random']());else{if(!P['actions']['generateRandomValue'])throw new RunnerError('generateRandomValue\x20callback\x20not\x20provided',{'code':ErrorCode['INTERNAL']});return w(await P['actions']['generateRandomValue']({...X,'description':X['description']?await K(X['description']):void 0x0}));}}else return X;}}}}}}}}}}}}}}var InstructionExecutionStartedEvent=class extends ProgressEvent{['status'];['done']=![];constructor({preStep:l}={}){super(),this['status']=l?'runningPreStepInstruction':'runningInstruction';}},InstructionExecutionFinishedEvent=class extends ProgressEvent{['status'];['done']=!![];constructor({preStep:l}={}){super(),this['status']=l?'runningPreStepInstruction':'runningInstruction';}},ActionExecutionStartedEvent=class extends ProgressEvent{['status']='runningAction';['done']=![];},ActionExecutionFinishedEvent=class extends ProgressEvent{['status']='runningAction';['done']=!![];},AXNodeSearchStartedEvent=class extends ProgressEvent{['status']='searchingForElement';['done']=![];['descriptor'];constructor({descriptor:l}){super(),this['descriptor']=l;}},AXNodeSearchFinishedEvent=class extends ProgressEvent{['status']='searchingForElement';['done']=!![];['descriptor'];['node'];constructor({descriptor:l,node:P}){super(),this['descriptor']=l,this['node']=P;}},NavigationWaitStartedEvent=class extends ProgressEvent{['status']='waitingForNavigation';['done']=![];},NavigationWaitFinishedEvent=class extends ProgressEvent{['status']='waitingForNavigation';['done']=!![];},LoadWaitStartedEvent=class extends ProgressEvent{['status']='waitingForResourcesLoad';['done']=![];},LoadWaitFinishedEvent=class extends ProgressEvent{['status']='waitingForResourcesLoad';['done']=!![];},OutgoingRequestsWaitStartedEvent=class extends ProgressEvent{['status']='waitingForOutgoingRequests';['done']=![];},OutgoingRequestsWaitFinishedEvent=class extends ProgressEvent{['status']='waitingForOutgoingRequests';['done']=!![];},StabilizationWaitStartedEvent=class extends ProgressEvent{['status']='waitingForStabilization';['done']=![];},StabilizationWaitFinishedEvent=class extends ProgressEvent{['status']='waitingForStabilization';['done']=!![];};function makeValuesStack(){return new ValuesStack();}var ValuesStack=class{#id=0x1;#pending=new Set();#items=new Map();#entities=new Map();#relations=new Map();#item(l,P,R,F){const o=this.#id++;if(R)return this.#add(o,{'type':l,'entity':P,'value':R,...F});else return this.#pending['add'](o),this.#relations['set'](o,[]),(z,K)=>{return this.#pending['delete'](o),this.#add(o,{'type':l,'entity':P,'value':z,...K});};}#add(l,P){this.#items['set'](l,P),this.#pending['forEach'](F=>this.#relations['get'](F)['push'](l));let R=this.#entities['get'](P['entity']);if(!R)this.#entities['set'](P['entity'],R=[]);return R['push'](l),P['value'];}*#related(l,P){for(const R of[l,...this.#relations['get'](l)??[]]){const F=this.#items['get'](R);if(F&&(!P||P===F['type']))yield F;}}['descriptor'](l,P){return P?this.#item('descriptor',l,P):this.#item('descriptor',l);}['node'](l,P){return P?this.#item('node',l,P):this.#item('node',l);}['reference'](l,P,R){return P?this.#item('reference',l,P,R):this.#item('reference',l);}['extractor'](l,P,R){return P?this.#item('extractor',l,P,R):this.#item('extractor',l);}['generator'](l,P,R){return P?this.#item('generator',l,P,R):this.#item('generator',l);}['operand'](l,P,R){return P?this.#item('operand',l,P,R):this.#item('operand',l);}['operation'](l,P){return P?this.#item('operation',l,P):this.#item('operation',l);}['nodeFor'](l,P){const R=this.#entities['get'](l)?.['find'](F=>this.#items['get'](F)?.['value']===P);if(R)return Array['from'](this.#related(R,'node'))[0x0]?.['value'];}['isSecret'](l){if(isReference(l)){const [P]=this.#entities['get'](l)??[];if(P)return Array['from'](this.#related(P,'reference'))[0x0]?.['secret'];}else{if(isInterpolatedString(l))return l['chunks']['some'](R=>this['isSecret'](R));else{if(isStructure(l)){if(l['type']==='array')return l['items']['some'](R=>this['isSecret'](R));else return l['items']['some'](R=>this['isSecret'](R['key'])||this['isSecret'](R['value']));}}}}*['descriptors'](l){if(l){const P=this.#entities['get'](l)??[];for(const R of P)for(const {value:F}of this.#related(R,'descriptor'))yield F;}else{for(const {type:o,value:z}of this.#items['values']())if(o==='descriptor')yield z;}}*['nodes'](l){if(l){const P=this.#entities['get'](l)??[];for(const R of P)for(const {entity:F,value:o}of this.#related(R,'node'))yield{'node':o,'descriptor':F};}else{for(const {type:z,entity:K,value:X}of this.#items['values']())if(z==='node')yield{'node':X,'descriptor':K};}}*['references'](){for(const {type:l,entity:P,value:R,...F}of this.#items['values']())if(l==='reference')yield{'reference':P,'value':R,...F};}*['extractors'](){for(const [l,{type:P,entity:R,value:F,...o}]of this.#items['entries']())if(P==='extractor')yield{'extractor':R,'value':F,'element':Array['from'](this.#related(l,'node'))[0x0]?.['entity'],...o};}*['operands'](){for(const [l,{type:P,entity:R,value:F,...o}]of this.#items['entries']())if(P==='operand')yield{'operand':R,'value':F,'element':Array['from'](this.#related(l,'node'))[0x0]?.['entity'],...o};}};async function tryMakeElementNotObscured(l,{timeout:P,signal:R}){const F=await getVisibleElementFromNode(l);if(!F)return;let o=!![];const z=setTimeout(()=>o=![],P);do{await F['tryToUnobscure']();const {isObscured:K,obscuringElement:X}=await F['isObscured']();if(!K){clearTimeout(z);return;}if(X&&await X['isLabelOf'](l['node'])){clearTimeout(z);return;}await sleep(0x3e8,{'signal':R});}while(o);throw new RunnerError('Element\x20is\x20obscured',{'code':ErrorCode['OBSCURED_ELEMENT']});}async function getVisibleElementFromNode(l){let P;for(const R of l['incorporated'])if(await R['isVisible']()&&await R['execute'](F=>F instanceof Element)){P=R;break;}if(!P){if(!l['parent'])return;return getVisibleElementFromNode(l['parent']);}return P;}async function revealElements(l){const P=[];for(const {node:R}of l){const F=(await Promise['all'](P['map'](async o=>o['node']['equal'](R['node'])['catch'](()=>![]))))['indexOf'](!![]);if(F>=0x0)P['splice'](F,0x1);P['push'](R);}for(const o of P)try{await(await getVisibleElementFromNode(o))?.['scrollIntoView']();}catch(z){error('elementRevealFailed',{'error':z});}}const PDF_STATE={'ready':'data-nlp-pdf-ready','error':'data-nlp-pdf-error','currentPage':'data-nlp-pdf-current-page','isolate':'data-nlp-pdf-isolate','isolatedPage':'data-nlp-pdf-isolated-page'},PDF_BYTES_PLACEHOLDER='__NLP_PDF_BYTES__';function isPdfViewerFrame(l){return Object['entries'](l['response']?.['headers']??{})['some'](([P])=>P['toLowerCase']()==='x-nlp-pdf-viewer');}async function waitForReady(l,P=0x4e20){return l['defaultExecute'](async(R,F,o)=>{const z=document['documentElement'];function K(){return z['getAttribute'](R)==='true'||z['getAttribute'](F)!=null;}if(K())return;await new Promise(X=>{function D(){a['disconnect'](),clearTimeout(G),X();}const a=new MutationObserver(()=>K()&&D());a['observe'](z,{'attributes':!![],'attributeFilter':[R,F]});const G=setTimeout(D,o);});},[PDF_STATE['ready'],PDF_STATE['error'],P],{'await':!![]});}var Handler=class extends EventTargetNode{#captures={};#controller=new AbortController();#stack=makeValuesStack();#metrics;['automator'];['context'];['instruction'];['signal'];['shouldCapture'];['shouldNotThrowOnUnexpectedNavigationStatus'];['expectedNavigationStatuses'];get['action'](){return this['instruction'];}get['stack'](){return this.#stack;}get['metrics'](){return this.#metrics;}get['findTimeout'](){return this['context']['scope']['internal']['findTimeout']?.['value']??this['context']['scope']['internal']['timeout']?.['value'];}get['frameStabilityTimeout'](){return this['context']['scope']['internal']['frameStabilityTimeout']?.['value']??this['context']['scope']['internal']['timeout']?.['value'];}get['navigateTimeout'](){return this['context']['scope']['internal']['navigateTimeout']?.['value']??this['context']['scope']['internal']['timeout']?.['value'];}get['screenshotTimeout'](){return this['context']['scope']['internal']['screenshotTimeout']?.['value']??this['context']['scope']['internal']['timeout']?.['value'];}constructor({automator:l,context:P,instruction:R,signal:F,shouldCapture:o,shouldNotThrowOnUnexpectedNavigationStatus:z,expectedNavigationStatuses:K}){super(),this.#metrics={'platform':l['type']},this['automator']=l,this['context']=P,this['instruction']=R,this['signal']=F?AbortSignal['any']([this.#controller['signal'],F]):this.#controller['signal'],this['shouldCapture']=o??![],this['shouldNotThrowOnUnexpectedNavigationStatus']=z??![],this['expectedNavigationStatuses']=K??[];}['abort'](l){this.#controller['abort'](l??new RunnerError('The\x20instruction\x20was\x20aborted\x20before\x20it\x20got\x20to\x20finish',{'core':ErrorCode['HANDLER_ABORTED']}));}['throwIfAborted'](){this['signal']['throwIfAborted']();}['throwIfNoElement'](l){if(!l)throw new RunnerError('Element\x20not\x20found',{'code':ErrorCode['NO_ELEMENT']});}['throwIfBlocked'](){if(this['automator']instanceof Browser&&this['automator']['activePage']['dialog']&&this['automator']['activePage']['dialog']['type']!=='filepicker')throw new RunnerError('Cannot\x20proceed\x20until\x20native\x20blocking\x20dialog\x20is\x20handled',{'code':ErrorCode['UNHANDLED_DIALOG']});}['throwIfExceededAllowedTimeout'](l){const P=this['context']['scope']['internal']['maxWaitTimeout']?.['value']??0x1d4c0;if(l>P)throw new RunnerError('Timeout\x20of\x20'+l+'ms\x20exceeds\x20maximum\x20allowed\x20timeout\x20of\x20'+P+'ms',{'code':ErrorCode['EXCEEDED_ALLOWED_TIMEOUT'],'timeout':l});}async['throwIfCannotTypeToElement'](l){if(!l||!await l['canTypeInto']())throw new RunnerError('Element\x20is\x20not\x20a\x20textbox',{'code':ErrorCode['ELEMENT_NOT_TEXTBOX']});}async['run'](){let l;try{if(this['automator']instanceof Browser&&this['frameStabilityTimeout'])this['automator']['frameStabilityTimeout']=this['frameStabilityTimeout'];const o=performance['now']();await this['stabilize']('basic'),this.#metrics['stabilizeMs']=performance['now']()-o;const z=performance['now']();l=await this['handle'](),this.#metrics['handleMs']=performance['now']()-z;}catch(K){if(K instanceof StaleNodeError||K instanceof StaleRemoteObjectHandleError)return log('handlerRetriedOnStaleNode',{'error':K}),this.#metrics={'platform':this['automator']['type']},this['run']();else{if(K instanceof FlushError)log('handlerFlushed',{'error':K}),l={'status':'flushed','meta':{'reason':K['message']}};else{if(K instanceof AutomatorError){error('handlerAutomatorError',{'error':K});const {code:X,meta:D}=translateAutomatorError(K);l={'status':'error','error':K['message'],'code':X,'meta':D};}else{if(K instanceof RunnerError)error('handlerRunnerError',{'error':K}),l={'status':'error','error':K['message'],'code':K['code'],'meta':K['meta']};else this['signal']['aborted']&&(K['code']==='ABORT_ERR'||K===this['signal']['reason'])?(error('handlerAborted',{'error':K}),l={'status':'aborted','meta':{'reason':K['cause']?.['message']??K['message']}}):(error('handlerInternalError',{'error':K}),l={'status':'error','error':K['message']??'unknown\x20error','code':ErrorCode['INTERNAL'],'meta':{'original':K}});}}}if(!Object['hasOwn'](this.#captures,'after')&&l['status']!=='aborted')await this['after']();}const P=new Map(Array['from'](this.#stack['references'](),({reference:a,value:G,...m})=>[a,{'value':G,...m}])),R=new Map(Array['from'](this.#stack['extractors'](),({extractor:a,value:G,element:m,...N})=>[a,{'value':G,'element':m,...N}])),F=new Map(Array['from'](this.#stack['operands'](),({operand:a,value:G,element:m,...N})=>[a,{'value':G,'element':m,...N}]));return{...l,...this.#captures,'values':{'references':P,'extractors':R,'operands':F},'metrics':this.#metrics};}async['stabilize'](l='strict'){await this['automator']['stabilize'](l,{'signal':this['signal'],'timeout':this['screenshotTimeout']});if(this['automator']instanceof Browser){if(isPdfViewerFrame(this['automator']['activePage']['mainFrame']))await waitForReady(this['automator']['activePage']['mainFrame']);}}async['evaluate'](l){return evaluateExpression(l,{'context':this['context'],'stack':this.#stack,'automator':this['automator'],'timeout':this['findTimeout']??0x2710,'signal':this['signal']});}async['element'](l){const P=await this['context']['axOps']['findNode'](await this['evaluate'](l),{'stack':this.#stack,'timeout':this['findTimeout']??0x2710,'signal':this['signal'],'metrics':this.#metrics});if(P)this['dispatch'](new HandlerAXNodeFoundEvent(P));return P;}async['capture'](){if(!this['shouldCapture'])return;try{await this['automator']['stabilize']('basic',{'signal':this['signal']});if(this['automator']['blocked'])return;const l=await this['automator']['captureScreenshot'](),P=((async()=>{try{return await this['automator']['activePage']?.['mainFrame']['execute'](()=>({'width':innerWidth,'height':innerHeight,'scrollX':scrollX,'scrollY':scrollY}));}catch{return;}})());return{'image':l,'elements':await Array['from'](this.#stack['nodes']())['reduce'](async(R,{node:F,descriptor:o})=>{try{if(F===F['tree']['root'])return await R;const z=await F['node']['getScreenBox'](),K=await F['node']['getDescription']();return await R['then'](X=>X['concat']({'region':z,'descriptor':o,'label':K}));}catch(X){return error('elementMarkerExtractionFailed',{'error':X}),R;}},Promise['resolve']([])),'viewport':await P};}catch(R){error('captureFailed',{'error':R});}}async['reveal'](){if(!this['shouldCapture']||!(this['automator']instanceof Browser))return;await revealElements(Array['from'](this.#stack['nodes']())['filter'](({node:l})=>l!==l['tree']['root']));}async['before'](){bus['dispatch'](new ActionExecutionStartedEvent()),this.#captures['before']=await this['capture']();}async['after'](){this.#captures['after']=await this['capture'](),bus['dispatch'](new ActionExecutionFinishedEvent());}},HandlerAXNodeFoundEvent=class extends Event{['node'];constructor(l,P){super('nodeFound',P),this['node']=l;}},AssertHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();const l=await this['evaluate'](this['action']['timeout'])??this['findTimeout']??0x7530,P=Date['now']();let R=0x0,F=!![];const o=setTimeout(()=>F=![],l);do{this['throwIfAborted'](),++R;try{if(await this['evaluate'](this['action']['condition']))return clearTimeout(o),log('assertionEvaluated',{'passed':!![],'attempts':R,'durationMs':Date['now']()-P,'condition':this['action']['condition']}),await this['reveal'](),await this['after'](),{'status':'asserted'};else{if(Array['from'](this['stack']['descriptors'](this['action']['condition']['operation']))['length']===0x0){clearTimeout(o);break;}}}catch(z){if(!F||this['signal']['aborted'])throw z;}await sleep(0x3e8,{'signal':this['signal']});}while(F);log('assertionEvaluated',{'passed':![],'attempts':R,'durationMs':Date['now']()-P,'condition':this['action']['condition']}),await this['reveal'](),await this['after']();throw new RunnerError('Assertion\x20failed',{'code':ErrorCode['FAILED_ASSERTION']});}},EmptyHandler=class extends Handler{async['handle'](){return await this['stabilize'](),await this['before'](),await this['after'](),{'status':'empty'};}};function makeUrlData(l){const P=new URL(l);return{'href':l,'protocol':P['protocol']['replace'](/:$/,''),'user':P['username'],'password':P['password'],'host':P['host'],'hostname':P['hostname'],'port':P['port'],'path':P['pathname'],'query':P['search'],'anchor':P['hash'],[Symbol['for']('stringify')](){return l;}};}var FetchHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();const l={'headers':new Set(),'cookies':new Set(),'body':![]},P=await this['evaluate'](this['action']['url']);let R=this['action']['method']?.['toUpperCase']();if(!R&&this['action']['body'])R='POST';const F=new Request(P,{'method':R});if(this['action']['headers'])for(const G of this['action']['headers']){const m=await this['evaluate'](G['name']);if(!/^[a-zA-Z0-9_-]+$/['test'](m))throw new RunnerError('The\x20header\x20name\x20\x22'+m+'\x22\x20is\x20malformed,\x20it\x20contains\x20illegal\x20characters',{'code':ErrorCode['MALFORMED_HEADER'],'header':G});const N=await this['evaluate'](G['value']);if(!/^[a-zA-Z0-9 :;.,\\/"'?!(){}[\]@<>=+*#$&`|~^%_-]+$/['test'](N))throw new RunnerError('The\x20header\x20value\x20\x22'+N+'\x22\x20is\x20malformed,\x20it\x20contains\x20illegal\x20characters',{'code':ErrorCode['MALFORMED_HEADER'],'header':G});const E=G['secret']||this['stack']['isSecret'](G['value']);F['headers']['append'](m,N);if(E)l['headers']['add'](m['toLowerCase']());}let o;if(this['action']['body']){const H=await this['evaluate'](this['action']['body']['data']);l['body']=this['stack']['isSecret'](this['action']['body']['data'])??![];let t=this['action']['body']['type'];if(!t){if(typeof H==='string'){if(isJsonString(H))t='json';else{if(isXmlString(H))t='xml';}}else t='json';}if(t==='base64'){if(typeof H!=='string'||!isBase64String(H))throw new RunnerError('Body\x20is\x20not\x20of\x20base64\x20format');o=new Uint8Array(d['from'](H,'base64'));}else{if(t==='xml'){if(typeof H!=='string'){if(H&&typeof H==='object'&&!Array['isArray'](H))o=stringifyXml(H);else throw new RunnerError('Body\x20could\x20not\x20be\x20converted\x20to\x20XML\x20format');}else o=H;if(!F['headers']['has']('Content-Type'))F['headers']['set']('Content-Type','application/xml;charset=UTF-8');}else{o=typeof H!=='string'?stringifyJson(H):H;if(t==='json'&&!F['headers']['has']('Content-Type'))F['headers']['set']('Content-Type','application/json;charset=UTF-8');}}}if(this['action']['auth']){if(this['action']['auth']['type']==='basic'){const k=await this['evaluate'](this['action']['auth']['username']),O=await this['evaluate'](this['action']['auth']['password']),i='Authorization';F['headers']['set'](i,'Basic\x20'+d['from'](k+':'+O)['toString']('base64')),l['headers']['add'](i['toLowerCase']());}}if(this['action']['cookies']){const q=[];for(const B of this['action']['cookies']){const c=await this['evaluate'](B['name']);if(/=/['test'](c))throw new RunnerError('The\x20cookie\x20name\x20\x22'+c+'\x22\x20is\x20malformed,\x20it\x20contains\x20illegal\x20characters',{'code':ErrorCode['MALFORMED_COOKIE'],'cookie':B});const n=await this['evaluate'](B['value']),C=B['secret']||this['stack']['isSecret'](B['value']);q['push'](c+'='+n);if(C)l['cookies']['add'](c);}const T='Cookie';F['headers']['set'](T,q['join'](';\x20'));if(l['cookies']['size']>0x0)l['headers']['add'](T['toLowerCase']());}const z={'url':makeUrlData(F['url']),'headers':K(F['headers']),'cookies':X(F['headers']),...o&&{'body':{'value':o,'secret':l['body']}}};try{const Z=await U(F,{'body':o,'dispatcher':this['context']['dispatcher']}),w={'status':Z['status'],'statustext':Z['statusText'],'body':await a(Z),'headers':K(Z['headers']),'cookies':D(Z['headers']),[Symbol['for']('get')](I){if(I==='body')return this['body']['value'];else return this[I];},[Symbol['for']('stringify')](){return this['body']['value'];}};this['context']['scope']['public']['response']={'value':w};if(this['action']['statuses']?this['action']['statuses']!=='*'&&!this['action']['statuses']['includes'](w['status']):w['status']<0xc8||w['status']>0x12b)throw new RunnerError('The\x20request\x20to\x20url\x20\x22'+P+'\x22\x20resulted\x20with\x20an\x20unexpected\x20status\x20code\x20'+w['status'],{'code':ErrorCode['UNEXPECTED_REQUEST_STATUS'],'status':w['status'],'response':w,'request':z});return await this['after'](),{'status':'fetched','meta':{'response':w,'request':z}};}catch(I){if(I['message']==='fetch\x20failed')throw new RunnerError('Failed\x20to\x20send\x20the\x20request',{'code':ErrorCode['FETCH_FAILED'],'request':z,'cause':I['cause']});else throw I;}function K(W){const e={[Symbol['for']('get')](v){return this[v['toLowerCase']()]['value'];}};return W['forEach']((v,Y)=>{e[Y]={'value':v,'secret':l['headers']['has'](Y)};}),e;}function X(W){const e={[Symbol['for']('get')](v){return this[v]['value'];}};return(W['get']('Cookie')?.['split'](';')??[])['forEach'](v=>{const [Y,J]=v['split'](/=(.+)/);e[Y]={'value':J,'secret':l['cookies']['has'](Y)};}),e;}function D(W){const e={[Symbol['for']('get')](v){return this[v]['value'];}};return W['getSetCookie']()['forEach'](v=>{const [Y,J]=v['split'](/=(.+)/);e[Y]={'value':J,'secret':l['cookies']['has'](Y)};}),e;}async function a(W){const e=await W['text']();if(e){const v=W['headers']['get']('Content-Type');if(v?.['includes']('application/json'))return{'value':{...parseJsonString(e),[Symbol['for']('stringify')]:()=>e},'secret':![]};else{if(v?.['includes']('application/xml'))return{'value':{...parseXmlString(e),[Symbol['for']('stringify')]:()=>e},'secret':![]};}}return{'value':e,'secret':![]};}}},InitializeScopeHandler=class extends Handler{async['handle'](){return await this['stabilize'](),await this['before'](),this['context']['scope']['initialize']({'input':await(this['instruction']['parameters']??[])['reduce'](async(l,{name:P,value:R,secret:F})=>{return l['then'](async o=>({...o,[P]:{'value':await this['evaluate'](R),'secret':F}}));},Promise['resolve']({})),'public':{},'internal':{}}),this['context']['scope']['internal']['forceRunningAssertions']={'value':this['instruction']['options']?.['assertions']},this['context']['scope']['internal']['forceRunningNavigation']={'value':this['instruction']['options']?.['navigation']},await this['after'](),{'status':'scope\x20initialized','parameters':this['context']['scope']['active']?.['input']};}},SetVariableHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();const l=this['action']['scope']??'public',P=await this['evaluate'](this['action']['data']['value']),R=this['action']['data']['secret']||(this['stack']['isSecret'](this['action']['data']['value'])??![]);let F;if(this['action']['destruction']){if(Array['isArray'](P))F=(z,K)=>P[K];else{if(P!==null&&typeof P==='object')F=z=>P[z];else F=()=>P;}}else F=()=>P;const o=this['action']['names']['map']((z,K)=>{const X=z['name']['toLowerCase'](),D=F(z['name'],K),a=this['context']['scope'][l][X],G={'value':D,'secret':R||z['secret']||![]};return this['context']['scope'][l][X]=G,{'name':X,'previous':a,'current':G};});return await this['after'](),{'status':'variable\x20set','meta':{'variables':o,'scope':l}};}};async function isolatePdfPage(l){const P=l['activePage']?.['mainFrame'];if(!P||!isPdfViewerFrame(P))return noop$1;try{await callViewer(P,'isolate');}catch(R){return error('pdfPageIsolationFailed',{'error':R}),noop$1;}return async()=>{await callViewer(P,'restore')['catch'](F=>error('pdfPageRestoreFailed',{'error':F}));};}async function noop$1(){}function callViewer(l,P){return l['defaultExecute'](R=>globalThis['nlpPdfState']?.[R]?.(),[P]);}var VisualCheckHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']('paranoid');const l=await isolatePdfPage(this['automator']);try{return await this['before'](),await this['context']['actions']['check'](),await this['after'](),{'status':'visually\x20checked'};}finally{await l();}}},WaitHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();const l=await this['evaluate'](this['action']['timeout']);if(l)this['throwIfExceededAllowedTimeout'](l);if(!this['action']['condition'])return await sleep(l??0x3e8,{'signal':this['signal']}),await this['after'](),{'status':'success'};const P=l??this['findTimeout']??0xea60,R=Date['now']();let F=0x0,o=!![];const z=setTimeout(()=>o=![],P);do{this['throwIfAborted'](),++F;try{const K=await this['evaluate'](this['action']['condition']);debug('waitConditionEvaluated',{'conditionMet':Boolean(K),'attempt':F,'elapsedMs':Date['now']()-R,'timeout':P});if(K)return clearTimeout(z),await this['reveal'](),await this['after'](),{'status':'success'};}catch(X){if(!o||this['signal']['aborted'])throw X;}await sleep(0x3e8,{'signal':this['signal']});}while(o);throw new RunnerError('Timeout\x20waiting\x20for\x20condition\x20to\x20match',{'code':ErrorCode['CONDITION_TIMED_OUT'],'timeout':P,'condition':this['action']['condition']});}},DefinePreinstructionsHandler=class extends Handler{async['handle'](){return{'status':'preinstructions\x20defined','meta':{'preinstructions':this['instruction']['type']==='set\x20preinstructions'?this['instruction']['instructions']:[]}};}},TryHandler=class extends Handler{async['handle'](){return{'status':'tried','meta':{'next':this['instruction']['instructions']}};}},IfHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();const l=await this['evaluate'](this['instruction']['condition']);return await this['reveal'](),await this['after'](),{'status':'condition\x20evaluated','meta':{'met':l,'next':l?this['instruction']['then']:this['instruction']['otherwise']}};}},IntentHandler=class extends Handler{async['handle'](){throw new RunnerError('Intent\x20action\x20should\x20not\x20be\x20executed',{'code':ErrorCode['FORBIDDEN_ACTION']});}},CheckHandler$1=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element']({...l,'type':l['type']??'checkbox'});this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const R=await P['node']['execute'](F=>{if(F instanceof Element&&F['hasAttribute']('aria-checked'))return F['getAttribute']('aria-checked')==='true';if(F instanceof HTMLInputElement&&['checkbox','radio']['includes'](F['type']))return F['checked'];return![];});if(typeof this['action']['value']!=='boolean'||R!==this['action']['value'])await P['node']['click']({'simulate':P['type']['checkbox']===0x1||P['type']['radio']===0x1,'signal':this['signal']});return this['context']['activeElement']=P['node'],await this['after'](),{'status':'success'};}},ClickHandler$1=class extends Handler{async['handle'](){if(isDialogElementDescriptor(this['action']['element']))return this['handleWithDialogElementDescriptor'](this['action']['element']);const l=this['automator']['activePage']['dialog'],P=l&&l['type']!=='filepicker'?l:null;if(!P)await this['stabilize']();const R=await this['evaluate'](this['action']['element']);if(isDialogElementDescriptor(R))return this['handleWithDialogElementDescriptor'](R);if(isChromeElementDescriptor(R))return this['throwIfBlocked'](),this['handleWithChromeElementDescriptor'](R);if(P){const o=toDialogElementDescriptor(R);if(o)return this['handleWithDialogElementDescriptor'](o);this['throwIfBlocked']();}const F=await this['element']({...R,'state':{...R['state'],'active':!![]},'hints':{'type':'button'}});if(R&&!F?.['node']){const z=toChromeElementDescriptor(R);if(z)return this['handleWithChromeElementDescriptor'](z);}return this['throwIfNoElement'](F),this['handleWithElement'](F);}async['handleWithDialogElementDescriptor'](l){const P=this['automator']['activePage']['dialog'];if(!P||P['type']==='filepicker')throw new RunnerError('Native\x20dialog\x20not\x20found',{'code':ErrorCode['NO_DIALOG']});return await this['before'](),await P['handle'](l['title']!=='cancel'),await this['after'](),{'status':'success'};}async['handleWithChromeElementDescriptor'](l){await this['before']();if(l['title']==='refresh')await this['automator']['activePage']['reload']();else{if(l['title']==='back')await this['automator']['activePage']['navigateThroughHistory'](-0x1);else{if(l['title']==='forward')await this['automator']['activePage']['navigateThroughHistory'](0x1);}}return await this['after'](),{'status':'success'};}async['handleWithElement'](l){await tryMakeElementNotObscured(l,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const {keys:P,button:R,times:F}=this['action'];if(P)await this['automator']['activePage']['keyboard']['down'](P);await l['node']['click']({'simulate':l['type']['checkbox']===0x1||l['type']['radio']===0x1,'signal':this['signal'],'button':R,'times':F});if(P)await this['automator']['activePage']['keyboard']['up'](P);return await Promise['all']([l['node']['frame']['wait']('stable'),V(0x64)]),this['context']['activeElement']=l['node'],await this['after'](),{'status':'success'};}},TypeHandler$1=class extends Handler{async['handle'](){if(isDialogElementDescriptor(this['action']['element']))return this['handleWithDialogElementDescriptor']();this['throwIfBlocked'](),await this['stabilize']();const l=stringify(await this['evaluate'](this['action']['value']??''));if(isChromeElementDescriptor(this['action']['element']))this['action']['element']['title']==='url'&&(await this['before'](),await this['automator']['activePage']['navigate'](l),await this['after']());else{const P=await this['evaluate'](this['action']['element'])??(isOTP(this['action']['value'])?{'type':'textbox','title':'code','fallback':{'state':{'focused':!![]}}}:{'state':{'focused':!![]}});if(isDialogElementDescriptor(P))return this['handleWithDialogElementDescriptor']();const R=await this['element']({...P,'state':{...P['state'],'active':!![]},'type':[P['type']??[],'textbox']['flat']()});this['throwIfNoElement'](R),await tryMakeElementNotObscured(R,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const F=R['node'];await this['throwIfCannotTypeToElement'](F),await F['focus']();if(await F['isContentEditable']())await F['setCaretPosition']('end');if(l['length']>=0xc8||/[\n\t]/['test'](l))await this['automator']['activePage']['keyboard']['insert'](l,{'keys':['ControlLeft','KeyV']});else await this['automator']['activePage']['keyboard']['type'](l);this['context']['activeElement']=F,await this['after']();}return{'status':'success'};}async['handleWithDialogElementDescriptor'](){const l=this['automator']['activePage']['dialog'];if(!l||l['type']==='filepicker')throw new RunnerError('Native\x20dialog\x20not\x20found',{'code':ErrorCode['NO_DIALOG']});const P=stringify(await this['evaluate'](this['action']['value']??''));return await this['before'](),await l['handle'](!![],P),await this['after'](),{'status':'success'};}},ClearHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element'])??{'state':{'focused':!![]}},P=await this['element']({...l,'type':[l['type']??[],'inputbox']['flat']()});this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();if(P['type']['textbox'])await P['node']['focus'](),await this['automator']['activePage']['keyboard']['press'](['ControlLeft','KeyA'],{'commands':['selectAll']}),await this['automator']['activePage']['keyboard']['press']('Backspace');else{if(P['type']['checkbox']){if(await P['node']['execute'](R=>R instanceof HTMLInputElement&&R['type']==='checkbox'&&R['checked']||R instanceof Element&&R['getAttribute']('aria-checked')==='true'))await P['node']['click']({'simulate':!![],'signal':this['signal']});}else throw new RunnerError('Can\x27t\x20clear\x20the\x20targeted\x20element',{'code':ErrorCode['ELEMENT_NOT_CLEARABLE']});}return this['context']['activeElement']=P['node'],await this['after'](),{'status':'success'};}},ScrollHandler$1=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();if('position'in this['action']){const l=this['action']['element']?await this['evaluate'](this['action']['element']):{'type':'scrollable','fallback':{'type':'app'}},P=await this['element'](isViewportDescriptor(l)?{'type':'scrollable','fallback':{'type':'app'}}:l);this['throwIfNoElement'](P);const R=P['node'];let F,o;if(isViewportDescriptor(l)){const z=await this['automator']['activePage']['getViewportSize']();if(this['action']['position']==='center')o=0x0,F=0x0;else{if(this['action']['position']['includes']('top'))o=-(z['height']/0x2);else{if(this['action']['position']['includes']('bottom'))o=z['height']/0x2;}if(this['action']['position']['includes']('left'))F=-(z['width']/0x2);else{if(this['action']['position']['includes']('right'))F=z['width']/0x2;}}}else{const {scrollX:K,scrollY:X,scrollWidth:D,scrollHeight:a,clientWidth:G,clientHeight:m}=await R['getMetrics']();if(this['action']['position']['includes']('center'))F=(D-G)/0x2-K,o=(a-m)/0x2-X;else{if(this['action']['position']['includes']('top'))o=-X;else{if(this['action']['position']['includes']('bottom'))o=a-m-X;}if(this['action']['position']['includes']('left'))F=-K;else{if(this['action']['position']['includes']('right'))F=D-G-K;}}}await R['scrollBy']({'x':F,'y':o});}else{if('fraction'in this['action']){const N=await this['evaluate'](this['action']['fraction']),E=this['action']['element']?await this['evaluate'](this['action']['element']):{'type':'scrollable','fallback':{'type':'app'}},H=await this['element'](isViewportDescriptor(E)?{'type':'scrollable','fallback':{'type':'app'}}:E);this['throwIfNoElement'](H);const t=H['node'],k=this['action']['direction']??'down',O=await this['evaluate'](this['action']['times'])??0x1,i=isViewportDescriptor(E)?await this['automator']['activePage']['getViewportSize']():await t['getMetrics']()['then'](({scrollWidth:B,scrollHeight:c})=>({'width':B,'height':c}));let q,T;if(k==='up')T=-(i['height']*N);else{if(k==='down')T=i['height']*N;else{if(k==='left')q=-(i['width']*N);else{if(k==='right')q=i['width']*N;}}}for(let B=0x0;B<O;++B)await t['scrollBy']({'x':q,'y':T});}else{if('element'in this['action']&&!('direction'in this['action'])){const c=this['action']['element']?await this['evaluate'](this['action']['element']):{'type':'scrollable','fallback':{'type':'app'}},n=await this['element'](c);this['throwIfNoElement'](n),await tryMakeElementNotObscured(n,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']});}else{const C=this['action']['direction']??'down',Z=C==='left'||C==='right'?'horizontal':'vertical';let w;if('element'in this['action']){const J=await this['evaluate']({...this['action']['element'],'hints':{'scrollable':Z,...this['action']['element']['hints']}});w=await this['element'](J);}else w=await this['element']({'type':'scrollable','superlative':'largest','hints':{'scrollable':Z},'fallback':{'type':'app'}});this['throwIfNoElement'](w);const I=w['node'],W=await this['evaluate'](this['action']['times'])??0x1,e=await this['evaluate'](this['action']['distance']);let v=0x0,Y=0x0;if(!e){const s=await this['automator']['activePage']['getViewportSize'](),M=await I['getMetrics'](),A=Math['min'](M['clientHeight'],s['height']),f=Math['min'](M['clientWidth'],s['width']);if(C==='up')Y=-A;else{if(C==='down')Y=A;else{if(C==='left')v=-f;else{if(C==='right')v=f;}}}}else{if(C==='up')Y=-e;else{if(C==='down')Y=e;else{if(C==='left')v=-e;else{if(C==='right')v=e;}}}}for(let Q=0x0;Q<W;++Q)await I['scrollBy']({'x':v,'y':Y});}}}return await this['after'](),{'status':'success'};}},FindHandler$1=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element'](l);return this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before'](),this['context']['activeElement']=P['node'],await this['after'](),{'status':'found'};}},FocusHandler$1=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element'](l);this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const R=P['node'];if(!await R['focus']())throw new RunnerError('Element\x20is\x20not\x20interactive',{'code':ErrorCode['ELEMENT_NOT_INTERACTIVE']});return this['context']['activeElement']=R,await this['after'](),{'status':'success'};}},CloseTargetHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();if(Array['from'](this['automator']['pages']())['length']>0x1)await this['automator']['activePage']['close']();else throw new RunnerError('Can\x27t\x20close\x20the\x20browser\x20tab\x20because\x20it\x20is\x20the\x20only\x20tab',{'code':ErrorCode['CLOSE_LAST_TAB']});return await this['after'](),{'status':'success'};}},CloseHandler=class extends Handler{async['handle'](){if('isDialogDescriptor'in this['action']['element']){const z=this['automator']['activePage']['dialog'];if(!z||z['type']==='filepicker')throw new RunnerError('Native\x20dialog\x20not\x20found',{'code':ErrorCode['NO_DIALOG']});return await this['before'](),await z['handle'](![]),await this['after'](),{'status':'success'};}this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element']({...l,'hints':{'type':l['type']?l['type']:'popup'}});this['throwIfNoElement'](P);const R=await this['element']({'hints':{'role':'close'},'anchor':{'position':'inside','element':{'node':P}}});this['throwIfNoElement'](R),await tryMakeElementNotObscured(R,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const F=R['node'],o=Boolean(R['type']['checkbox']||R['type']['radio']);return await F['click']({'simulate':o,'signal':this['signal']}),await Promise['all']([F['frame']['wait']('stable'),V(0x64)]),this['context']['activeElement']=F,await this['after'](),{'status':'success'};}},CreateTargetHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();const l=await this['evaluate'](this['action']['url']);return await this['automator']['page']({'url':l??void 0x0}),await this['after'](),{'status':'success'};}},EraseHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element'])??{'state':{'focused':!![]}},P=await this['element']({...l,'state':{...l['state'],'active':!![]}});this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const R=await this['evaluate'](this['action']['size']),F=P['node'];if(!await F['execute']((o,z)=>{if(o instanceof HTMLInputElement&&['text','search','url','tel','password']['includes'](o['type'])||o instanceof HTMLTextAreaElement){if(o===document['activeElement'])o['setSelectionRange'](Math['max'](0x0,o['selectionStart']-z),o['selectionStart']);else o['focus'](),o['setSelectionRange'](Math['max'](0x0,o['value']['length']-z),o['value']['length']);return!![];}return![];},[R]))throw new RunnerError('Element\x20is\x20not\x20a\x20textbox',{'code':ErrorCode['ELEMENT_NOT_TEXTBOX']});return await this['automator']['activePage']['keyboard']['press']('Backspace'),this['context']['activeElement']=F,await this['after'](),{'status':'success'};}},EvaluateHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();try{const l=await this['automator']['activePage']['mainFrame']['defaultEvaluate'](await this['evaluate'](this['action']['js']),{'await':!![]});return this['context']['scope']['public']['js-result']={'value':l},await this['after'](),{'status':'evaluated','meta':{'result':l}};}catch(P){if(P instanceof FlushError)throw P;else throw new RunnerError('Evaluation\x20failed',{'code':ErrorCode['EVALUATION_FAILED'],'error':P,'stack':P['stack']});}}},NavigateHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();if('direction'in this['action']){const l=await this['evaluate'](this['action']['times'])??0x1;await this['automator']['activePage']['navigateThroughHistory'](this['action']['direction']==='forward'?l:-l),log('navigationPerformed',{'kind':'history','historyDirection':this['action']['direction'],'times':l});if(isPdfViewerFrame(this['automator']['activePage']['mainFrame']))await waitForReady(this['automator']['activePage']['mainFrame']);return await this['after'](),{'status':'navigated'};}else{const P=this['navigateTimeout'],R=await this['evaluate'](this['action']['url']||'');let F=this['action']['relative']||/^\.{0,2}\/|^[^\.\/]+$/['test'](R)?new URL(R,this['automator']['activePage']['url'])['toString']():R;if(/^mock\+/['test'](R))F='https://mock#'+R['replace'](/^mock\+/,'');const o=await(/^(?:data|about):|(?:https?|ftps?|chrome):\/\//['test'](F)?this['automator']['activePage']['navigate'](F,{'timeout':P}):this['automator']['activePage']['navigate']('https://'+F,{'timeout':P})['catch'](z=>this['automator']['activePage']['navigate']('http://'+F,{'timeout':P})['catch'](async()=>Promise['reject'](z))))['catch'](async z=>{await this['automator']['activePage']['cancelNavigation']();throw z;});log('navigationPerformed',{'kind':'url','url':F,'statusCode':o['status']});if(isPdfViewerFrame(this['automator']['activePage']['mainFrame']))await waitForReady(this['automator']['activePage']['mainFrame']);await this['after']();if(!this['shouldNotThrowOnUnexpectedNavigationStatus']){if(this['action']['statuses']!=='*'){const z=[...this['action']['statuses']??[],...this['expectedNavigationStatuses']];if(z['length']>0x0?!z['includes'](o['status']):o['status']<0xc8||o['status']>0x12b)throw new RunnerError('The\x20navigation\x20to\x20url\x20\x22'+R+'\x22\x20resulted\x20with\x20an\x20unexpected\x20status\x20code\x20'+o['status'],{'code':ErrorCode['UNEXPECTED_NAVIGATION_STATUS'],'status':o['status'],'headers':o['headers']});}return{'status':'navigated','meta':{...o}};}else return{'status':'navigated','meta':{...o,'statusExpected':this['action']['statuses']&&(this['action']['statuses']==='*'||this['action']['statuses']['includes'](o['status']))}};}}},GoHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['target']),P={'automator':this['automator'],'context':this['context'],'shouldCapture':this['shouldCapture'],'shouldNotThrowOnUnexpectedNavigationStatus':this['shouldNotThrowOnUnexpectedNavigationStatus'],'expectedNavigationStatuses':this['expectedNavigationStatuses']};return(isUrlString(l)?new NavigateHandler({...P,'instruction':{'type':'navigate','url':l}}):new ScrollHandler$1({...P,'instruction':{'type':'scroll','element':{'title':l}}}))['handle']();}},HitKeyHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();const l=this['action']['keys'],P=await this['evaluate'](this['action']['times'])??0x1;for(let R=0x0;R<P;++R)if(['F5','ControlLeft+KeyR']['includes'](l['join']('+')))await this['automator']['activePage']['reload']();else{if(['ControlLeft+F5','ControlLeft+ShiftLeft+KeyR']['includes'](l['join']('+')))await this['automator']['activePage']['reload']({'hard':!![]});else{const F=await this['automator']['activePage']['mainFrame']['execute'](()=>{const o=document['activeElement'];return!!(o instanceof HTMLInputElement&&o['list']&&!['button','reset','submit']['includes'](o['type']));});await this['automator']['activePage']['keyboard']['press'](l,{'raw':F});}}return await this['after'](),{'status':'success'};}},HoverHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element']({...l,'state':{...l['state'],'active':!![]}});this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const R=P['node'];return await R['hover']({'signal':this['signal']}),this['context']['activeElement']=R,await this['after'](),{'status':'success'};}},NavigatePdfHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize'](),await this['before']();const l=await this['evaluate'](this['action']['page']);if(!isPdfViewerFrame(this['automator']['activePage']['mainFrame']))throw new RunnerError('Cannot\x20navigate\x20to\x20a\x20PDF\x20page:\x20the\x20active\x20page\x20is\x20not\x20a\x20PDF\x20viewer',{'code':ErrorCode['NOT_PDF_VIEWER']});const {pageCount:P,resolvedPage:R}=await this['automator']['activePage']['mainFrame']['defaultExecute'](F=>{const o=globalThis['nlpPdfState'];if(!o)return{'pageCount':0x0,'resolvedPage':0x0};const {viewer:z}=o,K=F<0x0?z['pagesCount']+F+0x1:F;if(K<0x1||K>z['pagesCount'])return{'pageCount':z['pagesCount'],'resolvedPage':K};return z['currentPageNumber']=K,{'pageCount':z['pagesCount'],'resolvedPage':K};},[l]);if(R<0x1||R>P)throw new RunnerError('PDF\x20page\x20'+l+'\x20is\x20out\x20of\x20range',{'code':ErrorCode['PDF_PAGE_OUT_OF_RANGE'],'page':l,'pageCount':P});return await this['after'](),{'status':'success'};}},RefreshHandler=class extends Handler{async['handle'](){return this['throwIfBlocked'](),await this['stabilize'](),await this['before'](),await this['automator']['activePage']['reload']({'hard':this['action']['value']==='hard'}),await this['after'](),{'status':'success'};}},SearchHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['element'])??{'type':'textbox','title':'search'},P=await this['element']({...l,'type':[l['type']??[],'textbox']['flat']()});this['throwIfNoElement'](P),await tryMakeElementNotObscured(P,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const R=await this['evaluate'](this['action']['value']||''),F=P['node'];return await this['throwIfCannotTypeToElement'](F),await F['focus'](),await this['automator']['activePage']['keyboard']['type'](R),await this['automator']['activePage']['keyboard']['press']('Enter'),this['context']['activeElement']=F,await this['after'](),{'status':'success'};}};function formatDateTimeForInput(l,P){if(P==='time'&&l['match'](/^\d{2}:\d{2}(:\d{2})?$/))return l;const R=/(\d{4}-\d{2}-\d{2})T?(\d{2}:\d{2})?:?(\d{2})?/;if(R['test'](l))l=l['trim']()['endsWith']('Z')?l:l+'Z';else l+='\x20UTC';const F=new Date(l)['toISOString'](),o=F['match'](R);if(!o)return F;const z=o[0x1],K=parseInt(o[0x3]),X=K?o[0x2]+':'+K:o[0x2];if(P==='date')return z;if(P==='time')return X;return z+'T'+X;}var SetValueHandler=class extends Handler{async['handle'](){this['throwIfBlocked'](),await this['stabilize']();const l=await this['evaluate'](this['action']['value']??'');if(isFileHandle(this['action']['value'])&&this['automator']['activePage']['dialog']?.['type']==='filepicker')await this.#setValueInFilepickerDialog(this['automator']['activePage']['dialog'],l);else{const P=await this['evaluate'](this['action']['element']),R=await this['element']({...P,'type':P['type']??'inputbox'});this['throwIfNoElement'](R),await tryMakeElementNotObscured(R,{'timeout':this['findTimeout']??0x2710,'signal':this['signal']}),await this['before']();const F=R['node'];if(!await F['focus']()&&!await F['execute'](z=>z instanceof HTMLFieldSetElement))throw new RunnerError('Element\x20is\x20not\x20interactive',{'code':ErrorCode['ELEMENT_NOT_INTERACTIVE']});const o=await F['execute'](z=>{if(z instanceof HTMLFieldSetElement||z instanceof HTMLSelectElement)return'selectable';else{if(z instanceof HTMLInputElement&&z['type']==='color')return'colorpicker';else{if(z instanceof HTMLInputElement&&z['type']==='date')return'datepicker';else{if(z instanceof HTMLInputElement&&z['type']==='time')return'timepicker';else{if(z instanceof HTMLInputElement&&z['type']==='datetime-local')return'datetimepicker';else{if(z instanceof HTMLInputElement&&z['type']==='file')return'filepicker';else return'inputbox';}}}}}});if(o==='selectable')await this.#setValueInSelectable(F,l);else{if(o==='colorpicker')await this.#setValueInColorPicker(F,l);else{if(o==='datepicker')await this.#setValueInDatePicker(F,l);else{if(o==='timepicker')await this.#setValueInTimePicker(F,l);else{if(o==='datetimepicker')await this.#setValueInDateTimePicker(F,l);else await F['setValue'](l);}}}}this['context']['activeElement']=F;}return await this['after'](),{'status':'success'};}async #setValueInSelectable(l,P){if(isRandomValue(this['action']['value'])&&this['action']['value']['type']==='number'){const R=await l['execute'](F=>{if(F instanceof HTMLSelectElement)return F['options']['length'];else{if(F instanceof HTMLFieldSetElement)return F['querySelectorAll']('input[type=\x22radio\x22],input[type=\x22checkbox\x22]')['length'];else return 0x0;}});P=Math['floor'](P*R);}if(!await l['execute'](async(F,o)=>{if(F instanceof HTMLSelectElement){let z;if(typeof o==='number')z=F['options'][o];else{if(typeof o==='string'){const K=Array['prototype']['find']['bind'](F['options']),X=String(o)['toLowerCase']();z=K(D=>[D['value']['toLowerCase'](),D['textContent']['toLowerCase']()]['includes'](X))??K(D=>D['text']['toLowerCase']()['includes'](X));}}if(z)return z['selected']=!![],F['dispatchEvent'](new Event('input',{'bubbles':!![],'composed':!![]})),F['dispatchEvent'](new Event('change',{'bubbles':!![]})),!![];}else{if(F instanceof HTMLFieldSetElement){let D;if(typeof o==='number')D=F['querySelectorAll']('input[type=\x22radio\x22],input[type=\x22checkbox\x22]')[o];else{if(typeof o==='string'){const a=o['toLowerCase'](),G=Array['from'](F['querySelectorAll']('input[type=\x22radio\x22],input[type=\x22checkbox\x22]')),m=[N=>N===a,N=>N['startsWith'](a),N=>N['includes'](a)];for(const N of m)D=G['find'](E=>Array['from'](E['labels']??[])['some'](H=>H['innerText']&&N(H['innerText']['toLowerCase']()))||N(E['value']?.['toLowerCase']()));}}if(D)return D['checked']=!![],D['dispatchEvent'](new Event('input',{'bubbles':!![],'composed':!![]})),D['dispatchEvent'](new Event('change',{'bubbles':!![]})),!![];}}return![];},[P],{'await':!![]}))throw new RunnerError('desired\x20option\x20'+JSON['stringify'](P)+'\x20was\x20not\x20found',{'code':ErrorCode['NO_OPTION'],'value':P});}async #setValueInColorPicker(l,P){const {r:R,g:F,b:o}=stringToColorOrThrow(P),z='#'+Number(R)['toString'](0x10)['padStart'](0x2,'0')+Number(F)['toString'](0x10)['padStart'](0x2,'0')+Number(o)['toString'](0x10)['padStart'](0x2,'0');await l['setValue'](z);}async #setValueInDatePicker(l,P){await l['setValue'](formatDateTimeForInput(P,'date'));}async #setValueInTimePicker(l,P){await l['setValue'](formatDateTimeForInput(P,'time'));}async #setValueInDateTimePicker(l,P){await l['setValue'](formatDateTimeForInput(P,'datetime'));}async #setValueInFilepickerDialog(l,P){await l['handle']([P]);}},SwitchTargetHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();if('index'in this['action']){const l=await this['evaluate'](this['action']['index']),P=Array['from'](this['automator']['pages']());if(l>=P['length'])throw new RunnerError('Can\x27t\x20find\x20browser\x20tab\x20with\x20index\x20'+l+',\x20because\x20there\x20is\x20only\x20'+P['length']+'\x20browser\x20tab(s)',{'code':ErrorCode['NO_TAB']});await P[l]['activate']();}else{if('position'in this['action']){if(this['action']['position']==='previous'){if(!await this['automator']['activatePreviousPage']())throw new RunnerError('Can\x27t\x20switch\x20to\x20the\x20previous\x20tab\x20because\x20there\x20is\x20no\x20history\x20of\x20navigation\x20among\x20the\x20tabs',{'code':ErrorCode['NO_TAB_HISTORY']});}else{if(!await this['automator']['activateNextPage']()){const R=Array['from'](this['automator']['pages']());if(R['length']<=0x1)throw new RunnerError('Can\x27t\x20switch\x20to\x20the\x20next\x20tab\x20because\x20the\x20current\x20tab\x20is\x20already\x20located\x20at\x20the\x20top\x20of\x20history\x20and\x20there\x20are\x20no\x20other\x20tabs\x20to\x20switch\x20to',{'code':ErrorCode['NO_NEXT_TAB']});await R[(R['findIndex'](F=>F===this['automator']['activePage'])+0x1)%R['length']]['activate']();}}}else{if('title'in this['action']){const F=Array['from'](this['automator']['pages']()),o=await this['evaluate'](this['action']['title']),z=new RegExp('\x5cb'+o+'\x5cb','i'),K=F['find'](X=>z['test'](X['title']));if(!K)throw new RunnerError('Can\x27t\x20find\x20the\x20browser\x20tab\x20with\x20title\x20\x22'+o+'\x22',{'code':ErrorCode['NO_TAB']});await K['activate']();}}}return await this['after'](),{'status':'success'};}},CheckHandler=class extends Handler{async['handle'](){await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element']({...l,'type':l['type']??'checkbox'});this['throwIfNoElement'](P),await this['before']();const R=P['state']['checked']??![];if(typeof this['action']['value']!=='boolean'||R!==this['action']['value'])await P['node']['click']();return await this['after'](),{'status':'success'};}},ClickHandler=class extends Handler{async['handle'](){await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element']({...l,'state':{...l&&'state'in l?l['state']:{},'active':!![]},'hints':{'type':'button'}});return this['throwIfNoElement'](P),this['handleWithElement'](P);}async['handleWithElement'](l){await this['before']();const {times:P}=this['action'];return await l['node']['click']({'times':P}),await sleep(0x64),await this['after'](),{'status':'success'};}},FindHandler=class extends Handler{async['handle'](){await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element'](l);return this['throwIfNoElement'](P),await this['before'](),await this['after'](),{'status':'found'};}},FocusHandler=class extends Handler{async['handle'](){await this['stabilize']();const l=await this['evaluate'](this['action']['element']),P=await this['element'](l);return this['throwIfNoElement'](P),await this['before'](),await P['node']['focus'](),await this['after'](),{'status':'success'};}},ScrollHandler=class extends Handler{async['handle'](){await this['stabilize'](),await this['before']();throw new RunnerError('Scroll\x20action\x20is\x20not\x20supported\x20on\x20mobile\x20yet',{'code':ErrorCode['NOT_IMPLEMENTED']});}},TypeHandler=class extends Handler{async['handle'](){await this['stabilize']();const l=stringify(await this['evaluate'](this['action']['value']??'')),P=await this['evaluate'](this['action']['element'])??(isOTP(this['action']['value'])?{'type':'textbox','title':'code','fallback':{'state':{'focused':!![]}}}:{'state':{'focused':!![]}}),R=await this['element']({...P,'state':{...P&&'state'in P?P['state']:{},'active':!![]},'type':[(P&&'type'in P?P['type']:void 0x0)??[],'textbox']['flat']()});return this['throwIfNoElement'](R),await this['before'](),await this['throwIfCannotTypeToElement'](R['node']),await R['node']['click'](),await R['node']['type'](l),await this['after'](),{'status':'success'};}};const noop={},common={'assert':AssertHandler,'wait':WaitHandler,'empty':EmptyHandler,'comment':EmptyHandler,'fetch':FetchHandler,'set\x20variable':SetVariableHandler,'visual\x20check':VisualCheckHandler,'intent':IntentHandler,'set\x20preinstructions':DefinePreinstructionsHandler,'drop\x20preinstructions':DefinePreinstructionsHandler,'initialize\x20scope':InitializeScopeHandler,'try':TryHandler,'if':IfHandler},web={'check':CheckHandler$1,'clear':ClearHandler,'click':ClickHandler$1,'close':CloseHandler,'close\x20target':CloseTargetHandler,'create\x20target':CreateTargetHandler,'erase':EraseHandler,'evaluate':EvaluateHandler,'find':FindHandler$1,'focus':FocusHandler$1,'hit\x20key':HitKeyHandler,'hover':HoverHandler,'navigate':NavigateHandler,'navigate\x20pdf':NavigatePdfHandler,'refresh':RefreshHandler,'scroll':ScrollHandler$1,'search':SearchHandler,'set\x20value':SetValueHandler,'switch\x20target':SwitchTargetHandler,'type':TypeHandler$1,'visual\x20check':VisualCheckHandler,'go':GoHandler},mobile={'check':CheckHandler,'click':ClickHandler,'find':FindHandler,'focus':FocusHandler,'scroll':ScrollHandler,'type':TypeHandler},handlers={'web':{...noop,...common,...web},'mobile':{...noop,...common,...mobile}};function makeHandler(l){if(!(l['automator']['type']in handlers))throw new Error('The\x20automator\x20type\x20\x22'+l['automator']['type']+'\x22\x20isn\x27t\x20supported');if(!(l['instruction']['type']in handlers[l['automator']['type']]))throw new Error('The\x20instruction\x20type\x20\x22'+l['automator']['type']+'\x22\x20isn\x27t\x20supported\x20with\x20'+l['automator']['type']+'\x20automator');const P=handlers[l['automator']['type']][l['instruction']['type']];return new P(l);}var FlagStore=class extends EventTargetNode{#flags={'pdfViewer':{'description':'Intercept\x20PDF\x20requests\x20and\x20serve\x20the\x20NLP\x20DOM-based\x20viewer\x20instead\x20of\x20the\x20browser\x20PDF\x20viewer','value':![]}};#set(l,P){const R=this.#flags[l]?.['value'];if(P===R)return;this.#flags[l]['value']=P,this['dispatch'](new FlagChangedEvent(l,P,R));}get['pdfViewer'](){return this.#flags['pdfViewer']['value'];}set['pdfViewer'](l){this.#set('pdfViewer',l);}['set'](l){for(const P of Object['keys'](l)){const R=l[P];if(R!==void 0x0)this[P]=R;}}['toJSON'](){return this.#flags;}},FlagChangedEvent=class extends Event{['key'];['value'];['previousValue'];constructor(l,P,R){super('flagChanged'),this['key']=l,this['value']=P,this['previousValue']=R;}};const flags=new FlagStore(),VIEWER_HTML_PATH=new URL('../../assets/index-C5rB_Uzy.html',import.meta.url);function installPdfInterceptor(l){return l['intercept']([{'resource':['Document'],'stage':['response']}],async P=>{if(!flags['pdfViewer']||!(P instanceof InterceptedResponse)||!isPdfResponse(P))return;try{const R=await P['base64'](),F=await getViewerHtml();if(!F['includes']('__NLP_PDF_BYTES__'))throw new Error('viewer\x20HTML\x20is\x20missing\x20the\x20bytes\x20placeholder\x20\x22'+PDF_BYTES_PLACEHOLDER+'\x22');const o=F['replace'](PDF_BYTES_PLACEHOLDER,R);await P['fulfill']({'status':0xc8,'headers':{'content-type':'text/html;\x20charset=utf-8','x-nlp-pdf-viewer':'1'},'body':new TextEncoder()['encode'](o)}),log('pdfInterceptorReplaced',{'url':P['request']['url']});}catch(z){error('pdfInterceptorFailed',{'error':z});}});}function isPdfResponse(l){const P=Object['entries'](l['headers'])['find'](([R])=>R['toLowerCase']()==='content-type')?.[0x1]??'';return/^application\/(?:x-)?pdf\b/i['test'](P);}let viewerHtmlPromise;function getViewerHtml(){if(!viewerHtmlPromise)viewerHtmlPromise=readFile(VIEWER_HTML_PATH,'utf8')['catch'](l=>{viewerHtmlPromise=void 0x0;throw l;});return viewerHtmlPromise;}function makeScope(l){return new Scope(l);}var Scope=class{#storages=new Map();#global={};#main;#active;get['main'](){return this.#main;}get['active'](){return this.#active;}get['global'](){return this.#global;}get['public'](){let l={...this.#global},P=this.#active;while(P){l={...P['input'],...P['public'],...l},P=P['parent'];}return new Proxy(l,{'set':(R,F,o)=>{return this.#storages['forEach'](z=>Reflect['set'](z['public'],F,o)),!![];},'deleteProperty':(R,F)=>{return this.#storages['forEach'](o=>Reflect['deleteProperty'](o['public'],F)),!![];}});}get['internal'](){let l={},P=this.#active;while(P){l={...P['internal'],...l},P=P['parent'];}return new Proxy(l,{'set':(R,F,o)=>{const z=this.#active;return Reflect['set'](z['internal'],F,o),!![];},'deleteProperty':(R,F)=>{return this.#storages['forEach'](o=>Reflect['deleteProperty'](o['internal'],F)),!![];}});}constructor(l){this.#global=l['global'],this.#main=this['set']('main',l),this.#active=this.#main;}['activate'](l){if(!this.#storages['has'](l))throw new Error('Unknown\x20scope\x20with\x20id\x20\x22'+l+'\x22');this.#active=this.#storages['get'](l);}['initialize'](l){this.#active['input']=Object['fromEntries'](Object['entries'](l['input']??{})['map'](([P,R])=>[P['toLowerCase'](),R])),this.#active['public']=Object['fromEntries'](Object['entries'](l['public']??{})['map'](([P,R])=>[P['toLowerCase'](),R])),this.#active['public']=l['internal'];}['available'](l){return this.#storages['get'](l)?.['parent']===this.#active;}['set'](l,P){const R={'name':l,'parent':l==='main'?null:this.#active,'input':Object['fromEntries'](Object['entries'](P['input']??{})['map'](([F,o])=>[F['toLowerCase'](),o])),'public':Object['fromEntries'](Object['entries'](P['public']??{})['map'](([F,o])=>[F['toLowerCase'](),o])),'internal':P['internal']??{}};return this.#storages['set'](l,R),R;}['reset'](){this.#storages=new Map(),this.#main=this['set']('main',{...this.#main,'public':{}}),this.#active=this.#main;}};const connect=buildConnector({'allowH2':!![],'rejectUnauthorized':![]});function makeDispatcher({proxy:l}={}){return l?new Socks5ProxyAgent(l['url'],{'username':l['username'],'password':l['password'],'connect':connect}):new Agent({'connect':connect});}function makePageData({browser:l}){return{get 'url'(){return makeUrlData(l['activePage']['url']);},get 'title'(){return l['activePage']['title'];},get 'status'(){return l['activePage']['mainFrame']['response']['status'];},get 'statustext'(){return l['activePage']['mainFrame']['response']['statusText'];},get 'headers'(){const P=l['activePage']['mainFrame']['response']['headers'];return{...Object['fromEntries'](Object['entries'](P)['map'](([R,F])=>[R['toLowerCase'](),F])),[Symbol['for']('get')](R){return this[R['toLowerCase']()];}};},get 'cookies'(){return{};},get 'meta'(){return{};},get 'width'(){return NaN;},get 'height'(){return NaN;},async[Symbol['for']('get')](P){if(P==='title')return l['activePage']['mainFrame']['evaluate']('document.title');else{if(P==='cookies'){const R=await l['activePage']['getCookies']();return Object['fromEntries'](R['entries']());}else{if(P==='meta')return l['activePage']['mainFrame']['execute'](()=>{const F=document['head']['querySelectorAll']('meta[name],\x20meta[property]');return Array['from'](F)['reduce']((o,z)=>{const K=z['getAttribute']('property')||z['name'];if(K)o[K]=z['content']??'';return o;},{});});else{if(P==='width')return l['activePage']['mainFrame']['evaluate']('document.scrollingElement.scrollWidth');else{if(P==='height')return l['activePage']['mainFrame']['evaluate']('document.scrollingElement.scrollHeight');else return this[P];}}}}}};}function makePdfData({browser:l}){const P={get 'name'(){return'';},get 'pagecount'(){return 0x0;},get 'currentpage'(){return 0x0;},async[Symbol['for']('get')](R){const F=R['toLowerCase']();if(F==='name')return l['activePage']['mainFrame']['defaultExecute'](()=>document['title']);else{if(F==='pagecount')return l['activePage']['mainFrame']['defaultExecute'](()=>globalThis['nlpPdfState']?.['viewer']?.['pagesCount']??0x0);else{if(F==='currentpage')return l['activePage']['mainFrame']['defaultExecute'](()=>globalThis['nlpPdfState']?.['viewer']?.['currentPageNumber']??0x0);}}}};return{get 'value'(){const R=l['activePage']?.['mainFrame'];if(!R||!isPdfViewerFrame(R))return null;return P;}};}const INDICATOR_PATTERN=/loading|loader|spinner|spin|progress|waiting|busy/i;function isPageSpinnerVisible(l){return l['popups']['some'](nodeHasSpinnerIndicators);}function nodeHasSpinnerIndicators(l){const P=l['attributes'];if(P){if(P['role']==='status'||P['role']==='progressbar'||P['aria-busy']==='true')return!![];if(P['class']&&INDICATOR_PATTERN['test'](P['class']))return!![];if(P['id']&&INDICATOR_PATTERN['test'](P['id']))return!![];}if(l['text']&&INDICATOR_PATTERN['test'](l['text']))return!![];if(l['visibleLabel']&&INDICATOR_PATTERN['test'](l['visibleLabel']))return!![];if(l['declarativeLabel']&&INDICATOR_PATTERN['test'](l['declarativeLabel']))return!![];return![];}function parseIOSFrame(l){if(!l)return{'x':0x0,'y':0x0,'width':0x0,'height':0x0};const P=l['match'](/\{\{([\d.]+),\s*([\d.]+)\},\s*\{([\d.]+),\s*([\d.]+)\}\}/);if(!P)return{'x':0x0,'y':0x0,'width':0x0,'height':0x0};return{'x':parseFloat(P[0x1]),'y':parseFloat(P[0x2]),'width':parseFloat(P[0x3]),'height':parseFloat(P[0x4])};}function makeIOSNode(l){return new IOSNode(l);}var IOSNode=class{['handle'];#connection;constructor({connection:l,handle:P}){this.#connection=l,this['handle']=P;}async['equal'](l){return this===l;}async['click'](l){await this.#connection['sendGesture']({'type':l?.['times']===0x2?'doubleTap':'tap','target':{'type':'element','elementSnapshot':this['handle']},'parameters':{'taps':l?.['times']??0x1}});}async['focus'](){return await this['click'](),!![];}async['type'](l){await this.#connection['sendGesture']({'type':'typeText','target':{'type':'element','elementSnapshot':this['handle']},'parameters':{'text':l}});}async['isContentEditable'](){return![];}async['setCaretPosition'](l){}async['canTypeInto'](){return!![];}async['getBox'](){return parseIOSFrame(this['handle']['Frame']);}async['getScreenBox'](){return this['getBox']();}async['getContentBoxes'](){return[parseIOSFrame(this['handle']['Frame'])];}async['isVisible'](){return!![];}async['getText'](){return this['handle']['Value']||this['handle']['Label']||'';}async['getValue']({hint:hint='string'}={}){if(hint==='boolean'){if(this['handle']['ElementType']==='XCUIElementTypeSwitch')return String(this['handle']['Value'])==='1';}return this['handle']['Value'];}async['isEnabled'](){return this['handle']['Enabled']??null;}async['isHovered'](){return null;}async['getObscurationInfo'](){return{'ratio':0x0};}async['getDescription'](){return'';}},Device=class{['type']='mobile';['connection'];['blocked']=![];constructor({connection:l}){this['connection']=l;}async['stabilize'](l,P){}async['captureScreenshot'](){return this['connection']['getScreenshot']();}async['extractFlatAXTree'](){const l=await this['connection']['extractFlatAXTree'](),P={...l,'nodes':[]};for(const R of l['nodes'])P['nodes']['push']({...R,'node':makeIOSNode({'connection':this['connection'],'handle':R['node']})});return P;}};const extractAXTree$1=makeBundledScript({'name':'extractAXTree','url':new URL('../../assets/extract-ax-tree-C1W4XHTq.js',import.meta.url)}),extractPdfAXTree=makeBundledScript({'name':'extractPdfAXTree','url':new URL('../../assets/extract-pdf-ax-tree-DI_Yi3DA.js',import.meta.url)});makeBundledScript({'name':'wipeOriginStorage','url':new URL('../../assets/wipe-origin-storage-CF1Vf2FY.js',import.meta.url)}),makeBundledExpression({'name':'recorder','url':new URL('../../assets/recorder-MSk-R6yL.js',import.meta.url)});const version$2='1.5.0';var AXNodeView=class AXNodeView extends EventTarget$1{['_tree'];['_nodes']=[];['debugLog'];['_parent']=null;['_children']=[];['_host']=null;['_popup']=null;['_panel']=null;['_backgroundRoot']=null;['_stackingContextRoot']=null;['_overflowRoot']=null;['_controlNodes']=[];['_type']={};['_state']={};['_style']={};['_options'];['_text']='';['_visibleLabel']='';['_geometricLabel'];['_declarativeLabel']='';['_visibleDescription']='';['_declarativeDescription']='';['_attributes']=Object['create'](null);['_isStackingContextRoot']=![];['_elevation']=0x0;['_borderRect'];['_contentRect'];['_scrollable'];['_role'];['depth']=-0x1;['pre']=-0x1;['post']=-0x1;['rowCells'];['colCells'];['rows'];['columns'];get['tree'](){return this['_tree'];}get['node'](){return this['_nodes'][0x0];}get['incorporated'](){return this['_nodes'];}get['parent'](){return this['_parent'];}get['host'](){return this['_host'];}get['popup'](){return this['_popup'];}get['card'](){return this['_panel'];}get['backgroundRoot'](){return this['_backgroundRoot'];}get['controlNodes'](){return this['_controlNodes'];}get['stackingContextRoot'](){return this['_stackingContextRoot'];}get['overflowRoot'](){return this['_overflowRoot'];}get['children'](){return this['_children'];}get['disconnected'](){return!this['parent']?.['children']['includes'](this);}get['invisible'](){return this['style']['opacity']===0x0||this['_style']['hidden']||this['borderRect']['width']<=0x1&&this['borderRect']['height']<=0x1;}get['transparent'](){return!this['type']['image']&&!this['_style']['backgroundColor'];}get['appearance'](){return!this['style']['hidden']&&(!this['transparent']||this['hasBorder']);}get['inViewport'](){return new Rectangle(0x0,0x0,this['tree']['viewport']['width'],this['tree']['viewport']['height'])['intersects'](this['borderRect']);}get['type'](){return this['_type'];}get['state'](){return this['_state'];}get['style'](){return this['_style'];}get['options'](){return this['_options'];}get['text'](){return this['_text'];}get['visibleLabel'](){return this['_visibleLabel'];}get['geometricLabel'](){return this['_geometricLabel'];}get['declarativeLabel'](){return this['_declarativeLabel'];}get['visibleDescription'](){return this['_visibleDescription'];}get['declarativeDescription'](){return this['_declarativeDescription'];}get['titles'](){return{...this['_text']?{'text':this['_text']}:{},...this['_visibleLabel']?{'visibleLabel':this['_visibleLabel']}:{},...this['_geometricLabel']?{'geometricLabel':this['_geometricLabel']}:{},...this['_declarativeLabel']?{'declarativeLabel':this['_declarativeLabel']}:{}};}get['attributes'](){return this['_attributes'];}get['isStackingContextRoot'](){return this['_isStackingContextRoot'];}get['elevation'](){return this['_elevation'];}get['borderRect'](){return this['_borderRect'];}get['visibleBorderRect'](){if(!this['_overflowRoot'])return this['borderRect'];return this['borderRect']['intersection'](this['_overflowRoot']['contentRect'])??new Rectangle(this['borderRect']['x'],this['borderRect']['y'],0x0,0x0);}get['contentRect'](){return this['_contentRect'];}get['scrollable'](){return this['_scrollable'];}get['role'](){return this['_role'];}get['rects'](){return{'border':this['_borderRect'],'content':this['_contentRect']};}get['hasBorder'](){return this['_style']['border']&&this['_style']['border']['length']>0x0;}get['isContrastingToBackground'](){return this['_style']['backgroundColor']!=null||!!this['type']['image'];}get['computedBackground'](){if(this['_style']['backgroundColor'])return this['_style']['backgroundColor'];if(this['type']['image'])return'image';if(this['_backgroundRoot']){if(this['_backgroundRoot']['type']['image'])return'image';return this['_backgroundRoot']['style']['backgroundColor']??null;}return null;}get['isVisuallySeparated'](){return this['isContrastingToBackground']||this['hasBorder'];}get['isOpaque'](){if(this['transparent'])return![];const l=0.9;return(this['style']['backgroundColor']?.['a']??0x1)>=l||(this['_style']['opacity']??0x1)>=l;}constructor(l){super(),this['_tree']=l;}*['ancestors']({up:l}={}){l??=R=>R['parent'];let P=l(this);while(P){yield P,P=l(P);}}*['descendants']({dead:l,leaf:P}={}){const R=[...this['children']];while(R['length']>0x0){const F=R['shift']();if(l?.(F))continue;yield F;if(!P?.(F))R['push'](...F['children']);}}*['nodes']({dead:l,leaf:P}={}){const R=[this];while(R['length']>0x0){const F=R['shift']();if(l?.(F))continue;yield F;if(!P?.(F))R['push'](...F['children']);}}['ancestor'](l){for(const P of this['ancestors']())if(l(P))return P;return null;}['lca'](...l){let P=this,R=l['reduce']((o,z)=>{if(z['depth']<P['depth'])o['push'](P),P=z;else o['push'](z);return o;},[]),F=P;while(F){R=R['filter'](o=>!F['contains'](o));if(R['length']===0x0)return F;else F=F['parent'];}return F;}['contains'](l){return this['pre']<l['pre']&&this['post']>l['post'];}['precedes'](l){return this['pre']<l['pre'];}['follows'](l){return this['pre']>l['pre'];}['beneath'](...l){const P=[this,...this['ancestors']({'up':R=>R['stackingContextRoot']})];return l['some'](R=>{if(this===R)return![];if(R['contains'](this))return![];if(this['contains'](R))return R['borderRect']['contains'](this['borderRect'])&&(R['borderRect']['area']>this['borderRect']['area']||R['borderRect']['width']>=R['tree']['viewport']['width']&&R['borderRect']['height']>=R['tree']['viewport']['height']);const F=new Rectangle(0x0,0x0,this['tree']['viewport']['width'],this['tree']['viewport']['height']);if(!((R['borderRect']['intersection'](F)?.['area']||0x0)/F['area']>=0.9)){const D=this['borderRect']['intersection'](R['borderRect']);if(!D||D['area']/this['borderRect']['area']<0.5)return![];}const o=[R,...R['ancestors']({'up':a=>!P['includes'](a)?a['stackingContextRoot']:null})];let z,K;const X=P['lastIndexOf'](o['at'](-0x1));X===-0x1?(z=P['at'](-0x1),K=o['at'](-0x1)):(z=P[X-0x1],K=o['at'](-0x2));if(z['elevation']<K['elevation'])return!![];else{if(z['elevation']===K['elevation']){if(z['precedes'](K))return!![];}}});}['distance'](l){const P=this['lca'](l);if(!P)return Infinity;return this['depth']-P['depth']+l['depth']-P['depth'];}['toJSON'](){return{'type':this['_type'],'text':this['_text'],'visibleLabel':this['_visibleLabel'],'geometricLabel':this['geometricLabel'],'declarativeLabel':this['_declarativeLabel'],'visibleDescription':this['_visibleDescription'],'declarativeDescription':this['_declarativeDescription'],'attributes':this['_attributes'],'state':this['_state'],'style':this['_style'],'options':this['_options']?.['map'](({node:l,...P})=>P),'borderRect':this['_borderRect']?{'x':this['_borderRect']['x'],'y':this['_borderRect']['y'],'width':this['_borderRect']['width'],'height':this['_borderRect']['height']}:void 0x0,'elevation':this['_elevation'],'scrollable':this['_scrollable'],'children':this['_children']['map'](l=>l['toJSON']()),'debugLog':this['debugLog']};}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){return'AXNode\x20'+R({'node':this['node']??{[Symbol['for']('nodejs.util.inspect.custom')]:(F,o)=>{const z=Object['keys'](this['type']),K=z['length']>0x0?z['reduce']((X,D)=>this['type'][D]>this['type'][X]?D:X):'unknown';return o['stylize']('<'+K+'\x20/>','special');}},'attributes':this['attributes'],'type':this['type'],'titles':this['titles'],'state':this['state'],'style':this['style']},{...P,'compact':!![],'breakLength':Infinity});}static['fromJSON'](l,P,R){const F=new AXNodeView(l);F['_parent']=R,F['_type']=P['type']??{},F['_text']=P['text']??'',F['_visibleLabel']=P['visibleLabel']??'',F['_geometricLabel']=P['geometricLabel']??'',F['_declarativeLabel']=P['declarativeLabel']??'',F['_visibleDescription']=P['visibleDescription']??'',F['_declarativeDescription']=P['declarativeDescription']??'',F['_attributes']=P['attributes']??Object['create'](null),F['_state']=P['state']??{},F['_style']=P['style']??{},F['_options']=P['options'];P['borderRect']&&(F['_borderRect']=new Rectangle(P['borderRect']['x'],P['borderRect']['y'],P['borderRect']['width'],P['borderRect']['height']),F['_contentRect']=F['_borderRect']);if(P['elevation']!==void 0x0)F['_elevation']=P['elevation'];if(P['scrollable'])F['_scrollable']=P['scrollable'];if(P['debugLog'])F['debugLog']=P['debugLog'];return F['_children']=(P['children']??[])['map'](o=>AXNodeView['fromJSON'](l,o,F)),F;}},AXTreeView=class AXTreeView{['_viewport'];['_direction'];['_version'];['_root'];['_hosts']=[];['_popups']=[];['_collected']=[];['_nodeCount']=0x0;['_rtree']=new RTree();['_mapping']=new Map();get['viewport'](){return this['_viewport'];}get['direction'](){return this['_direction'];}get['version'](){return this['_version'];}get['root'](){return this['_root'];}get['nodeCount'](){return this['_nodeCount'];}get['hosts'](){return this['_hosts'];}get['popups'](){return this['_popups'];}get['collected'](){return this['_collected'];}constructor(l){this['_viewport']=l['viewport'],this['_direction']=l['direction'],this['_version']=l['version'];}*['nodes'](){yield*this['_root']['nodes']();}['search'](l){return this['_rtree']['search'](l);}['lca']([l,...P]){return l['lca'](...P);}[Symbol['iterator']](){return this['nodes']();}['findByNode'](l){return this['_mapping']['get'](l);}['toJSON'](){return{'viewport':this['_viewport'],'direction':this['_direction'],'version':this['_version'],'root':this['_root']['toJSON'](),'hosts':this['_hosts']['map'](l=>l['toJSON']()),'popups':this['_popups']['map'](l=>l['toJSON']()),'collected':this['_collected']['map'](l=>l['toJSON']())};}[Symbol['for']('nodejs.util.inspect.custom')](l,P,R){let F='';const o=[this['_root']];while(o['length']>0x0){const z=o['shift']();F+='\x20\x20'['repeat'](z['depth'])+R(z,P)+'\x0a',o['unshift'](...z['children']);}return F;}static['fromJSON'](l){const P=new AXTreeView({'viewport':l['viewport'],'direction':l['direction'],'version':l['version']});P['_root']=AXNodeView['fromJSON'](P,l['root'],null),P['_nodeCount']=0x0;for(const R of P['_root']['nodes']()){P['_nodeCount']++;if(R['type']['text']&&R['rects']['border'])P['_rtree']['insert']({'rect':R['borderRect'],'data':R});}return P['_root']['depth']=0x0,orderSubtree(P['_root']),P;}};function orderSubtree(l){let P=0x0,R=0x0;const F=[{'node':l,'visited':![]}];while(F['length']>0x0){const o=F['at'](-0x1);if(!o['visited']){o['node']['pre']=P++;for(let z=o['node']['children']['length']-0x1;z>=0x0;--z){o['node']['children'][z]['depth']=o['node']['depth']+0x1,F['push']({'node':o['node']['children'][z],'visited':![]});}o['visited']=!![];}else o['node']['post']=R++,F['pop']();}}async function extractAXTree(l,P){let R;if(l instanceof Browser)await l['wait']('stable'),R=await extractWebAXTree(l['activePage'],P);else{if(l instanceof Device)R=await extractMobileAXTree(l);else throw new Error('Can\x27t\x20extract\x20ax\x20tree\x20of\x20unknown\x20automator\x20implementation');}return R['version']??=version$2,R;}async function extractWebAXTree(l,P){const R=performance['now'](),F=P?.['debug']||Boolean(process.env.AX_TREE_DEBUG);await l['wait']('stable');if(isPdfViewerFrame(l['mainFrame'])){const z=await extractPdfFlatAXTree(l['mainFrame']);return log('axTreeExtracted',{'kind':'pdf','durationMs':performance['now']()-R}),z;}const o=await extractWebFlatAXTree(l['mainFrame'],{'debug':F});while(o['unaccessibleHosts']['length']>0x0){const K=o['unaccessibleHosts']['shift']();try{const X=o['nodes'][K],D=await X['node']['getContentFrame']();if(D['isAd']){X['type']['ad']=0x1;continue;}await D['wait']('stable');const a=await extractWebFlatAXTree(D,{'offset':{'index':o['nodes']['length'],'location':{'x':X['contentRect']['x'],'y':X['contentRect']['y']}},'debug':F});a['nodes']['length']>0x0&&(o['nodes']['push'](...a['nodes']),o['unaccessibleHosts']['push'](...a['unaccessibleHosts']),X['children']=[a['offset']['index']]);}catch(G){log('axTreeExtractionAborted',{'error':G});}}return log('axTreeExtracted',{'kind':'ax','durationMs':performance['now']()-R}),o;}async function extractWebFlatAXTree(l,P){return await l['execute'](extractAXTree$1,[P]);}async function extractPdfFlatAXTree(l){return await l['defaultExecute'](extractPdfAXTree,[],{'await':!![]});}async function extractMobileAXTree(l){return l['extractFlatAXTree']();}var AXSnapshot=class{['collectIdentity']=![];['generation']=0x0;['flatAXTree'];['axTree'];['initFlatAXTree'](l){this['flatAXTree']=l,startCollapseLog();}['initAXTree'](l){this['axTree']=l,++this['generation'],flushCollapseLog(this['generation']);}['toJSON'](){return{'generation':this['generation'],'flatTree':this['flatAXTree']?{...this['flatAXTree'],'nodes':this['flatAXTree']['nodes']['map'](({node:l,...P})=>P)}:void 0x0,'axTree':this['axTree']?.['toJSON']()??void 0x0};}};const axSnapshot=new AXSnapshot(),MAX_LOGGED_COLLAPSES=0xc8,MAX_LOGGED_CANDIDATES=0xf,pendingCollapses=[];let collectingCollapses=![],omittedCollapses=0x0;function startCollapseLog(){pendingCollapses['length']=0x0,omittedCollapses=0x0,collectingCollapses=!![];}function flushCollapseLog(l){collectingCollapses=![];if(pendingCollapses['length']===0x0)return;debug('axTreeNodesCollapsed',{'generation':l,'collapses':pendingCollapses['splice'](0x0),...omittedCollapses>0x0?{'omitted':omittedCollapses}:{}});}debugBus['on']('node-collapsed',l=>{if(!collectingCollapses)return;if(pendingCollapses['length']<MAX_LOGGED_COLLAPSES)pendingCollapses['push'](l['payload']);else++omittedCollapses;}),debugBus['on']('prioritized-candidates',l=>{try{const {descriptor:P,candidates:R,prioritizers:F,reason:o}=l['payload'];debug('axCandidatesPrioritized',{'generation':axSnapshot['generation'],'reason':o,'descriptor':projectDescriptor(P),'candidates':projectPrioritizedCandidates(R['slice'](0x0,MAX_LOGGED_CANDIDATES),F),...R['length']>MAX_LOGGED_CANDIDATES?{'omitted':R['length']-MAX_LOGGED_CANDIDATES}:{}});}catch(z){error('findReasoningEmitFailed',{'error':z});}});var AXOps=class{['automator'];['axProvider'];constructor(l,P){this['automator']=l,this['axProvider']=P;}async['extractTree'](){const l=await extractAXTree(this['automator'],{'debug':axSnapshot['collectIdentity']});axSnapshot['initFlatAXTree'](l);const P=await this['axProvider']['makeAXTree'](l);return axSnapshot['initAXTree'](P),P;}async['makeTree'](l){axSnapshot['initFlatAXTree'](l);const P=await this['axProvider']['makeAXTree'](l);return axSnapshot['initAXTree'](P),P;}async['findCandidate'](l,P,R){return this['axProvider']['findAXNode'](l,P,R);}async['findCandidates'](l,P,R){if(!this['axProvider']['findAXNodes'])throw new Error('The\x20configured\x20AXProvider\x20does\x20not\x20support\x20listing\x20all\x20candidates');return this['axProvider']['findAXNodes'](l,P,R);}async['searchCandidates'](l,P,R){const F={'useBackwardCompatibleTypeScore':![],...R},o=await this['findCandidates'](l,P,F);if(!P['title']||!P['type'])return o;const {title:z,...K}=P,X=new Set(o['map'](a=>a['node'])),D=(await this['findCandidates'](l,K,F))['filter'](a=>!X['has'](a['node']));return[...o,...D];}async['describeNode'](l,P){return this['axProvider']['describeAXNode'](l,P);}async['findNode'](l,P){const {stack:R,timeout:timeout=0x0,signal:F,metrics:o}=P,z=this['automator'];bus['dispatch'](new AXNodeSearchStartedEvent({'descriptor':l}));const K=Date['now'](),X=makeWatcher({'signal':F})['resolve'](void 0x0,{'delay':timeout||0x1}),D=makeWatcher({'signal':F})['resolve']();let a,G;if(isSelectorElementDescriptor(l)){if(z instanceof Browser)G=async()=>{if(o)o['findStrategy']='selector';const m=o?.['axTreeExtractionMs']??0x0,N=performance['now'](),E=await this.#findWithSelfHealing(l,{'browser':z,'metrics':o});if(o){const H=performance['now']()-N,t=(o['axTreeExtractionMs']??0x0)-m;o['findElementMs']=(o['findElementMs']??0x0)+(H-t);}return E;};else throw new Error('Can\x27t\x20find\x20ax\x20node\x20using\x20selector\x20description\x20with\x20non-web\x20automator');}else G=async()=>{if(o)o['findStrategy']='columbus';const m=performance['now']();a=await this['extractTree']();o&&(o['axTreeExtractionMs']=(o['axTreeExtractionMs']??0x0)+(performance['now']()-m),o['axTreeExtractionCount']=(o['axTreeExtractionCount']??0x0)+0x1,o['axNodeCount']=a['nodeCount']);const N=performance['now'](),E=await this.#findWithColumbus(l,a);if(o)o['findElementMs']=(o['findElementMs']??0x0)+(performance['now']()-N);return E;};while(X['pending']||D['pending']){const m=await abortable(G(),F);if(m)return log('elementFound',{'node':projectAXNode(m),'descriptor':l}),X['resolve'](),D['resolve'](),R['node'](l,m),bus['dispatch'](new AXNodeSearchFinishedEvent({'descriptor':l,'node':m})),m;a??=await this['extractTree']();if(timeout>0x0){if(isPageSpinnerVisible(a))!D['pending']&&(bus['dispatch'](new StabilizationWaitStartedEvent()),D['reset']()['resolve'](void 0x0,{'delay':0xea60-(Date['now']()-K)})['finally'](()=>bus['dispatch'](new StabilizationWaitFinishedEvent())));else{if(D['pending'])D['resolve']();}}await abortable(V(0x3e8,{'signal':F}),F);}return log('elementNotFound',{'durationMs':Date['now']()-K,'descriptor':l,'loadingPending':D['pending']}),X['resolve'](),D['resolve'](),bus['dispatch'](new AXNodeSearchFinishedEvent({'descriptor':l})),null;}async #findWithColumbus(l,P){let R=l;while(R){const F=await this['axProvider']['findAXNode'](P,R,{'debug':{'reason':'find-element'}});if(F)return F['node'];R=R['fallback'];}return null;}async #findWithSelfHealing(l,{browser:P,metrics:R}){const F=P['activePage'],o=P['driver'];await o['switchTo']()['window'](F['targetId']);const z=[[]];for(let X=0x0;X<z['length'];++X){const D=z[X-0x1]??[],a=z[X],G=D['findIndex']((N,E)=>N['element']!==a[E]['element']);if(G>=0x0){for(const N of D['slice'](G))await o['switchTo']()['parentFrame']();for(const {element:E}of a['slice'](G))await o['switchTo']()['frame'](E);}else{for(const {element:H}of a['slice'](D['length']))await o['switchTo']()['frame'](H);}const m=await K(l);if(m){const t=await o['executeScript']('return\x20'+isElementAcceptableInvisible['source']+'(arguments[0])',m);if(await o['executeScript']((k,O)=>{const {width:i,height:q}=k['getBoundingClientRect']();if(O||i!==0x0||q!==0x0)return k['setAttribute']('data-webdriver-element-mark',''),!![];return![];},m,t)){let k=F['mainFrame'];for(const {index:c}of a)k=await(await k['execute'](n=>document['querySelectorAll']('iframe')[n],[c]))['getContentFrame']();const O=await k['execute'](()=>{const n=[document];for(const C of n){const Z=C['querySelector']('[data-webdriver-element-mark]');if(Z){Z['removeAttribute']('data-webdriver-element-mark');if(Z instanceof SVGElement){let w=Z;while(w['viewportElement'])w=w['viewportElement'];return w;}return Z;}Array['from'](C['querySelectorAll']('*'))['forEach'](I=>{if(I['shadowRoot'])n['push'](I['shadowRoot']);});}throw new Error('Cannot\x20re-find\x20element\x20that\x20was\x20marked\x20using\x20webdriver');}),i=performance['now'](),q=await this['extractTree']();R&&(R['axTreeExtractionMs']=(R['axTreeExtractionMs']??0x0)+(performance['now']()-i),R['axTreeExtractionCount']=(R['axTreeExtractionCount']??0x0)+0x1,R['axNodeCount']=q['nodeCount']);const T=await O['normalize']();let B;I:for(const n of q['nodes']())for(const C of n['incorporated'])if(await C['equal'](T)){B=n;break I;}if(B){const [Z,w]=await Promise['all']([B['node']['getNodeId'](),O['getNodeId']()]);if(Z!==w)return log('axNodeViewMismatch',{'descriptor':l}),new Proxy(B,{'get'(I,W){if(W==='node')return O;return Reflect['get'](I,W);}});else return B;}return null;}}(await o['executeScript'](()=>{return Array['from'](document['querySelectorAll']('iframe'))['reduce']((I,W,e)=>{const {width:v,height:Y}=W['getBoundingClientRect']();if(v>0x0&&Y>0x0)I['push']({'element':W,'index':e});return I;},[]);}))['forEach'](I=>z['push']([...a,I]));}return null;async function K(I){const [W,...e]=I['selector']['selector']['split']('>>>')['map'](Y=>Y['trim']());let v;if(!W)throw new Error('Selector\x20cannot\x20be\x20empty');v=await o['findElement']({[I['selector']['type']]:W})['catch'](()=>null);if(!v)return null;for(const Y of e){if(/(?:\.\.\/|\.\/|\*\/|\/|\()/['test'](Y))throw new Error('Only\x20CSS\x20selectors\x20are\x20supported\x20after\x20the\x20first\x20segment\x20(after\x20>>>)');v=await v['getShadowRoot']()['then'](async J=>J['findElement']({'css':Y}))['catch'](()=>null);if(!v)return null;}return v;}}},version$1='5.8.1',version='5.8.1';async function makeRunner(l){if(l['logger'])eventLogger['downstream']=l['logger'];if(l['automator'])return new Runner({...l,'automator':l['automator']});else{if(l['browser'])return new Runner({...l,'automator':l['browser']});else{if(l['debuggerAddress']){const P=await makeBrowser({'debuggerAddress':l['debuggerAddress'],'driver':l['driver']});return new Runner({...l,'automator':P});}else{if(l['driver']){const R=await makeBrowser({'driver':l['driver']});return new Runner({...l,'automator':R});}}}}}var Runner=class extends EventTargetNode{#automator;#context;#statuses=[];#shouldRunPreinstructions=!![];#pdfInterceptorInstalled;get['__context'](){return this.#context;}get['automator'](){return this.#automator;}get['flags'](){return flags['toJSON']();}get['browser'](){return this.#automator instanceof Browser?this.#automator:void 0x0;}get['parameters'](){return this.#context['scope']['main']['input'];}set['parameters'](l){this.#context['scope']['main']['input']=Object['fromEntries'](Object['entries'](l)['map'](([P,R])=>[P['toLowerCase'](),R]));}get['variables'](){return this.#context['scope']['public'];}set['variables'](l){this.#context['scope']['active']['public']=Object['fromEntries'](Object['entries'](l)['map'](([P,R])=>[P['toLowerCase'](),R]));}get['status'](){return this.#statuses[0x0];}constructor(l){super(),this.#automator=l['automator'];if(l['flags'])flags['set'](l['flags']);this.#context={'axOps':new AXOps(l['automator'],l['axProvider']),'scope':makeScope({'global':this['browser']?{'page':{'value':makePageData({'browser':this['browser']})},'pdf':makePdfData({'browser':this['browser']})}:{},'input':Object['fromEntries'](Object['entries'](l['parameters']??{})['map'](([P,R])=>[P['toLowerCase'](),R])),'public':{},'internal':{...Object['fromEntries'](Object['entries'](l['timeouts']??{})['map'](([P,R])=>[P,{'value':R}])),...l['shouldSkipInitialNavigationInNestedScope']!==void 0x0?{'shouldSkipInitialNavigationInNestedScope':{'value':l['shouldSkipInitialNavigationInNestedScope']}}:{},...l['shouldSkipAssertionsInNestedScope']!==void 0x0?{'shouldSkipAssertionsInNestedScope':{'value':l['shouldSkipAssertionsInNestedScope']}}:{}}}),'actions':{...l['actions']},'dispatcher':makeDispatcher({'proxy':l['proxy']}),'preinstructions':[]};if(l['shouldHideFilepickerDialogs'])this['browser']['hideFilepickers'](!![]);this['browser']&&(this.#pdfInterceptorInstalled=installPdfInterceptor(this['browser'])['catch'](P=>{error('pdfInterceptorInstallFailed',{'error':P});}),this['browser']['on']('stabilizingNavigation',({done:P})=>bus['dispatch'](P?new NavigationWaitFinishedEvent():new NavigationWaitStartedEvent())),this['browser']['on']('stabilizingLoad',({done:P})=>bus['dispatch'](P?new LoadWaitFinishedEvent():new LoadWaitStartedEvent())),this['browser']['on']('stabilizingOutgoingRequests',({done:P})=>bus['dispatch'](P?new OutgoingRequestsWaitFinishedEvent():new OutgoingRequestsWaitStartedEvent()))),this['on']('listenerAdded',async({event:P,count:R})=>{if(P==='filepickerDialogRequested'&&R===0x1)try{const F=await this['browser']?.['filepicker'](async o=>{this['dispatch'](new RunnerFilepickerDialogRequestedEvent(o));});this['on']('listenerRemoved',({event:o,count:z})=>{if(o==='filepickerDialogRequested'&&z===0x0)F();});}catch(o){log('filepickerAutoSetupFailed',{'error':o});}}),bus['on']('log',P=>P['component']==='runner'&&this['dispatch'](P['clone']())),bus['on']('progress',P=>{const R=this['status'];if(P['done']){this.#statuses['splice'](this.#statuses['indexOf'](P['status']),0x1);if(P['status']==='searchingForElement'&&P['node'])this['dispatch'](new RunnerAXNodeFoundEvent(P['node']));}else this.#statuses['unshift'](P['status']);if(this['status']&&R!==this['status'])this['dispatch'](new RunnerStatusChangedEvent({'previousStatus':R,'status':this['status']}));});}async['run'](l,P={}){let R;if(typeof l==='string'){const [X]=parseText(l);if(X['error']){const D={'references':new Map(),'extractors':new Map(),'operands':new Map()};return{'status':'error','error':X['error']['message']??'Failed\x20to\x20parse\x20instruction:\x20'+X['text'],'code':ErrorCode['MESSAGE_PARSING'],'meta':{'pos':X['error']['pos'],'text':X['error']['text']},'results':[],'values':D};}R=X['result'];}else{if(Array['isArray'](l))R=l;else R=unseal(l);}!P['runningPreinstructions']&&(this.#statuses=[],this.#shouldRunPreinstructions=!![]);if(this.#pdfInterceptorInstalled)await this.#pdfInterceptorInstalled;const F=Date['now']();log('runStarted',{'runnerVersion':version$1,'parserVersion':version,'nodeVersion':process['version']}),log('instructionExecutionStarted',{'instructions':R,'stepIndex':P['stepIndex']}),bus['dispatch'](new InstructionExecutionStartedEvent({'preStep':P['runningPreinstructions']}));const o=[],z={'references':new Map(),'extractors':new Map(),'operands':new Map()},K=R['map'](a=>({'instruction':a,'shouldFailOnError':!![]}));while(K['length']>0x0){const {instruction:a,shouldFailOnError:G}=K['shift'](),m=Date['now']();log('subinstructionExecutionStarted',{'instruction':a,'correlationId':P['correlationId']});const N=await this['handle'](a,P);debug('instructionResultHandled',{'status':N['status'],'code':N['status']==='error'?N['code']:void 0x0}),o['push'](N);if(N['status']==='tried')K['unshift'](...N['meta']['next']['map'](H=>({'instruction':H,'shouldFailOnError':![]})));else{if(N['status']==='preinstructions\x20defined')this.#context['preinstructions']=N['meta']['preinstructions'];else{if(N['status']==='condition\x20evaluated'){if(N['meta']['next'])K['unshift'](...N['meta']['next']['map'](H=>({'instruction':H,'shouldFailOnError':!![]})));}}}const E=Date['now']();log('subinstructionExecutionFinished',{'instruction':a,'duration':E-m,'status':N['status'],'errorcode':N['status']==='error'?N['code']:void 0x0,'metrics':N['metrics']});N['status']!=='skipped'&&(N['values']['references']['forEach']((H,t)=>z['references']['set'](t,H)),N['values']['extractors']['forEach']((H,t)=>z['extractors']['set'](t,H)),N['values']['operands']['forEach']((H,t)=>z['operands']['set'](t,H)));if(N['status']==='error'){if(!G)break;return log('instructionExecutionFinished',{'instructions':R,'duration':E-F,'status':N['status'],'errorcode':N['code']}),bus['dispatch'](new InstructionExecutionFinishedEvent({'preStep':P['runningPreinstructions']})),{'status':'error','error':N['error'],'code':N['code'],'meta':N['meta'],'results':o,'values':z};}else{if(N['status']==='aborted')return log('instructionExecutionFinished',{'instructions':R,'duration':E-F,'status':N['status']}),bus['dispatch'](new InstructionExecutionFinishedEvent({'preStep':P['runningPreinstructions']})),{'status':'aborted','results':o,'values':z};}}return log('instructionExecutionFinished',{'instructions':R,'duration':Date['now']()-F,'status':'success'}),bus['dispatch'](new InstructionExecutionFinishedEvent({'preStep':P['runningPreinstructions']})),{'status':'success','results':o,'values':z};}async['handle'](l,P={}){if(this.#context['scope']['active']['parent']){const R=this.#context['scope']['internal']['shouldSkipAssertionsInNestedScope']?.['value'],F=this.#context['scope']['internal']['forceRunningAssertions']?.['value'];if(R&&F!=='all'){if(l['type']==='assert'){if(!F||F!=='nonvisual')return{'status':'skipped'};}else{if(l['type']==='visual\x20check'){if(!F||F!=='visual')return{'status':'skipped'};}}}const o=this.#context['scope']['internal']['shouldSkipInitialNavigationInNestedScope']?.['value'],z=this.#context['scope']['internal']['forceRunningNavigation']?.['value'];if(P['stepIndex']===0x0&&o&&z!=='all'){if(l['type']==='navigate')return{'status':'skipped'};}}return!l['type']['includes']('preinstruction')&&this.#shouldRunPreinstructions&&this.#context['preinstructions']['length']>0x0&&!P['runningPreinstructions']&&(await this['run'](this.#context['preinstructions'],{'runningPreinstructions':!![]}),this.#shouldRunPreinstructions=![]),await makeHandler({'automator':this.#automator,'context':this.#context,'instruction':l,...P})['run']();}async['find'](l,P={}){let R;if(typeof l==='string'){const {result:K,error:X}=parseElementFragment(l);if(X||!K)throw new RunnerError('Failed\x20to\x20parse\x20element\x20descriptor:\x20'+l,{'code':ErrorCode['MESSAGE_PARSING']});R=K;}else R=l;const F=P['timeout']??this.#context['scope']['internal']['findTimeout']?.['value']??this.#context['scope']['internal']['timeout']?.['value']??0x2710,o=makeValuesStack();await this.#automator['stabilize']('strict',{'signal':P['signal'],'timeout':F});const z=await evaluateExpression(R,{'context':this.#context,'stack':o,'automator':this.#automator,'timeout':F,'signal':P['signal']});return(await this.#context['axOps']['findNode'](z,{'stack':o,'timeout':F,'signal':P['signal']}))?.['node']??null;}async['setScope'](...l){this.#context['scope']['activate']('main');for(const P of l){if(!this.#context['scope']['available'](P))this.#context['scope']['set'](P,{'input':{},'public':{},'internal':{}});this.#context['scope']['activate'](P);}}async['resetScope'](){this.#context['scope']['reset']();}async['dispose'](){if(this.#pdfInterceptorInstalled){const l=await this.#pdfInterceptorInstalled;this.#pdfInterceptorInstalled=void 0x0,l?.();}}async[Symbol['asyncDispose']](){return this['dispose']();}},RunnerAXNodeFoundEvent=class extends Event{['node'];constructor(l,P){super('nodeFound',P),this['node']=l;}},RunnerFilepickerDialogRequestedEvent=class extends Event{['dialog'];['frame'];['element'];['multiple'];['accept'];constructor(l){super('filepickerDialogRequested'),this['dialog']=l,this['frame']=l['frame'],this['element']=l['element'],this['multiple']=l['multiple'],this['accept']=l['accept'];}async['files'](l){const P=[],R=[];for(const F of l){let o,z;if(typeof F==='string')o=F;else o=F['path'],z=F['alias'];P['push'](o),R['push'](z??basename(o));}await this['dialog']['element']['execute']((K,X)=>K['dataset']['nlpFileAliases']=JSON['stringify'](X),[R]),await this['dialog']['handle'](P);}async['close'](){}},RunnerStatusChangedEvent=class extends Event{['previousStatus'];['status'];constructor({previousStatus:l,status:P}){super('statusChanged'),this['previousStatus']=l,this['status']=P;}},spec_driver_exports=p({'childContext':()=>childContext,'executeBrowserCommands':()=>executeBrowserCommands,'executeScript':()=>executeScript,'extractContext':()=>extractContext,'findElement':()=>findElement,'findElements':()=>findElements,'getCookies':()=>getCookies,'getDriverInfo':()=>getDriverInfo,'getTitle':()=>getTitle,'getUrl':()=>getUrl,'getViewportSize':()=>getViewportSize,'isContext':()=>isContext,'isDriver':()=>isDriver,'isElement':()=>isElement,'isSelector':()=>isSelector,'isStaleElementError':()=>isStaleElementError,'mainContext':()=>mainContext,'parentContext':()=>parentContext,'setViewportSize':()=>setViewportSize,'takeScreenshot':()=>takeScreenshot,'toSelector':()=>toSelector,'toSimpleCommonSelector':()=>toSimpleCommonSelector,'visit':()=>visit});function transformArgument(l){const P=[];return[R(l),...P];function R(F){if(isElement(F))return P['push'](F),{'isElement':!![]};else{if(Array['isArray'](F))return F['map'](R);else{if(F&&typeof F==='object')return Object['entries'](F)['reduce']((o,[z,K])=>{return Object['assign'](o,{[z]:R(K)});},{});else return F;}}}}function scriptRunner(l,P,...R){return new Function(l['startsWith']('function')?'return\x20('+l+').apply(null,\x20arguments)':l)(F(P));function F(o){if(!o)return o;else{if(o['isElement'])return R['shift']();else{if(Array['isArray'](o))return o['map'](F);else{if(typeof o==='object')return Object['entries'](o)['reduce']((z,[K,X])=>{return Object['assign'](z,{[K]:F(X)});},{});else return o;}}}}}const SELECTOR_PREFIXES=['/','(','../','./','*/'];function isXpathSelector(l){return SELECTOR_PREFIXES['some'](P=>l['startsWith'](P));}function isDriver(l){if(!l)return![];return l instanceof Target;}function isContext(l){if(!l)return![];return l instanceof Frame;}function isElement(l){if(!l)return![];return l instanceof WebNode;}function isSelector(l){return typeof l==='string';}function isStaleElementError(l){return l?.['constructor']?.['name']==='StaleNodeError'||l?.['constructor']?.['name']==='StaleRemoteObjectHandleError';}function toSelector(l){if(l&&typeof l==='object'&&'selector'in l)return l['selector'];return l;}function toSimpleCommonSelector(l){if(typeof l==='string')return{'type':isXpathSelector(l)?'xpath':'css','selector':l};return l;}function extractContext(l){return isDriver(l)?l['mainFrame']:l;}async function executeScript(l,P,R){return P=typeof P==='string'?P:'function()\x20{return\x20('+P['toString']()+').apply(null,\x20arguments)}',await l['execute'](scriptRunner,[P,...transformArgument(R)]);}async function findElement(l,P,R){return(R??l)['$'](P);}async function findElements(l,P,R){return(R??l)['$$'](P);}async function mainContext(l){let P=l;while(P['parent'])P=P['parent'];return P;}async function parentContext(l){return l['parent']??l;}async function childContext(l,P){const R=await P['getContentFrame']();return await R['evaluate']('true'),R;}async function getDriverInfo(l){return{'features':{'allCookies':!![]}};}async function getViewportSize(l){return l['getViewportSize']();}async function setViewportSize(l,P){await l['emulate']({'viewport':P});}async function getCookies(l){return(await l['browser']['getCookies']())['map'](P=>{const R={...P,'expiry':P['expires']};return delete R['expires'],delete R['size'],delete R['priority'],delete R['session'],delete R['sourceScheme'],delete R['sourcePort'],R;});}async function getTitle(l){return l['title'];}async function getUrl(l){return l['url'];}async function visit(l,P){await l['navigate'](P);}async function takeScreenshot(l){const P=await l['captureScreenshot']();return Buffer['from'](P,'base64');}async function executeBrowserCommands(l,P){let R;for(const F of P)R=await l['connection']['execute'](F['command'],F['params']);return R;}var RemoteAXProvider=class{async['makeAXTree'](l){const {tree:P,refs:R}=await this['_rqMakeAXTree'](l),F=AXTreeView['fromJSON'](P),o=[...F['root']['nodes']()];for(let z=0x0;z<o['length'];z++)o[z]['incorporated']['push'](...R[z]??[]);return F;}async['describeAXNode'](l,P){const R=await this['_rqDescribeAXNode'](l,P);if(!R)return void 0x0;const {nodeIndex:F,...o}=R;if(F===void 0x0)return o;const z=[...l['root']['nodes']()];return{...o,'node':z[F]};}async['findAXNode'](l,P,R){const F=[...l],o=await this['_rqFindAXNode'](F,P,R);if(!o)return null;const {nodeIndex:z,...K}=o;return{...K,'node':F[z]};}},HttpRemoteAXProvider=class extends RemoteAXProvider{#baseUrl;#getAuthToken;#fetch;constructor(l){super(),this.#baseUrl=new URL(l['url']);if(!this.#baseUrl['pathname']['endsWith']('/'))this.#baseUrl['pathname']+='/';this.#getAuthToken=l['getAuthToken'],this.#fetch=l['fetch']??defaultAXServerFetch;}async['_rqMakeAXTree'](l){const P=l['nodes']['map'](z=>z['node']),R={...l,'nodes':l['nodes']['map']((z,K)=>({...z,'node':K}))},{tree:F,refs:o}=await this.#authPost('make-ax-tree',{'flat':R});return{'tree':F,'refs':o['map'](z=>z['map'](K=>P[K]))};}async['_rqDescribeAXNode'](l,P){const R=[...l['root']['nodes']()];return this.#authPost('describe-ax-node',{'tree':l['toJSON'](),'query':serializeQuery(P,R)});}async['_rqFindAXNode'](l,P,R){const [F]=l;if(!F)return null;return this.#authPost('find-ax-node',{'tree':F['tree']['toJSON'](),'descriptor':P,'options':R?.['limit']!==void 0x0||R?.['debug']?.['reason']?{'limit':R['limit'],'debug':R['debug']}:void 0x0});}async #authPost(l,P){const R=await this.#getAuthToken(),F=await(await this.#fetch({'url':new URL(l,this.#baseUrl)['href'],'method':'POST','token':R,'body':P}))['json']();if(!F['ok']){const o=new Error(F['error']['message']);o['code']=F['error']['code'],o['reason']=F['error']['reason'];throw o;}return F['data'];}};function defaultAXServerFetch({url:l,method:P,token:R,body:F}){return fetch(l,{'method':P,'headers':{'content-type':'application/json','authorization':'Bearer\x20'+R},'body':JSON['stringify'](F)});}function serializeQuery(l,P){const R=l['anchor']?{...l['anchor'],'element':l['anchor']['element']?serializeQuery(l['anchor']['element'],P):void 0x0}:void 0x0;return{...l,'node':P['indexOf'](l['node']),'anchor':R};}export{AbortError,AutomatorError,BlockingDialog,BodyConsumedError,Browser,BrowserActivePageChangedEvent,BrowserDisconnectedEvent,BrowserPageClosedEvent,BrowserPageCreatedEvent,BrowserPageNavigatedEvent,BrowserStabilizingLoadEvent,BrowserStabilizingNavigationEvent,BrowserStabilizingOutgoingRequestsEvent,BrowserTargetCrashedEvent,BrowserTargetCreatedEvent,BrowserWindowCreatedEvent,Connection,Debugger,DebuggerPausedEvent,DebuggerResumedEvent,DialogHandledEvent,Evaluator,EvaluatorDestroyedEvent,EvaluatorLogEvent,Expression,FilepickerDialog,FlagChangedEvent,FlushError,Frame,FrameDestroyedEvent,FrameDocumentRequestEvent,FrameDocumentResponseEvent,FrameEvaluatorAttached,FrameFetchError,FrameLifecycleEvent,FrameNavigatedEvent,FrameNavigatingEvent,FrameSwappedEvent,FrameSwappingEvent,HarRecorder,HarRecorderStatsChangedEvent,HttpRemoteAXProvider,Injection,InjectionEvaluatorAttachedEvent,InjectionIncommingMessageEvent,InjectionOutgoingMessageEvent,InjectionTargetAttachedEvent,Intercepted,InterceptedRequest,InterceptedResponse,Keyboard,Loader,LoaderRequestEvent,LoaderResponseEvent,Mouse,NavigationFailedError,NavigationTimedOutError,NoHistoryEntryError,Port,PortIncommingMessageEvent,PortOutgoingMessageEvent,RemoteAXProvider,RemoteFunctionHandle,RemoteObjectHandle,Runner,RunnerAXNodeFoundEvent,RunnerFilepickerDialogRequestedEvent,RunnerStatusChangedEvent,Script,StaleNodeError,StaleRemoteObjectHandleError,StylesheetHandle,Target,TargetActivatedEvent,TargetActivatingEvent,TargetAttachedEvent,TargetChangedEvent,TargetChildTargetCreatingEvent,TargetClosedEvent,TargetDetachedEvent,TargetDialogEvent,TargetElementSelectedEvent,TargetFilepickerDialogEvent,TargetFrameAttachedEvent,TargetFrameTargetCreatedEvent,TargetMainFrameReadyEvent,TargetNavigatedEvent,TargetVisibilityChangeEvent,UnresponsiveTargetError,WebNode,Window,WindowDestroyedEvent,WindowTargetAttachedEvent,WindowTargetDetachedEvent,flags,isElementAcceptableInvisible,localizeRemoteValue,makeBlockingDialog,makeBrowser,makeBundledExpression,makeBundledScript,makeConnection,makeDebugger,makeEvaluator,makeExpression,makeFilepickerDialog,makeFrame,makeInjection,makeIntercepted,makeInterceptedRequest,makeInterceptedResponse,makeInterceptionPatternMatcher,makeKeyboard,makeLoader,makeMouse,makePort,makeRunner,makeScript,makeTarget,makeWebNode,makeWindow,provideRolldownConfig,spec_driver_exports as spec,toCDPPattern};
|