shiplightai 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentHelpers-MOO2YPML.js +3 -0
- package/dist/{agentLogin-U7QWF4AY.js → agentLogin-2SSRFZ2U.js} +1 -1
- package/dist/{chunk-HECRJRKW.js → chunk-4JBGAENP.js} +9 -9
- package/dist/{chunk-LZ2F7OA3.js → chunk-ESJGKHJ4.js} +5 -5
- package/dist/chunk-JY6U4L7Q.js +216 -0
- package/dist/{chunk-JNVFLK5Q.js → chunk-NDYQF4WM.js} +5 -5
- package/dist/chunk-QU5HYOUM.js +5 -0
- package/dist/chunk-SGXLY5OU.js +33 -0
- package/dist/chunk-SUZXLRAA.js +18 -0
- package/dist/{chunk-OM5W5GBC.js → chunk-VXL4KP4U.js} +31 -28
- package/dist/cjs/debugger-pw.cjs +7 -0
- package/dist/cjs/fixture.cjs +236 -258
- package/dist/cjs/index.cjs +230 -252
- package/dist/cli.js +1027 -1683
- package/dist/copilot-7JTVJQXP.js +5 -0
- package/dist/debugger-pw.d.ts +145 -0
- package/dist/debugger-pw.js +3 -0
- package/dist/dist-HN2P3FRX.js +14 -0
- package/dist/dist-OOFTSMK3.js +3 -0
- package/dist/dist-WQ66EMT6.js +3 -0
- package/dist/fixture.js +1 -1
- package/dist/{handler-YM2CNJMM.js → handler-XD2P4DE3.js} +1 -1
- package/dist/index.js +11 -11
- package/dist/intRunner-5A6M6JSJ.js +7 -0
- package/dist/{multipart-parser-IEIT2KXO.js → multipart-parser-KQFLHJKK.js} +1 -1
- package/dist/src-CXU6MEQY.js +5 -0
- package/dist/{task-SZERT63E.js → task-7OWMRRUU.js} +1 -1
- package/dist/testFlow-OQWWSEQT.js +3 -0
- package/package.json +7 -1
- package/dist/agentHelpers-YAPGMNDU.js +0 -3
- package/dist/chunk-5OEE46TI.js +0 -230
- package/dist/chunk-A2VNNKWB.js +0 -18
- package/dist/chunk-CYBAFQLF.js +0 -5
- package/dist/chunk-IMX7PO3X.js +0 -18
- package/dist/chunk-STSHJEMG.js +0 -3
- package/dist/chunk-SWUSVR2K.js +0 -30
- package/dist/chunk-Y2QWBQXE.js +0 -8
- package/dist/dist-5LVWKFH4.js +0 -3
- package/dist/dist-DAIQ7AOS.js +0 -14
- package/dist/dist-IH5NPMQ7.js +0 -3
- package/dist/fileFromPath-ROF7A3FH.js +0 -3
- package/dist/src-2RQUBO3W.js +0 -5
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from "module";
|
|
2
|
+
const require = __createRequire(import.meta.url);
|
|
3
|
+
import{a as wt,b as Ct,c as mr,d as $n}from"./chunk-CSINHOOD.js";var Qn=mr((Tt,Nn)=>{"use strict";(function(f,s){typeof Tt=="object"&&typeof Nn<"u"?s(Tt):typeof define=="function"&&define.amd?define(["exports"],s):(f=typeof globalThis<"u"?globalThis:f||self,s(f.WebStreamsPolyfill={}))})(Tt,function(f){"use strict";function s(){}function l(e){return typeof e=="object"&&e!==null||typeof e=="function"}let b=s;function d(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}let R=Promise,C=Promise.prototype.then,ue=Promise.reject.bind(R);function P(e){return new R(e)}function S(e){return P(t=>t(e))}function c(e){return ue(e)}function W(e,t,r){return C.call(e,t,r)}function v(e,t,r){W(W(e,t,r),void 0,b)}function M(e,t){v(e,t)}function N(e,t){v(e,void 0,t)}function Q(e,t,r){return W(e,t,r)}function we(e){W(e,void 0,b)}let fe=e=>{if(typeof queueMicrotask=="function")fe=queueMicrotask;else{let t=S(void 0);fe=r=>W(t,r)}return fe(e)};function de(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function J(e,t,r){try{return S(de(e,t,r))}catch(n){return c(n)}}let Rr=16384;class k{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===Rr-1&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,o=n+1,a=t._elements,i=a[n];return o===Rr&&(r=t._next,o=0),--this._size,this._cursor=o,t!==r&&(this._front=r),a[n]=void 0,i}forEach(t){let r=this._cursor,n=this._front,o=n._elements;for(;(r!==o.length||n._next!==void 0)&&!(r===o.length&&(n=n._next,o=n._elements,r=0,o.length===0));)t(o[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}}let wr=Symbol("[[AbortSteps]]"),Cr=Symbol("[[ErrorSteps]]"),qt=Symbol("[[CancelSteps]]"),At=Symbol("[[PullSteps]]"),Wt=Symbol("[[ReleaseSteps]]");function Tr(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?kt(e):t._state==="closed"?to(e):Pr(e,t._storedError)}function Bt(e,t){let r=e._ownerReadableStream;return j(r,t)}function U(e){let t=e._ownerReadableStream;t._state==="readable"?Ot(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):ro(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[Wt](),t._reader=void 0,e._ownerReadableStream=void 0}function Ve(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function kt(e){e._closedPromise=P((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Pr(e,t){kt(e),Ot(e,t)}function to(e){kt(e),vr(e)}function Ot(e,t){e._closedPromise_reject!==void 0&&(we(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function ro(e,t){Pr(e,t)}function vr(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}let Er=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},no=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function oo(e){return typeof e=="object"||typeof e=="function"}function L(e,t){if(e!==void 0&&!oo(e))throw new TypeError(`${t} is not an object.`)}function O(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function ao(e){return typeof e=="object"&&e!==null||typeof e=="function"}function qr(e,t){if(!ao(e))throw new TypeError(`${t} is not an object.`)}function Y(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function Ft(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function zt(e){return Number(e)}function Ar(e){return e===0?0:e}function io(e){return Ar(no(e))}function It(e,t){let n=Number.MAX_SAFE_INTEGER,o=Number(e);if(o=Ar(o),!Er(o))throw new TypeError(`${t} is not a finite number`);if(o=io(o),o<0||o>n)throw new TypeError(`${t} is outside the accepted range of 0 to ${n}, inclusive`);return!Er(o)||o===0?0:o}function jt(e,t){if(!ae(e))throw new TypeError(`${t} is not a ReadableStream.`)}function Ce(e){return new K(e)}function Wr(e,t){e._reader._readRequests.push(t)}function Dt(e,t,r){let o=e._reader._readRequests.shift();r?o._closeSteps():o._chunkSteps(t)}function He(e){return e._reader._readRequests.length}function Br(e){let t=e._reader;return!(t===void 0||!ee(t))}class K{constructor(t){if(Y(t,1,"ReadableStreamDefaultReader"),jt(t,"First parameter"),ie(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Tr(this,t),this._readRequests=new k}get closed(){return ee(this)?this._closedPromise:c(Ge("closed"))}cancel(t=void 0){return ee(this)?this._ownerReadableStream===void 0?c(Ve("cancel")):Bt(this,t):c(Ge("cancel"))}read(){if(!ee(this))return c(Ge("read"));if(this._ownerReadableStream===void 0)return c(Ve("read from"));let t,r,n=P((a,i)=>{t=a,r=i});return ze(this,{_chunkSteps:a=>t({value:a,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:a=>r(a)}),n}releaseLock(){if(!ee(this))throw Ge("releaseLock");this._ownerReadableStream!==void 0&&so(this)}}Object.defineProperties(K.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),d(K.prototype.cancel,"cancel"),d(K.prototype.read,"read"),d(K.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(K.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function ee(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readRequests")?!1:e instanceof K}function ze(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[At](t)}function so(e){U(e);let t=new TypeError("Reader was released");kr(e,t)}function kr(e,t){let r=e._readRequests;e._readRequests=new k,r.forEach(n=>{n._errorSteps(t)})}function Ge(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let lo=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Or{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Q(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Q(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader,r,n,o=P((i,u)=>{r=i,n=u});return ze(t,{_chunkSteps:i=>{this._ongoingPromise=void 0,fe(()=>r({value:i,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,U(t),r({value:void 0,done:!0})},_errorSteps:i=>{this._ongoingPromise=void 0,this._isFinished=!0,U(t),n(i)}}),o}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(!this._preventCancel){let n=Bt(r,t);return U(r),Q(n,()=>({value:t,done:!0}))}return U(r),S({value:t,done:!0})}}let Fr={next(){return zr(this)?this._asyncIteratorImpl.next():c(Ir("next"))},return(e){return zr(this)?this._asyncIteratorImpl.return(e):c(Ir("return"))}};Object.setPrototypeOf(Fr,lo);function uo(e,t){let r=Ce(e),n=new Or(r,t),o=Object.create(Fr);return o._asyncIteratorImpl=n,o}function zr(e){if(!l(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Or}catch{return!1}}function Ir(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}let jr=Number.isNaN||function(e){return e!==e};var Mt,Lt,$t;function Ie(e){return e.slice()}function Dr(e,t,r,n,o){new Uint8Array(e).set(new Uint8Array(r,n,o),t)}let V=e=>(typeof e.transfer=="function"?V=t=>t.transfer():typeof structuredClone=="function"?V=t=>structuredClone(t,{transfer:[t]}):V=t=>t,V(e)),te=e=>(typeof e.detached=="boolean"?te=t=>t.detached:te=t=>t.byteLength===0,te(e));function Mr(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,o=new ArrayBuffer(n);return Dr(o,0,e,t,n),o}function xe(e,t){let r=e[t];if(r!=null){if(typeof r!="function")throw new TypeError(`${String(t)} is not a function`);return r}}function fo(e){let t={[Symbol.iterator]:()=>e.iterator},r=async function*(){return yield*t}(),n=r.next;return{iterator:r,nextMethod:n,done:!1}}let Nt=($t=(Mt=Symbol.asyncIterator)!==null&&Mt!==void 0?Mt:(Lt=Symbol.for)===null||Lt===void 0?void 0:Lt.call(Symbol,"Symbol.asyncIterator"))!==null&&$t!==void 0?$t:"@@asyncIterator";function Lr(e,t="sync",r){if(r===void 0)if(t==="async"){if(r=xe(e,Nt),r===void 0){let a=xe(e,Symbol.iterator),i=Lr(e,"sync",a);return fo(i)}}else r=xe(e,Symbol.iterator);if(r===void 0)throw new TypeError("The object is not iterable");let n=de(r,e,[]);if(!l(n))throw new TypeError("The iterator method must return an object");let o=n.next;return{iterator:n,nextMethod:o,done:!1}}function co(e){let t=de(e.nextMethod,e.iterator,[]);if(!l(t))throw new TypeError("The iterator.next() method must return an object");return t}function ho(e){return!!e.done}function bo(e){return e.value}function mo(e){return!(typeof e!="number"||jr(e)||e<0)}function $r(e){let t=Mr(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function Qt(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function Ut(e,t,r){if(!mo(r)||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function po(e){return e._queue.peek().value}function re(e){e._queue=new k,e._queueTotalSize=0}function Nr(e){return e===DataView}function yo(e){return Nr(e.constructor)}function _o(e){return Nr(e)?1:e.BYTES_PER_ELEMENT}class ce{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Yt(this))throw Zt("view");return this._view}respond(t){if(!Yt(this))throw Zt("respond");if(Y(t,1,"respond"),t=It(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(te(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ke(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!Yt(this))throw Zt("respondWithNewView");if(Y(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(te(t.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");et(this._associatedReadableByteStreamController,t)}}Object.defineProperties(ce.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),d(ce.prototype.respond,"respond"),d(ce.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ce.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class H{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!he(this))throw De("byobRequest");return xt(this)}get desiredSize(){if(!he(this))throw De("desiredSize");return Jr(this)}close(){if(!he(this))throw De("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);je(this)}enqueue(t){if(!he(this))throw De("enqueue");if(Y(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Je(this,t)}error(t=void 0){if(!he(this))throw De("error");F(this,t)}[qt](t){Qr(this),re(this);let r=this._cancelAlgorithm(t);return Xe(this),r}[At](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0){Xr(this,t);return}let n=this._autoAllocateChunkSize;if(n!==void 0){let o;try{o=new ArrayBuffer(n)}catch(i){t._errorSteps(i);return}let a={buffer:o,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}Wr(r,t),be(this)}[Wt](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new k,this._pendingPullIntos.push(t)}}}Object.defineProperties(H.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),d(H.prototype.close,"close"),d(H.prototype.enqueue,"enqueue"),d(H.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function he(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")?!1:e instanceof H}function Yt(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")?!1:e instanceof ce}function be(e){if(!Co(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();v(r,()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,be(e)),null),n=>(F(e,n),null))}function Qr(e){Ht(e),e._pendingPullIntos=new k}function Vt(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=Ur(t);t.readerType==="default"?Dt(e,n,r):Ao(e,n,r)}function Ur(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Ze(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Yr(e,t,r,n){let o;try{o=Mr(t,r,r+n)}catch(a){throw F(e,a),a}Ze(e,o,0,n)}function Vr(e,t){t.bytesFilled>0&&Yr(e,t.buffer,t.byteOffset,t.bytesFilled),Te(e)}function Hr(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,o=r,a=!1,i=n%t.elementSize,u=n-i;u>=t.minimumFill&&(o=u-t.bytesFilled,a=!0);let p=e._queue;for(;o>0;){let h=p.peek(),y=Math.min(o,h.byteLength),_=t.byteOffset+t.bytesFilled;Dr(t.buffer,_,h.buffer,h.byteOffset,y),h.byteLength===y?p.shift():(h.byteOffset+=y,h.byteLength-=y),e._queueTotalSize-=y,Gr(e,y,t),o-=y}return a}function Gr(e,t,r){r.bytesFilled+=t}function xr(e){e._queueTotalSize===0&&e._closeRequested?(Xe(e),Ue(e._controlledReadableByteStream)):be(e)}function Ht(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Gt(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();Hr(e,t)&&(Te(e),Vt(e._controlledReadableByteStream,t))}}function So(e){let t=e._controlledReadableByteStream._reader;for(;t._readRequests.length>0;){if(e._queueTotalSize===0)return;let r=t._readRequests.shift();Xr(e,r)}}function go(e,t,r,n){let o=e._controlledReadableByteStream,a=t.constructor,i=_o(a),{byteOffset:u,byteLength:p}=t,h=r*i,y;try{y=V(t.buffer)}catch(w){n._errorSteps(w);return}let _={buffer:y,bufferByteLength:y.byteLength,byteOffset:u,byteLength:p,bytesFilled:0,minimumFill:h,elementSize:i,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0){e._pendingPullIntos.push(_),tn(o,n);return}if(o._state==="closed"){let w=new a(_.buffer,_.byteOffset,0);n._closeSteps(w);return}if(e._queueTotalSize>0){if(Hr(e,_)){let w=Ur(_);xr(e),n._chunkSteps(w);return}if(e._closeRequested){let w=new TypeError("Insufficient bytes to fill elements in the given buffer");F(e,w),n._errorSteps(w);return}}e._pendingPullIntos.push(_),tn(o,n),be(e)}function Ro(e,t){t.readerType==="none"&&Te(e);let r=e._controlledReadableByteStream;if(Xt(r))for(;rn(r)>0;){let n=Te(e);Vt(r,n)}}function wo(e,t,r){if(Gr(e,t,r),r.readerType==="none"){Vr(e,r),Gt(e);return}if(r.bytesFilled<r.minimumFill)return;Te(e);let n=r.bytesFilled%r.elementSize;if(n>0){let o=r.byteOffset+r.bytesFilled;Yr(e,r.buffer,o-n,n)}r.bytesFilled-=n,Vt(e._controlledReadableByteStream,r),Gt(e)}function Zr(e,t){let r=e._pendingPullIntos.peek();Ht(e),e._controlledReadableByteStream._state==="closed"?Ro(e,r):wo(e,t,r),be(e)}function Te(e){return e._pendingPullIntos.shift()}function Co(e){let t=e._controlledReadableByteStream;return t._state!=="readable"||e._closeRequested||!e._started?!1:!!(Br(t)&&He(t)>0||Xt(t)&&rn(t)>0||Jr(e)>0)}function Xe(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function je(e){let t=e._controlledReadableByteStream;if(!(e._closeRequested||t._state!=="readable")){if(e._queueTotalSize>0){e._closeRequested=!0;return}if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!==0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw F(e,n),n}}Xe(e),Ue(t)}}function Je(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:o,byteLength:a}=t;if(te(n))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let i=V(n);if(e._pendingPullIntos.length>0){let u=e._pendingPullIntos.peek();if(te(u.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");Ht(e),u.buffer=V(u.buffer),u.readerType==="none"&&Vr(e,u)}if(Br(r))if(So(e),He(r)===0)Ze(e,i,o,a);else{e._pendingPullIntos.length>0&&Te(e);let u=new Uint8Array(i,o,a);Dt(r,u,!1)}else Xt(r)?(Ze(e,i,o,a),Gt(e)):Ze(e,i,o,a);be(e)}function F(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(Qr(e),re(e),Xe(e),En(r,t))}function Xr(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,xr(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function xt(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(ce.prototype);Po(n,e,r),e._byobRequest=n}return e._byobRequest}function Jr(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Ke(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=V(r.buffer),Zr(e,t)}function et(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let o=t.byteLength;r.buffer=V(t.buffer),Zr(e,o)}function Kr(e,t,r,n,o,a,i){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,re(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=o,t._autoAllocateChunkSize=i,t._pendingPullIntos=new k,e._readableStreamController=t;let u=r();v(S(u),()=>(t._started=!0,be(t),null),p=>(F(t,p),null))}function To(e,t,r){let n=Object.create(H.prototype),o,a,i;t.start!==void 0?o=()=>t.start(n):o=()=>{},t.pull!==void 0?a=()=>t.pull(n):a=()=>S(void 0),t.cancel!==void 0?i=p=>t.cancel(p):i=()=>S(void 0);let u=t.autoAllocateChunkSize;if(u===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Kr(e,n,o,a,i,r,u)}function Po(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}function Zt(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function De(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function vo(e,t){L(e,t);let r=e?.mode;return{mode:r===void 0?void 0:Eo(r,`${t} has member 'mode' that`)}}function Eo(e,t){if(e=`${e}`,e!=="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function qo(e,t){var r;L(e,t);let n=(r=e?.min)!==null&&r!==void 0?r:1;return{min:It(n,`${t} has member 'min' that`)}}function en(e){return new ne(e)}function tn(e,t){e._reader._readIntoRequests.push(t)}function Ao(e,t,r){let o=e._reader._readIntoRequests.shift();r?o._closeSteps(t):o._chunkSteps(t)}function rn(e){return e._reader._readIntoRequests.length}function Xt(e){let t=e._reader;return!(t===void 0||!me(t))}class ne{constructor(t){if(Y(t,1,"ReadableStreamBYOBReader"),jt(t,"First parameter"),ie(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!he(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Tr(this,t),this._readIntoRequests=new k}get closed(){return me(this)?this._closedPromise:c(tt("closed"))}cancel(t=void 0){return me(this)?this._ownerReadableStream===void 0?c(Ve("cancel")):Bt(this,t):c(tt("cancel"))}read(t,r={}){if(!me(this))return c(tt("read"));if(!ArrayBuffer.isView(t))return c(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return c(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return c(new TypeError("view's buffer must have non-zero byteLength"));if(te(t.buffer))return c(new TypeError("view's buffer has been detached"));let n;try{n=qo(r,"options")}catch(h){return c(h)}let o=n.min;if(o===0)return c(new TypeError("options.min must be greater than 0"));if(yo(t)){if(o>t.byteLength)return c(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(o>t.length)return c(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return c(Ve("read from"));let a,i,u=P((h,y)=>{a=h,i=y});return nn(this,t,o,{_chunkSteps:h=>a({value:h,done:!1}),_closeSteps:h=>a({value:h,done:!0}),_errorSteps:h=>i(h)}),u}releaseLock(){if(!me(this))throw tt("releaseLock");this._ownerReadableStream!==void 0&&Wo(this)}}Object.defineProperties(ne.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),d(ne.prototype.cancel,"cancel"),d(ne.prototype.read,"read"),d(ne.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ne.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function me(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")?!1:e instanceof ne}function nn(e,t,r,n){let o=e._ownerReadableStream;o._disturbed=!0,o._state==="errored"?n._errorSteps(o._storedError):go(o._readableStreamController,t,r,n)}function Wo(e){U(e);let t=new TypeError("Reader was released");on(e,t)}function on(e,t){let r=e._readIntoRequests;e._readIntoRequests=new k,r.forEach(n=>{n._errorSteps(t)})}function tt(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Me(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(jr(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function rt(e){let{size:t}=e;return t||(()=>1)}function nt(e,t){L(e,t);let r=e?.highWaterMark,n=e?.size;return{highWaterMark:r===void 0?void 0:zt(r),size:n===void 0?void 0:Bo(n,`${t} has member 'size' that`)}}function Bo(e,t){return O(e,t),r=>zt(e(r))}function ko(e,t){L(e,t);let r=e?.abort,n=e?.close,o=e?.start,a=e?.type,i=e?.write;return{abort:r===void 0?void 0:Oo(r,e,`${t} has member 'abort' that`),close:n===void 0?void 0:Fo(n,e,`${t} has member 'close' that`),start:o===void 0?void 0:zo(o,e,`${t} has member 'start' that`),write:i===void 0?void 0:Io(i,e,`${t} has member 'write' that`),type:a}}function Oo(e,t,r){return O(e,r),n=>J(e,t,[n])}function Fo(e,t,r){return O(e,r),()=>J(e,t,[])}function zo(e,t,r){return O(e,r),n=>de(e,t,[n])}function Io(e,t,r){return O(e,r),(n,o)=>J(e,t,[n,o])}function an(e,t){if(!Pe(e))throw new TypeError(`${t} is not a WritableStream.`)}function jo(e){if(typeof e!="object"||e===null)return!1;try{return typeof e.aborted=="boolean"}catch{return!1}}let Do=typeof AbortController=="function";function Mo(){if(Do)return new AbortController}class oe{constructor(t={},r={}){t===void 0?t=null:qr(t,"First parameter");let n=nt(r,"Second parameter"),o=ko(t,"First parameter");if(ln(this),o.type!==void 0)throw new RangeError("Invalid type is specified");let i=rt(n),u=Me(n,1);Ko(this,o,u,i)}get locked(){if(!Pe(this))throw lt("locked");return ve(this)}abort(t=void 0){return Pe(this)?ve(this)?c(new TypeError("Cannot abort a stream that already has a writer")):ot(this,t):c(lt("abort"))}close(){return Pe(this)?ve(this)?c(new TypeError("Cannot close a stream that already has a writer")):$(this)?c(new TypeError("Cannot close an already-closing stream")):un(this):c(lt("close"))}getWriter(){if(!Pe(this))throw lt("getWriter");return sn(this)}}Object.defineProperties(oe.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),d(oe.prototype.abort,"abort"),d(oe.prototype.close,"close"),d(oe.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(oe.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function sn(e){return new G(e)}function Lo(e,t,r,n,o=1,a=()=>1){let i=Object.create(oe.prototype);ln(i);let u=Object.create(Ee.prototype);return mn(i,u,e,t,r,n,o,a),i}function ln(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new k,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Pe(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")?!1:e instanceof oe}function ve(e){return e._writer!==void 0}function ot(e,t){var r;if(e._state==="closed"||e._state==="errored")return S(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return S(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let o=!1;n==="erroring"&&(o=!0,t=void 0);let a=P((i,u)=>{e._pendingAbortRequest={_promise:void 0,_resolve:i,_reject:u,_reason:t,_wasAlreadyErroring:o}});return e._pendingAbortRequest._promise=a,o||Kt(e,t),a}function un(e){let t=e._state;if(t==="closed"||t==="errored")return c(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=P((o,a)=>{let i={_resolve:o,_reject:a};e._closeRequest=i}),n=e._writer;return n!==void 0&&e._backpressure&&t==="writable"&&sr(n),ea(e._writableStreamController),r}function $o(e){return P((r,n)=>{let o={_resolve:r,_reject:n};e._writeRequests.push(o)})}function Jt(e,t){if(e._state==="writable"){Kt(e,t);return}er(e)}function Kt(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&dn(n,t),!Vo(e)&&r._started&&er(e)}function er(e){e._state="errored",e._writableStreamController[Cr]();let t=e._storedError;if(e._writeRequests.forEach(o=>{o._reject(t)}),e._writeRequests=new k,e._pendingAbortRequest===void 0){at(e);return}let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring){r._reject(t),at(e);return}let n=e._writableStreamController[wr](r._reason);v(n,()=>(r._resolve(),at(e),null),o=>(r._reject(o),at(e),null))}function No(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}function Qo(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Jt(e,t)}function Uo(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,e._state==="erroring"&&(e._storedError=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";let r=e._writer;r!==void 0&&Sn(r)}function Yo(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),Jt(e,t)}function $(e){return!(e._closeRequest===void 0&&e._inFlightCloseRequest===void 0)}function Vo(e){return!(e._inFlightWriteRequest===void 0&&e._inFlightCloseRequest===void 0)}function Ho(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}function Go(e){e._inFlightWriteRequest=e._writeRequests.shift()}function at(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&ar(t,e._storedError)}function tr(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?sa(r):sr(r)),e._backpressure=t}class G{constructor(t){if(Y(t,1,"WritableStreamDefaultWriter"),an(t,"First parameter"),ve(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!$(t)&&t._backpressure?ft(this):gn(this),ut(this);else if(r==="erroring")ir(this,t._storedError),ut(this);else if(r==="closed")gn(this),aa(this);else{let n=t._storedError;ir(this,n),_n(this,n)}}get closed(){return pe(this)?this._closedPromise:c(ye("closed"))}get desiredSize(){if(!pe(this))throw ye("desiredSize");if(this._ownerWritableStream===void 0)throw $e("desiredSize");return Jo(this)}get ready(){return pe(this)?this._readyPromise:c(ye("ready"))}abort(t=void 0){return pe(this)?this._ownerWritableStream===void 0?c($e("abort")):xo(this,t):c(ye("abort"))}close(){if(!pe(this))return c(ye("close"));let t=this._ownerWritableStream;return t===void 0?c($e("close")):$(t)?c(new TypeError("Cannot close an already-closing stream")):fn(this)}releaseLock(){if(!pe(this))throw ye("releaseLock");this._ownerWritableStream!==void 0&&cn(this)}write(t=void 0){return pe(this)?this._ownerWritableStream===void 0?c($e("write to")):hn(this,t):c(ye("write"))}}Object.defineProperties(G.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),d(G.prototype.abort,"abort"),d(G.prototype.close,"close"),d(G.prototype.releaseLock,"releaseLock"),d(G.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(G.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function pe(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")?!1:e instanceof G}function xo(e,t){let r=e._ownerWritableStream;return ot(r,t)}function fn(e){let t=e._ownerWritableStream;return un(t)}function Zo(e){let t=e._ownerWritableStream,r=t._state;return $(t)||r==="closed"?S(void 0):r==="errored"?c(t._storedError):fn(e)}function Xo(e,t){e._closedPromiseState==="pending"?ar(e,t):ia(e,t)}function dn(e,t){e._readyPromiseState==="pending"?Rn(e,t):la(e,t)}function Jo(e){let t=e._ownerWritableStream,r=t._state;return r==="errored"||r==="erroring"?null:r==="closed"?0:pn(t._writableStreamController)}function cn(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");dn(e,r),Xo(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function hn(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,o=ta(n,t);if(r!==e._ownerWritableStream)return c($e("write to"));let a=r._state;if(a==="errored")return c(r._storedError);if($(r)||a==="closed")return c(new TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return c(r._storedError);let i=$o(r);return ra(n,t,o),i}let bn={};class Ee{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!rr(this))throw or("abortReason");return this._abortReason}get signal(){if(!rr(this))throw or("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!rr(this))throw or("error");this._controlledWritableStream._state==="writable"&&yn(this,t)}[wr](t){let r=this._abortAlgorithm(t);return it(this),r}[Cr](){re(this)}}Object.defineProperties(Ee.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ee.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function rr(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")?!1:e instanceof Ee}function mn(e,t,r,n,o,a,i,u){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,re(t),t._abortReason=void 0,t._abortController=Mo(),t._started=!1,t._strategySizeAlgorithm=u,t._strategyHWM=i,t._writeAlgorithm=n,t._closeAlgorithm=o,t._abortAlgorithm=a;let p=nr(t);tr(e,p);let h=r(),y=S(h);v(y,()=>(t._started=!0,st(t),null),_=>(t._started=!0,Jt(e,_),null))}function Ko(e,t,r,n){let o=Object.create(Ee.prototype),a,i,u,p;t.start!==void 0?a=()=>t.start(o):a=()=>{},t.write!==void 0?i=h=>t.write(h,o):i=()=>S(void 0),t.close!==void 0?u=()=>t.close():u=()=>S(void 0),t.abort!==void 0?p=h=>t.abort(h):p=()=>S(void 0),mn(e,o,a,i,u,p,r,n)}function it(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function ea(e){Ut(e,bn,0),st(e)}function ta(e,t){try{return e._strategySizeAlgorithm(t)}catch(r){return Le(e,r),1}}function pn(e){return e._strategyHWM-e._queueTotalSize}function ra(e,t,r){try{Ut(e,t,r)}catch(o){Le(e,o);return}let n=e._controlledWritableStream;if(!$(n)&&n._state==="writable"){let o=nr(e);tr(n,o)}st(e)}function st(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring"){er(t);return}if(e._queue.length===0)return;let n=po(e);n===bn?na(e):oa(e,n)}function Le(e,t){e._controlledWritableStream._state==="writable"&&yn(e,t)}function na(e){let t=e._controlledWritableStream;Ho(t),Qt(e);let r=e._closeAlgorithm();it(e),v(r,()=>(Uo(t),null),n=>(Yo(t,n),null))}function oa(e,t){let r=e._controlledWritableStream;Go(r);let n=e._writeAlgorithm(t);v(n,()=>{No(r);let o=r._state;if(Qt(e),!$(r)&&o==="writable"){let a=nr(e);tr(r,a)}return st(e),null},o=>(r._state==="writable"&&it(e),Qo(r,o),null))}function nr(e){return pn(e)<=0}function yn(e,t){let r=e._controlledWritableStream;it(e),Kt(r,t)}function lt(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function or(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function ye(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function $e(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function ut(e){e._closedPromise=P((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function _n(e,t){ut(e),ar(e,t)}function aa(e){ut(e),Sn(e)}function ar(e,t){e._closedPromise_reject!==void 0&&(we(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function ia(e,t){_n(e,t)}function Sn(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function ft(e){e._readyPromise=P((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function ir(e,t){ft(e),Rn(e,t)}function gn(e){ft(e),sr(e)}function Rn(e,t){e._readyPromise_reject!==void 0&&(we(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function sa(e){ft(e)}function la(e,t){ir(e,t)}function sr(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}function ua(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let lr=ua();function fa(e){if(!(typeof e=="function"||typeof e=="object")||e.name!=="DOMException")return!1;try{return new e,!0}catch{return!1}}function da(){let e=lr?.DOMException;return fa(e)?e:void 0}function ca(){let e=function(r,n){this.message=r||"",this.name=n||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return d(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}let ha=da()||ca();function wn(e,t,r,n,o,a){let i=Ce(e),u=sn(t);e._disturbed=!0;let p=!1,h=S(void 0);return P((y,_)=>{let w;if(a!==void 0){if(w=()=>{let m=a.reason!==void 0?a.reason:new ha("Aborted","AbortError"),g=[];n||g.push(()=>t._state==="writable"?ot(t,m):S(void 0)),o||g.push(()=>e._state==="readable"?j(e,m):S(void 0)),A(()=>Promise.all(g.map(T=>T())),!0,m)},a.aborted){w();return}a.addEventListener("abort",w)}function D(){return P((m,g)=>{function T(B){B?m():W(Be(),T,g)}T(!1)})}function Be(){return p?S(!0):W(u._readyPromise,()=>P((m,g)=>{ze(i,{_chunkSteps:T=>{h=W(hn(u,T),void 0,s),m(!1)},_closeSteps:()=>m(!0),_errorSteps:g})}))}if(Z(e,i._closedPromise,m=>(n?z(!0,m):A(()=>ot(t,m),!0,m),null)),Z(t,u._closedPromise,m=>(o?z(!0,m):A(()=>j(e,m),!0,m),null)),q(e,i._closedPromise,()=>(r?z():A(()=>Zo(u)),null)),$(t)||t._state==="closed"){let m=new TypeError("the destination writable stream closed before all data could be piped to it");o?z(!0,m):A(()=>j(e,m),!0,m)}we(D());function le(){let m=h;return W(h,()=>m!==h?le():void 0)}function Z(m,g,T){m._state==="errored"?T(m._storedError):N(g,T)}function q(m,g,T){m._state==="closed"?T():M(g,T)}function A(m,g,T){if(p)return;p=!0,t._state==="writable"&&!$(t)?M(le(),B):B();function B(){return v(m(),()=>X(g,T),ke=>X(!0,ke)),null}}function z(m,g){p||(p=!0,t._state==="writable"&&!$(t)?M(le(),()=>X(m,g)):X(m,g))}function X(m,g){return cn(u),U(i),a!==void 0&&a.removeEventListener("abort",w),m?_(g):y(void 0),null}})}class x{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!dt(this))throw ht("desiredSize");return ur(this)}close(){if(!dt(this))throw ht("close");if(!Ae(this))throw new TypeError("The stream is not in a state that permits close");_e(this)}enqueue(t=void 0){if(!dt(this))throw ht("enqueue");if(!Ae(this))throw new TypeError("The stream is not in a state that permits enqueue");return qe(this,t)}error(t=void 0){if(!dt(this))throw ht("error");I(this,t)}[qt](t){re(this);let r=this._cancelAlgorithm(t);return ct(this),r}[At](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=Qt(this);this._closeRequested&&this._queue.length===0?(ct(this),Ue(r)):Ne(this),t._chunkSteps(n)}else Wr(r,t),Ne(this)}[Wt](){}}Object.defineProperties(x.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),d(x.prototype.close,"close"),d(x.prototype.enqueue,"enqueue"),d(x.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(x.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function dt(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")?!1:e instanceof x}function Ne(e){if(!Cn(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();v(r,()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Ne(e)),null),n=>(I(e,n),null))}function Cn(e){let t=e._controlledReadableStream;return!Ae(e)||!e._started?!1:!!(ie(t)&&He(t)>0||ur(e)>0)}function ct(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function _e(e){if(!Ae(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(ct(e),Ue(t))}function qe(e,t){if(!Ae(e))return;let r=e._controlledReadableStream;if(ie(r)&&He(r)>0)Dt(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(o){throw I(e,o),o}try{Ut(e,t,n)}catch(o){throw I(e,o),o}}Ne(e)}function I(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(re(e),ct(e),En(r,t))}function ur(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function ba(e){return!Cn(e)}function Ae(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function Tn(e,t,r,n,o,a,i){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,re(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=i,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=o,e._readableStreamController=t;let u=r();v(S(u),()=>(t._started=!0,Ne(t),null),p=>(I(t,p),null))}function ma(e,t,r,n){let o=Object.create(x.prototype),a,i,u;t.start!==void 0?a=()=>t.start(o):a=()=>{},t.pull!==void 0?i=()=>t.pull(o):i=()=>S(void 0),t.cancel!==void 0?u=p=>t.cancel(p):u=()=>S(void 0),Tn(e,o,a,i,u,r,n)}function ht(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function pa(e,t){return he(e._readableStreamController)?_a(e):ya(e)}function ya(e,t){let r=Ce(e),n=!1,o=!1,a=!1,i=!1,u,p,h,y,_,w=P(q=>{_=q});function D(){return n?(o=!0,S(void 0)):(n=!0,ze(r,{_chunkSteps:A=>{fe(()=>{o=!1;let z=A,X=A;a||qe(h._readableStreamController,z),i||qe(y._readableStreamController,X),n=!1,o&&D()})},_closeSteps:()=>{n=!1,a||_e(h._readableStreamController),i||_e(y._readableStreamController),(!a||!i)&&_(void 0)},_errorSteps:()=>{n=!1}}),S(void 0))}function Be(q){if(a=!0,u=q,i){let A=Ie([u,p]),z=j(e,A);_(z)}return w}function le(q){if(i=!0,p=q,a){let A=Ie([u,p]),z=j(e,A);_(z)}return w}function Z(){}return h=Qe(Z,D,Be),y=Qe(Z,D,le),N(r._closedPromise,q=>(I(h._readableStreamController,q),I(y._readableStreamController,q),(!a||!i)&&_(void 0),null)),[h,y]}function _a(e){let t=Ce(e),r=!1,n=!1,o=!1,a=!1,i=!1,u,p,h,y,_,w=P(m=>{_=m});function D(m){N(m._closedPromise,g=>(m!==t||(F(h._readableStreamController,g),F(y._readableStreamController,g),(!a||!i)&&_(void 0)),null))}function Be(){me(t)&&(U(t),t=Ce(e),D(t)),ze(t,{_chunkSteps:g=>{fe(()=>{n=!1,o=!1;let T=g,B=g;if(!a&&!i)try{B=$r(g)}catch(ke){F(h._readableStreamController,ke),F(y._readableStreamController,ke),_(j(e,ke));return}a||Je(h._readableStreamController,T),i||Je(y._readableStreamController,B),r=!1,n?Z():o&&q()})},_closeSteps:()=>{r=!1,a||je(h._readableStreamController),i||je(y._readableStreamController),h._readableStreamController._pendingPullIntos.length>0&&Ke(h._readableStreamController,0),y._readableStreamController._pendingPullIntos.length>0&&Ke(y._readableStreamController,0),(!a||!i)&&_(void 0)},_errorSteps:()=>{r=!1}})}function le(m,g){ee(t)&&(U(t),t=en(e),D(t));let T=g?y:h,B=g?h:y;nn(t,m,1,{_chunkSteps:Oe=>{fe(()=>{n=!1,o=!1;let Fe=g?i:a;if(g?a:i)Fe||et(T._readableStreamController,Oe);else{let Ln;try{Ln=$r(Oe)}catch(br){F(T._readableStreamController,br),F(B._readableStreamController,br),_(j(e,br));return}Fe||et(T._readableStreamController,Oe),Je(B._readableStreamController,Ln)}r=!1,n?Z():o&&q()})},_closeSteps:Oe=>{r=!1;let Fe=g?i:a,Rt=g?a:i;Fe||je(T._readableStreamController),Rt||je(B._readableStreamController),Oe!==void 0&&(Fe||et(T._readableStreamController,Oe),!Rt&&B._readableStreamController._pendingPullIntos.length>0&&Ke(B._readableStreamController,0)),(!Fe||!Rt)&&_(void 0)},_errorSteps:()=>{r=!1}})}function Z(){if(r)return n=!0,S(void 0);r=!0;let m=xt(h._readableStreamController);return m===null?Be():le(m._view,!1),S(void 0)}function q(){if(r)return o=!0,S(void 0);r=!0;let m=xt(y._readableStreamController);return m===null?Be():le(m._view,!0),S(void 0)}function A(m){if(a=!0,u=m,i){let g=Ie([u,p]),T=j(e,g);_(T)}return w}function z(m){if(i=!0,p=m,a){let g=Ie([u,p]),T=j(e,g);_(T)}return w}function X(){}return h=vn(X,Z,A),y=vn(X,q,z),D(t),[h,y]}function Sa(e){return l(e)&&typeof e.getReader<"u"}function ga(e){return Sa(e)?wa(e.getReader()):Ra(e)}function Ra(e){let t,r=Lr(e,"async"),n=s;function o(){let i;try{i=co(r)}catch(p){return c(p)}let u=S(i);return Q(u,p=>{if(!l(p))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(ho(p))_e(t._readableStreamController);else{let y=bo(p);qe(t._readableStreamController,y)}})}function a(i){let u=r.iterator,p;try{p=xe(u,"return")}catch(_){return c(_)}if(p===void 0)return S(void 0);let h;try{h=de(p,u,[i])}catch(_){return c(_)}let y=S(h);return Q(y,_=>{if(!l(_))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return t=Qe(n,o,a,0),t}function wa(e){let t,r=s;function n(){let a;try{a=e.read()}catch(i){return c(i)}return Q(a,i=>{if(!l(i))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(i.done)_e(t._readableStreamController);else{let u=i.value;qe(t._readableStreamController,u)}})}function o(a){try{return S(e.cancel(a))}catch(i){return c(i)}}return t=Qe(r,n,o,0),t}function Ca(e,t){L(e,t);let r=e,n=r?.autoAllocateChunkSize,o=r?.cancel,a=r?.pull,i=r?.start,u=r?.type;return{autoAllocateChunkSize:n===void 0?void 0:It(n,`${t} has member 'autoAllocateChunkSize' that`),cancel:o===void 0?void 0:Ta(o,r,`${t} has member 'cancel' that`),pull:a===void 0?void 0:Pa(a,r,`${t} has member 'pull' that`),start:i===void 0?void 0:va(i,r,`${t} has member 'start' that`),type:u===void 0?void 0:Ea(u,`${t} has member 'type' that`)}}function Ta(e,t,r){return O(e,r),n=>J(e,t,[n])}function Pa(e,t,r){return O(e,r),n=>J(e,t,[n])}function va(e,t,r){return O(e,r),n=>de(e,t,[n])}function Ea(e,t){if(e=`${e}`,e!=="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function qa(e,t){return L(e,t),{preventCancel:!!e?.preventCancel}}function Pn(e,t){L(e,t);let r=e?.preventAbort,n=e?.preventCancel,o=e?.preventClose,a=e?.signal;return a!==void 0&&Aa(a,`${t} has member 'signal' that`),{preventAbort:!!r,preventCancel:!!n,preventClose:!!o,signal:a}}function Aa(e,t){if(!jo(e))throw new TypeError(`${t} is not an AbortSignal.`)}function Wa(e,t){L(e,t);let r=e?.readable;Ft(r,"readable","ReadableWritablePair"),jt(r,`${t} has member 'readable' that`);let n=e?.writable;return Ft(n,"writable","ReadableWritablePair"),an(n,`${t} has member 'writable' that`),{readable:r,writable:n}}class E{constructor(t={},r={}){t===void 0?t=null:qr(t,"First parameter");let n=nt(r,"Second parameter"),o=Ca(t,"First parameter");if(fr(this),o.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let a=Me(n,0);To(this,o,a)}else{let a=rt(n),i=Me(n,1);ma(this,o,i,a)}}get locked(){if(!ae(this))throw Se("locked");return ie(this)}cancel(t=void 0){return ae(this)?ie(this)?c(new TypeError("Cannot cancel a stream that already has a reader")):j(this,t):c(Se("cancel"))}getReader(t=void 0){if(!ae(this))throw Se("getReader");return vo(t,"First parameter").mode===void 0?Ce(this):en(this)}pipeThrough(t,r={}){if(!ae(this))throw Se("pipeThrough");Y(t,1,"pipeThrough");let n=Wa(t,"First parameter"),o=Pn(r,"Second parameter");if(ie(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(ve(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let a=wn(this,n.writable,o.preventClose,o.preventAbort,o.preventCancel,o.signal);return we(a),n.readable}pipeTo(t,r={}){if(!ae(this))return c(Se("pipeTo"));if(t===void 0)return c("Parameter 1 is required in 'pipeTo'.");if(!Pe(t))return c(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=Pn(r,"Second parameter")}catch(o){return c(o)}return ie(this)?c(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):ve(t)?c(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):wn(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!ae(this))throw Se("tee");let t=pa(this);return Ie(t)}values(t=void 0){if(!ae(this))throw Se("values");let r=qa(t,"First parameter");return uo(this,r.preventCancel)}[Nt](t){return this.values(t)}static from(t){return ga(t)}}Object.defineProperties(E,{from:{enumerable:!0}}),Object.defineProperties(E.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),d(E.from,"from"),d(E.prototype.cancel,"cancel"),d(E.prototype.getReader,"getReader"),d(E.prototype.pipeThrough,"pipeThrough"),d(E.prototype.pipeTo,"pipeTo"),d(E.prototype.tee,"tee"),d(E.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(E.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(E.prototype,Nt,{value:E.prototype.values,writable:!0,configurable:!0});function Qe(e,t,r,n=1,o=()=>1){let a=Object.create(E.prototype);fr(a);let i=Object.create(x.prototype);return Tn(a,i,e,t,r,n,o),a}function vn(e,t,r){let n=Object.create(E.prototype);fr(n);let o=Object.create(H.prototype);return Kr(n,o,e,t,r,0,void 0),n}function fr(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function ae(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")?!1:e instanceof E}function ie(e){return e._reader!==void 0}function j(e,t){if(e._disturbed=!0,e._state==="closed")return S(void 0);if(e._state==="errored")return c(e._storedError);Ue(e);let r=e._reader;if(r!==void 0&&me(r)){let o=r._readIntoRequests;r._readIntoRequests=new k,o.forEach(a=>{a._closeSteps(void 0)})}let n=e._readableStreamController[qt](t);return Q(n,s)}function Ue(e){e._state="closed";let t=e._reader;if(t!==void 0&&(vr(t),ee(t))){let r=t._readRequests;t._readRequests=new k,r.forEach(n=>{n._closeSteps()})}}function En(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(Ot(r,t),ee(r)?kr(r,t):on(r,t))}function Se(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function qn(e,t){L(e,t);let r=e?.highWaterMark;return Ft(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:zt(r)}}let An=e=>e.byteLength;d(An,"size");class bt{constructor(t){Y(t,1,"ByteLengthQueuingStrategy"),t=qn(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Bn(this))throw Wn("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Bn(this))throw Wn("size");return An}}Object.defineProperties(bt.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bt.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Wn(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Bn(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")?!1:e instanceof bt}let kn=()=>1;d(kn,"size");class mt{constructor(t){Y(t,1,"CountQueuingStrategy"),t=qn(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Fn(this))throw On("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Fn(this))throw On("size");return kn}}Object.defineProperties(mt.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mt.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function On(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function Fn(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")?!1:e instanceof mt}function Ba(e,t){L(e,t);let r=e?.cancel,n=e?.flush,o=e?.readableType,a=e?.start,i=e?.transform,u=e?.writableType;return{cancel:r===void 0?void 0:za(r,e,`${t} has member 'cancel' that`),flush:n===void 0?void 0:ka(n,e,`${t} has member 'flush' that`),readableType:o,start:a===void 0?void 0:Oa(a,e,`${t} has member 'start' that`),transform:i===void 0?void 0:Fa(i,e,`${t} has member 'transform' that`),writableType:u}}function ka(e,t,r){return O(e,r),n=>J(e,t,[n])}function Oa(e,t,r){return O(e,r),n=>de(e,t,[n])}function Fa(e,t,r){return O(e,r),(n,o)=>J(e,t,[n,o])}function za(e,t,r){return O(e,r),n=>J(e,t,[n])}class pt{constructor(t={},r={},n={}){t===void 0&&(t=null);let o=nt(r,"Second parameter"),a=nt(n,"Third parameter"),i=Ba(t,"First parameter");if(i.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(i.writableType!==void 0)throw new RangeError("Invalid writableType specified");let u=Me(a,0),p=rt(a),h=Me(o,1),y=rt(o),_,w=P(D=>{_=D});Ia(this,w,h,y,u,p),Da(this,i),i.start!==void 0?_(i.start(this._transformStreamController)):_(void 0)}get readable(){if(!zn(this))throw Mn("readable");return this._readable}get writable(){if(!zn(this))throw Mn("writable");return this._writable}}Object.defineProperties(pt.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pt.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Ia(e,t,r,n,o,a){function i(){return t}function u(w){return $a(e,w)}function p(w){return Na(e,w)}function h(){return Qa(e)}e._writable=Lo(i,u,h,p,r,n);function y(){return Ua(e)}function _(w){return Ya(e,w)}e._readable=Qe(i,y,_,o,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,yt(e,!0),e._transformStreamController=void 0}function zn(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")?!1:e instanceof pt}function In(e,t){I(e._readable._readableStreamController,t),dr(e,t)}function dr(e,t){St(e._transformStreamController),Le(e._writable._writableStreamController,t),cr(e)}function cr(e){e._backpressure&&yt(e,!1)}function yt(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=P(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}class se{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!_t(this))throw gt("desiredSize");let t=this._controlledTransformStream._readable._readableStreamController;return ur(t)}enqueue(t=void 0){if(!_t(this))throw gt("enqueue");jn(this,t)}error(t=void 0){if(!_t(this))throw gt("error");Ma(this,t)}terminate(){if(!_t(this))throw gt("terminate");La(this)}}Object.defineProperties(se.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),d(se.prototype.enqueue,"enqueue"),d(se.prototype.error,"error"),d(se.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(se.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function _t(e){return!l(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")?!1:e instanceof se}function ja(e,t,r,n,o){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n,t._cancelAlgorithm=o,t._finishPromise=void 0,t._finishPromise_resolve=void 0,t._finishPromise_reject=void 0}function Da(e,t){let r=Object.create(se.prototype),n,o,a;t.transform!==void 0?n=i=>t.transform(i,r):n=i=>{try{return jn(r,i),S(void 0)}catch(u){return c(u)}},t.flush!==void 0?o=()=>t.flush(r):o=()=>S(void 0),t.cancel!==void 0?a=i=>t.cancel(i):a=()=>S(void 0),ja(e,r,n,o,a)}function St(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function jn(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Ae(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{qe(n,t)}catch(a){throw dr(r,a),r._readable._storedError}ba(n)!==r._backpressure&&yt(r,!0)}function Ma(e,t){In(e._controlledTransformStream,t)}function Dn(e,t){let r=e._transformAlgorithm(t);return Q(r,void 0,n=>{throw In(e._controlledTransformStream,n),n})}function La(e){let t=e._controlledTransformStream,r=t._readable._readableStreamController;_e(r);let n=new TypeError("TransformStream terminated");dr(t,n)}function $a(e,t){let r=e._transformStreamController;if(e._backpressure){let n=e._backpressureChangePromise;return Q(n,()=>{let o=e._writable;if(o._state==="erroring")throw o._storedError;return Dn(r,t)})}return Dn(r,t)}function Na(e,t){let r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;let n=e._readable;r._finishPromise=P((a,i)=>{r._finishPromise_resolve=a,r._finishPromise_reject=i});let o=r._cancelAlgorithm(t);return St(r),v(o,()=>(n._state==="errored"?We(r,n._storedError):(I(n._readableStreamController,t),hr(r)),null),a=>(I(n._readableStreamController,a),We(r,a),null)),r._finishPromise}function Qa(e){let t=e._transformStreamController;if(t._finishPromise!==void 0)return t._finishPromise;let r=e._readable;t._finishPromise=P((o,a)=>{t._finishPromise_resolve=o,t._finishPromise_reject=a});let n=t._flushAlgorithm();return St(t),v(n,()=>(r._state==="errored"?We(t,r._storedError):(_e(r._readableStreamController),hr(t)),null),o=>(I(r._readableStreamController,o),We(t,o),null)),t._finishPromise}function Ua(e){return yt(e,!1),e._backpressureChangePromise}function Ya(e,t){let r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;let n=e._writable;r._finishPromise=P((a,i)=>{r._finishPromise_resolve=a,r._finishPromise_reject=i});let o=r._cancelAlgorithm(t);return St(r),v(o,()=>(n._state==="errored"?We(r,n._storedError):(Le(n._writableStreamController,t),cr(e),hr(r)),null),a=>(Le(n._writableStreamController,a),cr(e),We(r,a),null)),r._finishPromise}function gt(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hr(e){e._finishPromise_resolve!==void 0&&(e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function We(e,t){e._finishPromise_reject!==void 0&&(we(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0)}function Mn(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}f.ByteLengthQueuingStrategy=bt,f.CountQueuingStrategy=mt,f.ReadableByteStreamController=H,f.ReadableStream=E,f.ReadableStreamBYOBReader=ne,f.ReadableStreamBYOBRequest=ce,f.ReadableStreamDefaultController=x,f.ReadableStreamDefaultReader=K,f.TransformStream=pt,f.TransformStreamDefaultController=se,f.WritableStream=oe,f.WritableStreamDefaultController=Ee,f.WritableStreamDefaultWriter=G})});var Un=mr(()=>{"use strict";if(!globalThis.ReadableStream)try{let f=wt("node:process"),{emitWarning:s}=f;try{f.emitWarning=()=>{},Object.assign(globalThis,wt("node:stream/web")),f.emitWarning=s}catch(l){throw f.emitWarning=s,l}}catch{Object.assign(globalThis,Qn())}try{let{Blob:f}=wt("buffer");f&&!f.prototype.stream&&(f.prototype.stream=function(l){let b=0,d=this;return new ReadableStream({type:"bytes",async pull(R){let ue=await d.slice(b,Math.min(d.size,b+65536)).arrayBuffer();b+=ue.byteLength,R.enqueue(new Uint8Array(ue)),b===d.size&&R.close()}})})}catch{}});async function*pr(f,s=!0){for(let l of f)if("stream"in l)yield*l.stream();else if(ArrayBuffer.isView(l))if(s){let b=l.byteOffset,d=l.byteOffset+l.byteLength;for(;b!==d;){let R=Math.min(d-b,Yn),C=l.buffer.slice(b,b+R);b+=C.byteLength,yield new Uint8Array(C)}}else yield l;else{let b=0,d=l;for(;b!==d.size;){let C=await d.slice(b,Math.min(d.size,b+Yn)).arrayBuffer();b+=C.byteLength,yield new Uint8Array(C)}}}var ai,Yn,Vn,Va,ge,Pt=Ct(()=>{"use strict";ai=$n(Un(),1);Yn=65536;Vn=class yr{#e=[];#t="";#r=0;#n="transparent";constructor(s=[],l={}){if(typeof s!="object"||s===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof s[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof l!="object"&&typeof l!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");l===null&&(l={});let b=new TextEncoder;for(let R of s){let C;ArrayBuffer.isView(R)?C=new Uint8Array(R.buffer.slice(R.byteOffset,R.byteOffset+R.byteLength)):R instanceof ArrayBuffer?C=new Uint8Array(R.slice(0)):R instanceof yr?C=R:C=b.encode(`${R}`),this.#r+=ArrayBuffer.isView(C)?C.byteLength:C.size,this.#e.push(C)}this.#n=`${l.endings===void 0?"transparent":l.endings}`;let d=l.type===void 0?"":String(l.type);this.#t=/^[\x20-\x7E]*$/.test(d)?d:""}get size(){return this.#r}get type(){return this.#t}async text(){let s=new TextDecoder,l="";for await(let b of pr(this.#e,!1))l+=s.decode(b,{stream:!0});return l+=s.decode(),l}async arrayBuffer(){let s=new Uint8Array(this.size),l=0;for await(let b of pr(this.#e,!1))s.set(b,l),l+=b.length;return s.buffer}stream(){let s=pr(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(l){let b=await s.next();b.done?l.close():l.enqueue(b.value)},async cancel(){await s.return()}})}slice(s=0,l=this.size,b=""){let{size:d}=this,R=s<0?Math.max(d+s,0):Math.min(s,d),C=l<0?Math.max(d+l,0):Math.min(l,d),ue=Math.max(C-R,0),P=this.#e,S=[],c=0;for(let v of P){if(c>=ue)break;let M=ArrayBuffer.isView(v)?v.byteLength:v.size;if(R&&M<=R)R-=M,C-=M;else{let N;ArrayBuffer.isView(v)?(N=v.subarray(R,Math.min(M,C)),c+=N.byteLength):(N=v.slice(R,Math.min(M,C)),c+=N.size),C-=M,S.push(N),R=0}}let W=new yr([],{type:String(b).toLowerCase()});return W.#r=ue,W.#e=S,W}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](s){return s&&typeof s=="object"&&typeof s.constructor=="function"&&(typeof s.stream=="function"||typeof s.arrayBuffer=="function")&&/^(Blob|File)$/.test(s[Symbol.toStringTag])}};Object.defineProperties(Vn.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Va=Vn,ge=Va});var Ha,Ga,vt,_r=Ct(()=>{"use strict";Pt();Ha=class extends ge{#e=0;#t="";constructor(s,l,b={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(s,b),b===null&&(b={});let d=b.lastModified===void 0?Date.now():Number(b.lastModified);Number.isNaN(d)||(this.#e=d),this.#t=String(l)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](s){return!!s&&s instanceof ge&&/^(File)$/.test(s[Symbol.toStringTag])}},Ga=Ha,vt=Ga});function bi(f,s=ge){var l=`${Hn()}${Hn()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),b=[],d=`--${l}\r
|
|
4
|
+
Content-Disposition: form-data; name="`;return f.forEach((R,C)=>typeof R=="string"?b.push(d+Sr(C)+`"\r
|
|
5
|
+
\r
|
|
6
|
+
${R.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
7
|
+
`)}\r
|
|
8
|
+
`):b.push(d+Sr(C)+`"; filename="${Sr(R.name,1)}"\r
|
|
9
|
+
Content-Type: ${R.type||"application/octet-stream"}\r
|
|
10
|
+
\r
|
|
11
|
+
`,R,`\r
|
|
12
|
+
`)),b.push(`--${l}--`),new s(b,{type:"multipart/form-data; boundary="+l})}var Ye,xa,Za,Hn,Xa,Gn,Sr,Re,ci,Ja=Ct(()=>{"use strict";Pt();_r();({toStringTag:Ye,iterator:xa,hasInstance:Za}=Symbol),Hn=Math.random,Xa="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Gn=(f,s,l)=>(f+="",/^(Blob|File)$/.test(s&&s[Ye])?[(l=l!==void 0?l+"":s[Ye]=="File"?s.name:"blob",f),s.name!==l||s[Ye]=="blob"?new vt([s],l,s):s]:[f,s+""]),Sr=(f,s)=>(s?f:f.replace(/\r?\n|\r/g,`\r
|
|
13
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Re=(f,s,l)=>{if(s.length<l)throw new TypeError(`Failed to execute '${f}' on 'FormData': ${l} arguments required, but only ${s.length} present.`)},ci=class{#e=[];constructor(...s){if(s.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Ye](){return"FormData"}[xa](){return this.entries()}static[Za](s){return s&&typeof s=="object"&&s[Ye]==="FormData"&&!Xa.some(l=>typeof s[l]!="function")}append(...s){Re("append",arguments,2),this.#e.push(Gn(...s))}delete(s){Re("delete",arguments,1),s+="",this.#e=this.#e.filter(([l])=>l!==s)}get(s){Re("get",arguments,1),s+="";for(var l=this.#e,b=l.length,d=0;d<b;d++)if(l[d][0]===s)return l[d][1];return null}getAll(s,l){return Re("getAll",arguments,1),l=[],s+="",this.#e.forEach(b=>b[0]===s&&l.push(b[1])),l}has(s){return Re("has",arguments,1),s+="",this.#e.some(l=>l[0]===s)}forEach(s,l){Re("forEach",arguments,1);for(var[b,d]of this)s.call(l,d,b,this)}set(...s){Re("set",arguments,2);var l=[],b=!0;s=Gn(...s),this.#e.forEach(d=>{d[0]===s[0]?b&&(b=!l.push(s)):l.push(d)}),b&&l.push(s),this.#e=l}*entries(){yield*this.#e}*keys(){for(var[s]of this)yield s}*values(){for(var[,s]of this)yield s}}});var Zn=mr((pi,xn)=>{"use strict";if(!globalThis.DOMException)try{let{MessageChannel:f}=wt("worker_threads"),s=new f().port1,l=new ArrayBuffer;s.postMessage(l,[l,l])}catch(f){f.constructor.name==="DOMException"&&(globalThis.DOMException=f.constructor)}xn.exports=globalThis.DOMException});import{statSync as Xn,createReadStream as Ka,promises as ei}from"node:fs";import{basename as ti}from"node:path";var Jn,gr,Ri,wi,Ci,Ti,Kn,eo,Et,ri=Ct(()=>{"use strict";Jn=$n(Zn(),1);_r();Pt();({stat:gr}=ei),Ri=(f,s)=>Kn(Xn(f),f,s),wi=(f,s)=>gr(f).then(l=>Kn(l,f,s)),Ci=(f,s)=>gr(f).then(l=>eo(l,f,s)),Ti=(f,s)=>eo(Xn(f),f,s),Kn=(f,s,l="")=>new ge([new Et({path:s,size:f.size,lastModified:f.mtimeMs,start:0})],{type:l}),eo=(f,s,l="")=>new vt([new Et({path:s,size:f.size,lastModified:f.mtimeMs,start:0})],ti(s),{type:l,lastModified:f.mtimeMs}),Et=class f{#e;#t;constructor(s){this.#e=s.path,this.#t=s.start,this.size=s.size,this.lastModified=s.lastModified}slice(s,l){return new f({path:this.#e,lastModified:this.lastModified,size:l-s,start:this.#t+s})}async*stream(){let{mtimeMs:s}=await gr(this.#e);if(s>this.lastModified)throw new Jn.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*Ka(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});export{ge as a,Pt as b,vt as c,ci as d,bi as e,Ja as f,Ri as g,wi as h,Ci as i,Ti as j,ri as k};
|
|
14
|
+
/*! Bundled license information:
|
|
15
|
+
|
|
16
|
+
web-streams-polyfill/dist/ponyfill.es2018.js:
|
|
17
|
+
(**
|
|
18
|
+
* @license
|
|
19
|
+
* web-streams-polyfill v3.3.3
|
|
20
|
+
* Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors.
|
|
21
|
+
* This code is released under the MIT license.
|
|
22
|
+
* SPDX-License-Identifier: MIT
|
|
23
|
+
*)
|
|
24
|
+
|
|
25
|
+
fetch-blob/index.js:
|
|
26
|
+
(*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
27
|
+
|
|
28
|
+
formdata-polyfill/esm.min.js:
|
|
29
|
+
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
30
|
+
|
|
31
|
+
node-domexception/index.js:
|
|
32
|
+
(*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
|
33
|
+
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from "module";
|
|
2
|
+
const require = __createRequire(import.meta.url);
|
|
3
|
+
var Ge=[/iphone/i,/ipad/i,/android/i,/pixel/i,/galaxy/i,/mobile/i,/nexus/i,/blackberry/i,/kindle/i];function Fe(e){if(!e)return"desktop";for(let t of Ge)if(t.test(e))return"mobile";return"desktop"}function Be(e,t){if(!e||typeof e!="string")return e;let i=t instanceof Map?Object.fromEntries(t):t,r=n=>{let s=n.startsWith("$")?n.slice(1):n,a=i[s]??i[`$${s}`];return a!=null?String(a):void 0},o=e;return o=o.replace(/\{\{\s*\$?([^}]+?)\s*\}\}/g,(n,s)=>{let a=r(s.trim());return a!==void 0?a:n}),o=o.replace(/<secret>\$?([\w-]+)<\/secret>/g,(n,s)=>{let a=r(s);return a!==void 0?a:n}),o=o.replace(/\$\{([^}]+)\}/g,(n,s)=>{let a=r(s.trim());return a!==void 0?a:n}),o=o.replace(/\$([a-zA-Z_]\w*)/g,(n,s)=>{let a=r(s);return a!==void 0?a:n}),o}var He=class{version;goal;url;constructor(e,t){this.version=e,this.goal=t.goal,this.url=t.url}generatePrelude(){let e=`// version ${this.version}
|
|
4
|
+
`,t=this.goal,i=this.url;e+=`// Navigate to the specified URL
|
|
5
|
+
const targetUrl = process.env.PLAYWRIGHT_STARTING_URL || '${i}';
|
|
6
|
+
if (targetUrl !== null) {
|
|
7
|
+
await page.goto(targetUrl, { waitUntil: 'domcontentloaded' });
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// wait for page to load and give it a chance to stabilize
|
|
11
|
+
await page.waitForLoadState('load', { timeout: 15000 });
|
|
12
|
+
await page.waitForTimeout(2000);
|
|
13
|
+
|
|
14
|
+
`,e+=` // Goal:
|
|
15
|
+
`;let r=t.trim().split(`
|
|
16
|
+
`);for(let o of r)e+=` // ${o}
|
|
17
|
+
`;return e}generatePostlude(){return""}};var M="android:",T="ios:";function Ne(e){return e?e.startsWith(M)?"android":e.startsWith(T)?"ios":"web":"web"}function Re(e){return e?e.startsWith(M)||e.startsWith(T):!1}function ze(e){return!!e&&e.startsWith(M)}function Ue(e){return!!e&&e.startsWith(T)}function Ve(e){return e.startsWith(M)?e.slice(M.length):e.startsWith(T)?e.slice(T.length):e}function $e(e){return`${M}${e}`}function Xe(e){return`${T}${e}`}function R(e){return e?e.startsWith("http://")||e.startsWith("https://"):!1}function Ye(e){return e?!R(e):!1}function q(e){return e?R(e)?["web"]:["android","ios"]:["web","android","ios"]}function Je(e,t){if(!t)return!0;let i=q(t);return e==="desktop"||e==="mobile"?i.includes("web"):i.includes(e)}function je(e){return e.startsWith(T)?e:`${T}${e}`}function qe(e){let t=e.iosVersion?` (iOS ${e.iosVersion})`:"";return e.deviceType==="simulator"?`${e.name}${t} - Simulator`:`${e.name}${t}`}function Ze(e){return!!(/^[0-9a-fA-F]{40}$/.test(e)||/^[0-9a-fA-F]{8}-[0-9a-fA-F]{16}$/.test(e))}var Z="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",z=112,Q=1920,ee=1080,te=1920,ie=1080-z,re=1280,oe=720,ne=500,ae=500,L="Desktop Chrome",se=(e=>(e.Chromium="chromium",e.Firefox="firefox",e.Webkit="webkit",e))(se||{}),B={"Blackberry PlayBook":{name:"Blackberry PlayBook",userAgent:"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/26.0 Safari/536.2+",screen:{width:600,height:1024},viewport:{width:600,height:1024},deviceScaleFactor:1,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"BlackBerry Z30":{name:"BlackBerry Z30",userAgent:"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/26.0 Mobile Safari/537.10+",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Galaxy Note 3":{name:"Galaxy Note 3",userAgent:"Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.0 Mobile Safari/534.30",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Galaxy Note II":{name:"Galaxy Note II",userAgent:"Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.0 Mobile Safari/534.30",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Galaxy S III":{name:"Galaxy S III",userAgent:"Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/26.0 Mobile Safari/534.30",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Galaxy S5":{name:"Galaxy S5",userAgent:"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy S8":{name:"Galaxy S8",userAgent:"Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:360,height:740},viewport:{width:360,height:740},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy S9+":{name:"Galaxy S9+",userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:320,height:658},viewport:{width:320,height:658},deviceScaleFactor:4.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy S24":{name:"Galaxy S24",userAgent:"Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:360,height:780},viewport:{width:360,height:780},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy A55":{name:"Galaxy A55",userAgent:"Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:480,height:1040},viewport:{width:480,height:1040},deviceScaleFactor:2.25,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy Tab S4":{name:"Galaxy Tab S4",userAgent:"Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:712,height:1138},viewport:{width:712,height:1138},deviceScaleFactor:2.25,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Galaxy Tab S9":{name:"Galaxy Tab S9",userAgent:"Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:640,height:1024},viewport:{width:640,height:1024},deviceScaleFactor:2.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"iPad (gen 5)":{name:"iPad (gen 5)",userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:768,height:1024},viewport:{width:768,height:1024},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPad (gen 6)":{name:"iPad (gen 6)",userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:768,height:1024},viewport:{width:768,height:1024},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPad (gen 7)":{name:"iPad (gen 7)",userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:810,height:1080},viewport:{width:810,height:1080},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPad (gen 11)":{name:"iPad (gen 11)",userAgent:"Mozilla/5.0 (iPad; CPU OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/19E241 Safari/604.1",screen:{width:656,height:944},viewport:{width:656,height:944},deviceScaleFactor:2.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPad Mini":{name:"iPad Mini",userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:768,height:1024},viewport:{width:768,height:1024},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPad Pro 11":{name:"iPad Pro 11",userAgent:"Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:834,height:1194},viewport:{width:834,height:1194},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 6":{name:"iPhone 6",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:375,height:667},viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 6 Plus":{name:"iPhone 6 Plus",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:414,height:736},viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 7":{name:"iPhone 7",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:375,height:667},viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 7 Plus":{name:"iPhone 7 Plus",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:414,height:736},viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 8":{name:"iPhone 8",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:375,height:667},viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 8 Plus":{name:"iPhone 8 Plus",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:414,height:736},viewport:{width:414,height:736},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone SE":{name:"iPhone SE",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.0 Mobile/14E304 Safari/602.1",screen:{width:320,height:568},viewport:{width:320,height:568},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone SE (3rd gen)":{name:"iPhone SE (3rd gen)",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/26.0 Mobile/19E241 Safari/602.1",screen:{width:375,height:667},viewport:{width:375,height:667},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone X":{name:"iPhone X",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/26.0 Mobile/15A372 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:812},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone XR":{name:"iPhone XR",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:414,height:896},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 11":{name:"iPhone 11",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:414,height:715},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 11 Pro":{name:"iPhone 11 Pro",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:635},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 11 Pro Max":{name:"iPhone 11 Pro Max",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:414,height:896},viewport:{width:414,height:715},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 12":{name:"iPhone 12",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 12 Pro":{name:"iPhone 12 Pro",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 12 Pro Max":{name:"iPhone 12 Pro Max",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:428,height:746},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 12 Mini":{name:"iPhone 12 Mini",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:629},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 13":{name:"iPhone 13",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 13 Pro":{name:"iPhone 13 Pro",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 13 Pro Max":{name:"iPhone 13 Pro Max",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:428,height:746},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 13 Mini":{name:"iPhone 13 Mini",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:375,height:812},viewport:{width:375,height:629},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 14":{name:"iPhone 14",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:390,height:844},viewport:{width:390,height:664},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 14 Plus":{name:"iPhone 14 Plus",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:428,height:926},viewport:{width:428,height:746},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 14 Pro":{name:"iPhone 14 Pro",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:393,height:852},viewport:{width:393,height:660},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 14 Pro Max":{name:"iPhone 14 Pro Max",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:430,height:932},viewport:{width:430,height:740},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 15":{name:"iPhone 15",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:393,height:852},viewport:{width:393,height:659},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 15 Plus":{name:"iPhone 15 Plus",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:430,height:932},viewport:{width:430,height:739},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 15 Pro":{name:"iPhone 15 Pro",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:393,height:852},viewport:{width:393,height:659},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"iPhone 15 Pro Max":{name:"iPhone 15 Pro Max",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1",screen:{width:430,height:932},viewport:{width:430,height:739},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Kindle Fire HDX":{name:"Kindle Fire HDX",userAgent:"Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true",screen:{width:800,height:1280},viewport:{width:800,height:1280},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"LG Optimus L70":{name:"LG Optimus L70",userAgent:"Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:384,height:640},viewport:{width:384,height:640},deviceScaleFactor:1.25,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Microsoft Lumia 550":{name:"Microsoft Lumia 550",userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36 Edge/14.14263",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Microsoft Lumia 950":{name:"Microsoft Lumia 950",userAgent:"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36 Edge/14.14263",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:4,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 10":{name:"Nexus 10",userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:800,height:1280},viewport:{width:800,height:1280},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 4":{name:"Nexus 4",userAgent:"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:384,height:640},viewport:{width:384,height:640},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 5":{name:"Nexus 5",userAgent:"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 5X":{name:"Nexus 5X",userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:412,height:732},viewport:{width:412,height:732},deviceScaleFactor:2.625,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 6":{name:"Nexus 6",userAgent:"Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:412,height:732},viewport:{width:412,height:732},deviceScaleFactor:3.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 6P":{name:"Nexus 6P",userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:412,height:732},viewport:{width:412,height:732},deviceScaleFactor:3.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nexus 7":{name:"Nexus 7",userAgent:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:600,height:960},viewport:{width:600,height:960},deviceScaleFactor:2,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nokia Lumia 520":{name:"Nokia Lumia 520",userAgent:"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)",screen:{width:320,height:533},viewport:{width:320,height:533},deviceScaleFactor:1.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Nokia N9":{name:"Nokia N9",userAgent:"Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",screen:{width:480,height:854},viewport:{width:480,height:854},deviceScaleFactor:1,isMobile:!0,hasTouch:!0,defaultBrowserType:"webkit"},"Pixel 2":{name:"Pixel 2",userAgent:"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:411,height:731},viewport:{width:411,height:731},deviceScaleFactor:2.625,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 2 XL":{name:"Pixel 2 XL",userAgent:"Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:411,height:823},viewport:{width:411,height:823},deviceScaleFactor:3.5,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 3":{name:"Pixel 3",userAgent:"Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:393,height:786},viewport:{width:393,height:786},deviceScaleFactor:2.75,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 4":{name:"Pixel 4",userAgent:"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:353,height:745},viewport:{width:353,height:745},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 4a (5G)":{name:"Pixel 4a (5G)",userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:412,height:892},viewport:{width:412,height:765},deviceScaleFactor:2.63,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 5":{name:"Pixel 5",userAgent:"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:393,height:851},viewport:{width:393,height:727},deviceScaleFactor:2.75,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Pixel 7":{name:"Pixel 7",userAgent:"Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:412,height:915},viewport:{width:412,height:839},deviceScaleFactor:2.625,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Moto G4":{name:"Moto G4",userAgent:"Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Mobile Safari/537.36",screen:{width:360,height:640},viewport:{width:360,height:640},deviceScaleFactor:3,isMobile:!0,hasTouch:!0,defaultBrowserType:"chromium"},"Desktop Chrome HiDPI":{name:"Desktop Chrome HiDPI",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium"},"Desktop Edge HiDPI":{name:"Desktop Edge HiDPI",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36 Edg/141.0.7390.16",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium"},"Desktop Firefox HiDPI":{name:"Desktop Firefox HiDPI",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0.1) Gecko/20100101 Firefox/142.0.1",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:!1,hasTouch:!1,defaultBrowserType:"firefox"},"Desktop Safari":{name:"Desktop Safari",userAgent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15",screen:{width:1792,height:1120},viewport:{width:1280,height:720},deviceScaleFactor:2,isMobile:!1,hasTouch:!1,defaultBrowserType:"webkit"},"Desktop Chrome":{name:"Desktop Chrome",displayName:"Playwright Chromium",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:1920,height:1080},viewport:{width:1920,height:1080},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium"},"Desktop Chrome Medium Resolution":{name:"Desktop Chrome Medium Resolution",displayName:"Playwright Chromium",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:1280,height:720},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium"},"Desktop Chrome (Branded)":{name:"Desktop Chrome (Branded)",displayName:"Google Chrome",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:1920,height:1080},viewport:{width:1920,height:1080},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium",channel:"chrome"},"Desktop Chrome Medium Resolution (Branded)":{name:"Desktop Chrome Medium Resolution (Branded)",displayName:"Google Chrome",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36",screen:{width:1280,height:720},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium",channel:"chrome"},"Desktop Edge":{name:"Desktop Edge",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36 Edg/141.0.7390.16",screen:{width:1920,height:1080},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium"},"Desktop Edge (Branded)":{name:"Desktop Edge (Branded)",displayName:"Microsoft Edge",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36 Edg/141.0.7390.16",screen:{width:1920,height:1080},viewport:{width:1920,height:1080},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium",channel:"msedge"},"Desktop Edge Medium Resolution (Branded)":{name:"Desktop Edge Medium Resolution (Branded)",displayName:"Microsoft Edge",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.16 Safari/537.36 Edg/141.0.7390.16",screen:{width:1280,height:720},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"chromium",channel:"msedge"},"Desktop Firefox":{name:"Desktop Firefox",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0.1) Gecko/20100101 Firefox/142.0.1",screen:{width:1920,height:1080},viewport:{width:1280,height:720},deviceScaleFactor:1,isMobile:!1,hasTouch:!1,defaultBrowserType:"firefox"}},le=(e=>(e.Desktop="desktop",e.Mobile="mobile",e))(le||{}),ce={desktop:["Desktop Chrome","Desktop Chrome Medium Resolution","Desktop Chrome (Branded)","Desktop Chrome Medium Resolution (Branded)","Desktop Edge (Branded)","Desktop Edge Medium Resolution (Branded)","Desktop Safari"],mobile:["iPhone 15 Pro Max","iPhone 15 Pro","iPhone 15 Plus","iPhone 15","iPhone 14 Pro Max","iPhone 14 Pro","iPhone 14 Plus","iPhone 14","iPhone 13 Pro Max","iPhone 13 Pro","iPhone 13","iPhone 13 Mini","iPhone 12 Pro Max","iPhone 12 Pro","iPhone 12","iPhone 12 Mini","iPhone 11 Pro Max","iPhone 11 Pro","iPhone 11","iPhone XR","iPhone X","iPhone SE (3rd gen)","iPhone SE","iPhone 8 Plus","iPhone 8","iPhone 7 Plus","iPhone 7","iPhone 6 Plus","iPhone 6","Galaxy S24","Galaxy A55","Galaxy S9+","Galaxy S8","Galaxy S5","Galaxy Note 3","Galaxy Note II","Galaxy S III","Pixel 7","Pixel 5","Pixel 4a (5G)","Pixel 4","Pixel 3","Pixel 2 XL","Pixel 2","Nexus 6P","Nexus 6","Nexus 5X","Nexus 5","Nexus 4","Moto G4","LG Optimus L70","Microsoft Lumia 950","Microsoft Lumia 550","Nokia Lumia 520","Nokia N9","BlackBerry Z30"]},K=(e,t=!1)=>{let i=["chromium"];return t&&i.push("webkit"),ce[e].map(r=>B[r]).filter(r=>r.defaultBrowserType&&i.includes(r.defaultBrowserType))},Qe=()=>Object.keys(B),H=e=>B[e],et={desktop:{label:"Desktop",type:"desktop",devices:K("desktop")},mobile:{label:"Mobile Web",type:"mobile",devices:K("mobile")}},tt={desktop:{label:"Desktop",type:"desktop",devices:K("desktop",!0)},mobile:{label:"Mobile Web",type:"mobile",devices:K("mobile",!0)}},U=(e,t=!1)=>{let i={userAgent:Z,viewport:{width:te,height:ie},isMobile:!1,hasTouch:!1};if(!e||e===L)return i;let r=H(e);if(!r)return i;let{width:o,height:n}=r.viewport,s=Math.max(ne/o,1),a=Math.max(ae/n,1),c=Math.max(s,a),d={width:Math.round(o*c),height:Math.round(n*c)};return{userAgent:r.userAgent,viewport:t?d:r.viewport,isMobile:r.isMobile,hasTouch:r.hasTouch}},it=e=>{let t={width:Q,height:ee};if(!e||e===L)return t;let i=U(e);return i.viewport?{width:i.viewport.width,height:i.viewport.height+z}:t},rt=e=>{let t={width:re,height:oe};if(!e||e===L)return t;let i=U(e);return i.viewport?{width:i.viewport.width,height:i.viewport.height}:t},ot=e=>!e||e===L?void 0:H(e)?.channel,nt=e=>!e||e===L?"chromium":H(e)?.defaultBrowserType??"chromium";var he=(e=>(e.PASSWORD="password",e.OAUTH2="oauth2",e.SSO="sso",e.API="api",e))(he||{}),ue=(e=>(e.SMS="sms",e.EMAIL="email",e.TOTP="totp",e))(ue||{});import{z as l}from"zod";var de=l.enum(["JS_CODE","AI_MODE"]),V=l.object({type:de,expression:l.string()}),pe=l.enum(["DRAFT","STEP","ACTION","IF_ELSE","WHILE_LOOP"]),I=l.object({uid:l.string(),type:pe}),fe=l.object({action_data:l.object({action_name:l.string(),kwargs:l.record(l.any()).optional(),args:l.array(l.any()).optional()}),action_description:l.string().optional(),url:l.string().optional(),xpath:l.string().nullable().optional(),locator:l.string().nullable().optional(),css_selector:l.string().nullable().optional(),unique_selector:l.string().nullable().optional(),element_index:l.number().nullable().optional(),frame_path:l.array(l.any()).optional(),artifacts:l.record(l.any()).optional(),feedback:l.string().optional(),original_browser_use_action:l.any().optional()}).passthrough(),me=I.extend({type:l.literal("DRAFT"),description:l.string()}),ge=I.extend({type:l.literal("ACTION"),description:l.string(),action_entity:fe.optional(),locator:l.string().optional(),use_pure_vision:l.boolean().optional()}),k=l.lazy(()=>l.union([me,ge,I.extend({type:l.literal("STEP"),description:l.string().optional().default(""),statements:l.array(k),reference_id:l.number().optional()}),I.extend({type:l.literal("IF_ELSE"),description:l.string().optional(),condition:V,then:l.array(k),else:l.array(k).optional()}),I.extend({type:l.literal("WHILE_LOOP"),description:l.string().optional(),condition:V,body:l.array(k),timeout_ms:l.number().optional()})])),$=l.object({version:l.string().optional(),goal:l.string(),url:l.string().optional(),final_feedback:l.string().optional(),completed:l.boolean().optional(),success:l.boolean().optional(),statements:l.array(k),teardown:l.array(k).optional(),last_modified_at:l.string().optional()});import{stringify as X,parse as Y,parseAllDocuments as at}from"yaml";import{v4 as y}from"uuid";function Se(e,t){let i={...t?.test_case_id!==void 0?{test_case_id:t.test_case_id}:{},...t?.name?{name:t.name}:{},goal:e.goal,url:e.url,statements:e.statements.map(D)};return e.final_feedback&&(i.final_feedback=e.final_feedback),e.teardown&&e.teardown.length>0&&(i.teardown=e.teardown.map(D)),i}var J={lineWidth:120,defaultKeyType:"PLAIN",defaultStringType:"PLAIN"};function st(e,t){return X(Se(e,t),J)}function lt(e){return e.map(t=>X(t,J)).join(`---
|
|
18
|
+
`)}function D(e){switch(e.type){case"DRAFT":return ct(e);case"ACTION":return ht(e);case"STEP":return ut(e);case"IF_ELSE":return dt(e);case"WHILE_LOOP":return pt(e)}}function ct(e){return e.description}function ht(e){let t=e.action_entity?.action_data?.action_name??e.action_entity?.action?.action_name,i=e.action_entity?.action_data?.kwargs??e.action_entity?.action?.kwargs;if(t==="verify"){let a=i?.statement;if(typeof a=="string"&&!e.action_entity?.locator&&!e.action_entity?.xpath)return{VERIFY:a}}if(t==="go_to_url"){let a=i?.url;if(typeof a=="string"&&!e.action_entity?.locator&&!e.action_entity?.xpath){let c={URL:a};return i?.new_tab===!0&&(c.new_tab=!0),typeof i?.timeout_seconds=="number"&&(c.timeout_seconds=i.timeout_seconds),c}}if(t==="js_code"){let a=i?.code;if(typeof a=="string"&&!e.action_entity?.locator&&!e.action_entity?.xpath)return{JS:a}}if(!e.action_entity)return e.description;let r=e.action_entity.action_data??e.action_entity.action;if(!r)return e.description;let o={action:r.action_name,description:e.description},n=e.locator??e.action_entity.locator;n&&(o.locator=n);let s=e.action_entity.xpath;if(s&&(o.xpath=s),e.use_pure_vision&&(o.use_pure_vision=!0),r.kwargs&&Object.keys(r.kwargs).length>0)for(let[a,c]of Object.entries(r.kwargs))o[a]=c;return r.args&&r.args.length>0&&(o.args=r.args),o}function ut(e){let t={STEP:e.description,statements:e.statements.map(D)};return e.reference_id!==void 0&&(t.reference_id=e.reference_id),t}function dt(e){let t={IF:Me(e.condition),THEN:e.then.map(D)};return e.else&&e.else.length>0&&(t.ELSE=e.else.map(D)),t}function pt(e){let t={WHILE:Me(e.condition),DO:e.body.map(D)};return e.timeout_ms!==void 0&&(t.timeout_ms=e.timeout_ms),t}function Me(e){return e.type==="JS_CODE"?`js:${e.expression}`:e.expression}function ft(e){let t=at(e),i;if(t.length>1||t.length===1&&!Array.isArray(t[0]?.toJSON()))i=t.map((r,o)=>r.errors.length>0?{__parseError:`Document ${o+1}: ${r.errors[0].message}`}:r.toJSON());else{let r;try{r=Y(e)}catch(o){throw new Error(`Invalid YAML: ${o instanceof Error?o.message:String(o)}`)}if(!Array.isArray(r))throw new Error("Expected a YAML array or multi-document YAML (separated by ---)");i=r}return i.map((r,o)=>{try{if(r&&typeof r=="object"&&"__parseError"in r)return{error:r.__parseError};if(!r||typeof r!="object")return{error:`Item ${o+1}: expected an object`};let n=r,s=typeof n.name=="string"&&n.name.trim()||void 0,a=typeof n.goal=="string"?n.goal.trim():"";if(!a)return{error:`Item ${o+1}: missing "goal" field`};if(Array.isArray(n.statements))try{let c=X(n,J),d=C(c);return{name:s,goal:d.goal,testFlow:d}}catch{}return{name:s,goal:a}}catch(n){return{error:`Item ${o+1}: ${n instanceof Error?n.message:String(n)}`}}})}function mt(e){try{let t=Y(e);if(!t||typeof t!="object")return{};let i={};return typeof t.test_case_id=="number"&&Number.isFinite(t.test_case_id)&&(i.test_case_id=t.test_case_id),typeof t.name=="string"&&t.name.trim()&&(i.name=t.name.trim()),i}catch{return{}}}var we=1024*1024;function C(e){if(e.length>we)throw new Error(`YAML input too large (${e.length} bytes, max ${we})`);let t=Y(e);if(!t||typeof t!="object")throw new Error("Invalid YAML: expected an object at root level");let i={version:"1.2.0",goal:t.goal,url:t.url,statements:W(t.statements??[])};t.final_feedback&&(i.final_feedback=t.final_feedback),t.teardown&&Array.isArray(t.teardown)&&(i.teardown=W(t.teardown));let r=$.safeParse(i);if(!r.success)throw new Error(`Invalid TestFlow after YAML conversion: ${JSON.stringify(r.error.errors)}`);return r.data}function W(e){if(!Array.isArray(e))throw new Error("Expected an array of statements");return e.map(gt)}function gt(e){if(typeof e=="string")return wt(e);if(typeof e!="object"||e===null)throw new Error(`Invalid statement: expected string or object, got ${typeof e}`);let t=e;if("IF"in t)return St(t);if("WHILE"in t)return Mt(t);if("STEP"in t)return Tt(t);if("VERIFY"in t){let i=t.VERIFY;return{uid:y(),type:"ACTION",description:`Verify: ${i}`,action_entity:{action_description:`Verify: ${i}`,action_data:{action_name:"verify",kwargs:{statement:typeof i=="string"?i:String(i)}}}}}if("URL"in t){let i=t.URL,r=t.new_tab===!0?!0:void 0,o=typeof t.timeout_seconds=="number"?t.timeout_seconds:void 0,n={url:typeof i=="string"?i:String(i)};return r&&(n.new_tab=!0),o!==void 0&&(n.timeout_seconds=o),{uid:y(),type:"ACTION",description:`Navigate to ${i}`,action_entity:{action_description:`Navigate to ${i}`,action_data:{action_name:"go_to_url",kwargs:n}}}}if("JS"in t){let i=t.JS;return{uid:y(),type:"ACTION",description:"JS code block",action_entity:{action_description:"JS code block",action_data:{action_name:"js_code",kwargs:{code:typeof i=="string"?i:String(i)}}}}}if("action"in t)return bt(t);if("description"in t&&typeof t.description=="string")return{uid:y(),type:"DRAFT",description:t.description};throw new Error(`Cannot infer statement type from object: ${JSON.stringify(t)}`)}function wt(e){return{uid:y(),type:"DRAFT",description:e}}function Te(e){if(typeof e!="string")throw new Error(`Condition must be a string, got ${typeof e}`);return e.startsWith("js:")?{type:"JS_CODE",expression:e.slice(3)}:{type:"AI_MODE",expression:e}}function St(e){let t=Te(e.IF),i=e.THEN;if(!Array.isArray(i))throw new Error("IF_ELSE requires a THEN array");let r={uid:y(),type:"IF_ELSE",condition:t,then:W(i)};return"ELSE"in e&&Array.isArray(e.ELSE)&&(r.else=W(e.ELSE)),r}function Mt(e){let t=Te(e.WHILE),i=e.DO;if(!Array.isArray(i))throw new Error("WHILE_LOOP requires a DO array");let r={uid:y(),type:"WHILE_LOOP",condition:t,body:W(i)};return typeof e.timeout_ms=="number"&&(r.timeout_ms=e.timeout_ms),r}function Tt(e){let t=typeof e.STEP=="string"?e.STEP:"";if(!Array.isArray(e.statements))throw new Error("STEP requires a statements array");let i={uid:y(),type:"STEP",description:t,statements:W(e.statements)};return typeof e.reference_id=="number"&&(i.reference_id=e.reference_id),i}var yt=new Set(["action","description","locator","xpath","use_pure_vision"]);function bt(e){let t=typeof e.action=="string"?e.action:String(e.action),i=typeof e.description=="string"?e.description:"",r=typeof e.locator=="string"?e.locator:void 0,o=typeof e.xpath=="string"?e.xpath:void 0,n=typeof e.use_pure_vision=="boolean"?e.use_pure_vision:void 0,s={};for(let[d,h]of Object.entries(e))yt.has(d)||(s[d]=h);let a={action_description:i,action_data:{action_name:t,kwargs:Object.keys(s).length>0?s:{}}};r&&(a.locator=r),o&&(a.xpath=o);let c={uid:y(),type:"ACTION",description:i,action_entity:a};return n&&(c.use_pure_vision=!0),c}import{parse as Pt,stringify as At}from"yaml";function ye(e,t){let i=[];t.version!=="1.0"&&i.push(`Unsupported patch version: ${t.version}`),(!Array.isArray(t.operations)||t.operations.length===0)&&i.push("Patch must have at least one operation");for(let r=0;r<t.operations.length;r++){let o=t.operations[r],n=`operations[${r}]`;switch(o.reason||i.push(`${n}: missing reason`),o.op){case"remove":{(typeof o.index!="number"||o.index<0||o.index>=e.length)&&i.push(`${n}: index ${o.index} out of bounds (0..${e.length-1})`);break}case"modify":{(typeof o.index!="number"||o.index<0||o.index>=e.length)&&i.push(`${n}: index ${o.index} out of bounds (0..${e.length-1})`),(o.statement===void 0||o.statement===null)&&i.push(`${n}: missing statement`);break}case"insert":{(typeof o.index!="number"||o.index<0||o.index>=e.length)&&i.push(`${n}: index ${o.index} out of bounds (0..${e.length-1})`),o.position!=="before"&&o.position!=="after"&&i.push(`${n}: position must be 'before' or 'after'`),(o.statement===void 0||o.statement===null)&&i.push(`${n}: missing statement`);break}default:i.push(`${n}: unknown operation type "${o.op}"`)}}return{valid:i.length===0,errors:i}}function be(e,t){let i=ye(e,t);if(!i.valid)throw new Error(`Invalid patch: ${i.errors.join("; ")}`);let r=[...e],o=t.operations.map((a,c)=>({...a,originalOrder:c})),n={remove:0,modify:1,insert:2},s=[...o].sort((a,c)=>a.index!==c.index?c.index-a.index:n[a.op]-n[c.op]);for(let a of s)switch(a.op){case"remove":r.splice(a.index,1);break;case"modify":r[a.index]=a.statement;break;case"insert":a.position==="before"?r.splice(a.index,0,a.statement):r.splice(a.index+1,0,a.statement);break}return r}function vt(e,t){let i=Pt(e);if(!i||typeof i!="object")throw new Error("Invalid YAML: expected an object at root level");let r=i.statements;if(!Array.isArray(r))throw new Error('YAML must have a "statements" array');let o=be(r,t);i.statements=o;let n=At(i,{lineWidth:120,defaultKeyType:"PLAIN",defaultStringType:"PLAIN"});return C(n),{modifiedYaml:n,modifiedStatements:o}}var A=e=>{let t=[];switch(e.type){case"STEP":e.statements&&t.push({key:"statements",statements:e.statements});break;case"IF_ELSE":e.then&&t.push({key:"then",statements:e.then}),e.else&&t.push({key:"else",statements:e.else});break;case"WHILE_LOOP":e.body&&t.push({key:"body",statements:e.body});break}return t},w=(e,t,i=void 0,r="root")=>{for(let o=0;o<e.length;o++){let n=e[o],s=n.uid;if(s===t)return{stableId:s,path:[o],statement:n,parent:i,containerKey:r,index:o};let a=A(n);for(let c of a){let d=w(c.statements,t,n,c.key);if(d)return{...d,path:[o,c.key,...d.path]}}}return null},_=(e,t,i)=>{let r=w(e,t);if(!r)return null;let{statement:o,parent:n,containerKey:s,index:a}=r,c=null;switch(o.type){case"DRAFT":case"ACTION":c=E(e,r)||O(e,r);break;case"STEP":if(o.statements&&o.statements.length>0)return o.statements[0];c=E(e,r)||O(e,r);break;case"IF_ELSE":if(i===!0&&o.then&&o.then.length>0)return o.then[0];if(i===!1&&o.else&&o.else.length>0)return o.else[0];c=E(e,r)||O(e,r);break;case"WHILE_LOOP":if(i===!0&&o.body&&o.body.length>0)return o.body[0];c=E(e,r)||O(e,r);break;default:c=E(e,r)||O(e,r);break}if(n&&n.type==="WHILE_LOOP"&&s==="body"){if(!c)return n;let d=w(e,c.uid);if(!d||d.parent!==n)return n}return c},E=(e,t)=>{if(!t.parent)return e[t.index+1]||null;let r=A(t.parent).find(o=>o.key===t.containerKey);return r&&t.index+1<r.statements.length?r.statements[t.index+1]:null},O=(e,t)=>{if(!t.parent)return null;let i=t.parent.uid,r=w(e,i);return r?E(e,r)||O(e,r):null},N=e=>{let t=[],i=r=>{for(let o of r){t.push(o);let n=A(o);for(let s of n)i(s.statements)}};return i(e),t},kt=e=>{switch(e.type){case"DRAFT":case"ACTION":return!0;case"STEP":return!0;case"IF_ELSE":case"WHILE_LOOP":return!0;default:return!1}},_t=(e,t,i)=>{if(!w(e,t))return null;if(i===null){let a=[],c=t;for(;c!==null&&w(e,c);)if(a.push(c),c=_(e,c)?.uid||null,a.length>1e3)return null;return a}if(!w(e,i))return null;if(t===i)return[];let n=[],s=t;for(;s&&s!==i;){let a=w(e,s);if(!a)break;if(n.push(s),a.statement.type==="IF_ELSE"){let c=Et(a.statement,i);c?s=_(e,s,c==="then")?.uid||null:s=_(e,s)?.uid||null}else a.statement.type==="WHILE_LOOP"?Ot(a.statement,i)?s=_(e,s,!0)?.uid||null:s=_(e,s,!1)?.uid||null:s=_(e,s)?.uid||null;if(n.length>1e3)return null}return s===i?n:null},Et=(e,t)=>{if(e.type!=="IF_ELSE")return null;let i=e;return i.then&&w(i.then,t)?"then":i.else&&w(i.else,t)?"else":null},Ot=(e,t)=>{if(e.type!=="WHILE_LOOP")return!1;let i=e;return!!(i.body&&w(i.body,t))};function Pe(e){for(let t of e){if(t.type==="STEP"&&t.reference_id)return!0;let i=A(t);for(let r of i)if(Pe(r.statements))return!0}return!1}function xt(e){let t=new Set;function i(r){for(let o of r){o.type==="STEP"&&o.reference_id&&t.add(o.reference_id);let n=A(o);for(let s of n)i(s.statements)}}return i(e),Array.from(t)}var Lt=e=>e.startsWith("ai_")?!0:["js_code","function","assert","verify","wait_for_download_complete","extract_activation_code","extract_email_content"].includes(e),It=e=>!["js_code","function","assert","ai_assert","verify","ai_extract","ai_wait_until","upload_file","login","extract_activation_code","extract_email_content","ai_step"].includes(e),x=(e,t,i)=>{e.forEach((r,o)=>{let n=`${t}.${o}`;r.type==="DRAFT"?i[n]={description:r.description||"Draft",action_entity:void 0}:r.type==="ACTION"?i[n]={description:r.description||"Action",action_entity:r.action_entity}:r.type==="STEP"&&r.statements?x(r.statements,n,i):r.type==="IF_ELSE"?(i[n]={description:"IF "+(r.condition?.expression||""),action_entity:void 0},r.then&&x(r.then,`${n}.then`,i),r.else&&x(r.else,`${n}.else`,i)):r.type==="WHILE_LOOP"&&(i[n]={description:"WHILE "+(r.condition?.expression||""),action_entity:void 0},r.body&&x(r.body,`${n}.body`,i))})};function Dt(e){if(!e?.statements||!Array.isArray(e.statements))return{};let t={};return x(e.statements,"main",t),e.teardown&&Array.isArray(e.teardown)&&x(e.teardown,"teardown",t),t}function P(e,t,i){let r=e+".",o=t.filter(([h])=>h===e||h.startsWith(r));if(o.length===0)return[];let n=[],s=new Set;for(let[h]of o){let u=h===e?"":h.slice(r.length);if(!u)continue;let m=u.split(".")[0];s.has(m)||s.add(m)}let a=Array.from(s);a.sort((h,u)=>{let m=/^\d+$/.test(h)?parseInt(h,10):-1,S=/^\d+$/.test(u)?parseInt(u,10):-1;return m>=0&&S>=0?m-S:h==="then"&&u==="else"?-1:h==="else"&&u==="then"||h==="body"?1:u==="body"?-1:h.localeCompare(u)});function c(h){return i[h]}function d(h){let u=h.match(/^(IF|WHILE)\s+([\s\S]+)$/);return{type:"JS_CODE",expression:(u?u[2].trim():h)||"true"}}for(let h of a){let u=e?`${e}.${h}`:h,m=c(u),S=m?.description??"",G=u;if(h==="then"){let p=`${e}.then`,b=`${e}.else`,f=P(p,t,i),v=P(b,t,i),F=c(e),Ke=F?d(F.description):{type:"JS_CODE",expression:"true"};n.push({uid:e,type:"IF_ELSE",condition:Ke,then:f,...v.length>0?{else:v}:{}});continue}if(h==="else")continue;if(h==="body"){let p=`${e}.body`,b=P(p,t,i),f=c(e),v=f?d(f.description):{type:"JS_CODE",expression:"true"};n.push({uid:e,type:"WHILE_LOOP",condition:v,body:b});continue}let g=`${e}.${h}`,Ie=t.some(([p])=>p.startsWith(g+".then.")||p===g+".then"),De=t.some(([p])=>p.startsWith(g+".else.")||p===g+".else"),We=t.some(([p])=>p.startsWith(g+".body.")||p===g+".body"),Ce=t.filter(([p])=>{if(!p.startsWith(g+"."))return!1;let f=p.slice(g.length+1).split(".")[0];return/^\d+$/.test(f)&&f!=="then"&&f!=="else"&&f!=="body"});if(Ie||De){let p=g+".then",b=g+".else",f=P(p,t,i),v=P(b,t,i),F=m?d(S):{type:"JS_CODE",expression:"true"};n.push({uid:u,type:"IF_ELSE",condition:F,then:f,...v.length>0?{else:v}:{}})}else if(We){let p=g+".body",b=P(p,t,i),f=m?d(S):{type:"JS_CODE",expression:"true"};n.push({uid:u,type:"WHILE_LOOP",condition:f,body:b})}else if(Ce.length>0){let p=P(g,t,i);n.push({uid:u,type:"STEP",description:S||"Group",statements:p})}else n.push({uid:u,type:"ACTION",description:S||"Action",action_entity:m?.action_entity})}return n}function Wt(e){let t=Object.entries(e),i=r=>{let o=r+".";return t.some(([s])=>s===r||s.startsWith(o))?P(r,t,e):[]};return{before:i("before"),main:i("main"),teardown:i("teardown"),after:i("after")}}var Ct=.5;function Kt(e,t){let i=t?.coverageThreshold??Ct,r=[],o=[],n;try{n=C(e)}catch(u){return{valid:!1,errors:[`Invalid YAML: ${u.message}`],warnings:[],stats:{total:0,withLocator:0,coverage:0}}}n.goal||r.push('Missing required field: "goal"'),n.statements?.length||r.push('Missing required field: "statements"');let s=[...N(n.statements??[]),...n.teardown?N(n.teardown):[]],a=0,c=0;for(let u of s)if(!(u.type!=="DRAFT"&&u.type!=="ACTION"||(u.description?.toLowerCase()??"").startsWith("verify:"))){if(u.type==="ACTION"){let G=u.action_entity?.action_data?.action_name??"";if(G==="verify"||G==="ai_assert"||G==="done")continue}if(a++,u.type==="ACTION"){let S=u;(S.action_entity?.locator||S.action_entity?.xpath)&&c++}}let d=a>0?c/a:0,h=Math.round(d*100);return a>0&&d<i&&o.push(`Low locator coverage: ${c}/${a} statements (${h}%) have locators. Tests with locators replay ~10x faster. Use MCP tools (act, get_locator) to enrich your test flow.`),{valid:r.length===0,errors:r,warnings:o,stats:{total:a,withLocator:c,coverage:h}}}function Gt(){return{version:"1.0",entries:{}}}function Ft(e,t){return{action_entity:e,updated_at:new Date().toISOString(),updated_by:{source:"runner",test_run_id:t}}}function Bt(e,t){let i=t?.entries[e.uid],r=i?.action_entity??e.action_entity;return e.locator&&r?{...r,locator:e.locator}:i?i.action_entity:e.action_entity?e.action_entity:null}function Ht(e,t,i,r){return e.entries[t]={action_entity:i,updated_at:new Date().toISOString(),updated_by:r},e}function Nt(e,t){let i=e??{version:"1.0",entries:{}};for(let[r,o]of t)i.entries[r]=o;return i}function Rt(e){return e?Object.keys(e.entries).length===0:!0}function zt(e){return e?Object.keys(e.entries).length:0}function Ut(e,t){if(!t||Object.keys(t.entries).length===0)return e;let i=j(e.statements,t),r=e.teardown?j(e.teardown,t):void 0;return{...e,statements:i,teardown:r}}function j(e,t){return e.map(i=>Vt(i,t))}function Vt(e,t){if(e.type==="ACTION"){let o=e,n=t.entries[o.uid];return n?{...o,action_entity:n.action_entity}:o}let i=A(e);if(i.length===0)return e;let r={};for(let o of i)r[o.key]=j(o.statements,t);return{...e,...r}}var Ae=(e=>(e.DRAFT="DRAFT",e.STEP="STEP",e.ACTION="ACTION",e.IF_ELSE="IF_ELSE",e.WHILE_LOOP="WHILE_LOOP",e))(Ae||{}),ve=(e=>(e.JS_CODE="JS_CODE",e.AI_MODE="AI_MODE",e))(ve||{}),$t=18e4;var Xt=class ke{data={};sensitive=new Set;get(t){return this.data[t]}set(t,i,r=!1){this.data[t]=i,r?this.sensitive.add(t):this.sensitive.has(t)&&this.sensitive.delete(t)}getAll(){return{...this.data}}isSensitive(t){return this.sensitive.has(t)}getAllSensitiveKeys(){return new Set(this.sensitive)}delete(t){return this.sensitive.delete(t),delete this.data[t]}clear(){this.data={},this.sensitive.clear()}has(t){return t in this.data}get size(){return Object.keys(this.data).length}merge(t){for(let[i,r]of Object.entries(t.getAll()))this.set(i,r,t.isSensitive(i))}toJSON(){return{data:{...this.data},sensitiveKeys:Array.from(this.sensitive)}}static fromJSON(t){let i=new ke;if(t.data){let r=new Set(t.sensitiveKeys||[]);for(let[o,n]of Object.entries(t.data))i.set(o,n,r.has(o))}return i}};var _e="claude-sonnet-4-6",Ee="gemini-2.5-pro",Oe="claude-haiku-4-5",xe="gemini-2.5-pro";function Yt(e){return{copilot:e?.models?.copilot||_e,webagent:e?.models?.webagent||Ee}}function Jt(e){if(e){if(e.WEB_AGENT_MODEL)return e.WEB_AGENT_MODEL;if(e.ANTHROPIC_API_KEY)return Oe;if(e.GOOGLE_API_KEY)return xe}}var Le=(e=>(e.INITIALIZING="initializing",e.READY="ready",e.PROCESSING="processing",e.STOPPING="stopping",e.WAITING_USER="waiting_user",e.COMPLETED="completed",e.FAILED="failed",e))(Le||{});function jt(e){let t=e.trim();if(!t||t.startsWith("List of devices"))return null;let i=t.split(/\s+/);if(i.length<2)return null;let r=i[0],o=i[1],n="usb";return r.startsWith("emulator-")?n="emulator":r.includes(":")&&(n="wifi"),{id:r,state:o,connectionType:n}}function qt(e){return e.startsWith(M)?e:`${M}${e}`}function Zt(e){return e.model?`${e.model} (${e.id})`:e.connectionType==="emulator"?`Android Emulator (${e.id})`:e.id}export{Fe as a,Be as b,He as c,M as d,T as e,Ne as f,Re as g,ze as h,Ue as i,Ve as j,$e as k,Xe as l,R as m,Ye as n,q as o,Je as p,je as q,qe as r,Ze as s,Z as t,z as u,Q as v,ee as w,te as x,ie as y,re as z,oe as A,ne as B,ae as C,L as D,se as E,B as F,le as G,ce as H,K as I,Qe as J,H as K,et as L,tt as M,U as N,it as O,rt as P,ot as Q,nt as R,he as S,ue as T,de as U,V,pe as W,I as X,fe as Y,me as Z,ge as _,k as $,$ as aa,Se as ba,st as ca,lt as da,ft as ea,mt as fa,C as ga,ye as ha,be as ia,vt as ja,A as ka,w as la,_ as ma,E as na,O as oa,N as pa,kt as qa,_t as ra,Pe as sa,xt as ta,Lt as ua,It as va,x as wa,Dt as xa,Wt as ya,Kt as za,Gt as Aa,Ft as Ba,Bt as Ca,Ht as Da,Nt as Ea,Rt as Fa,zt as Ga,Ut as Ha,Ae as Ia,ve as Ja,$t as Ka,Xt as La,_e as Ma,Ee as Na,Oe as Oa,xe as Pa,Yt as Qa,Jt as Ra,Le as Sa,jt as Ta,qt as Ua,Zt as Va};
|